From 9beb069550d77346d82b1cfafc70dcaa009b6b6e Mon Sep 17 00:00:00 2001 From: jiangjunhong <870160034@qq.com> Date: Fri, 25 Apr 2025 17:01:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=B8=80=E6=9D=A1=E5=92=8C=E4=B8=8B?= =?UTF-8?q?=E4=B8=80=E6=9D=A1=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.vite/deps/@form-create_designer.js | 4 +- .../@form-create_element-ui_auto-import.js | 42 +- node_modules/.vite/deps/_metadata.json | 610 +++++------ .../.vite/deps/bpmn-js_lib_Modeler.js | 86 +- node_modules/.vite/deps/bpmn-js_lib_Viewer.js | 4 +- ...-js_lib_features_modeling_util_LaneUtil.js | 4 +- node_modules/.vite/deps/chunk-T4R4535C.js | 985 ------------------ node_modules/.vite/deps/chunk-T4R4535C.js.map | 7 - node_modules/.vite/deps/echarts-wordcloud.js | 20 +- .../.vite/deps/echarts-wordcloud.js.map | 2 +- node_modules/.vite/deps/echarts.js | 164 +-- node_modules/.vite/deps/echarts.js.map | 2 +- node_modules/.vite/deps/echarts_charts.js | 16 +- node_modules/.vite/deps/echarts_components.js | 138 +-- node_modules/.vite/deps/echarts_core.js | 14 +- .../deps/echarts_lib_component_markArea.js | 8 +- .../deps/echarts_lib_component_markLine.js | 10 +- .../deps/echarts_lib_component_markPoint.js | 10 +- node_modules/.vite/deps/echarts_renderers.js | 6 +- node_modules/.vite/deps/element-plus.js | 4 +- node_modules/.vite/deps/element-plus_es.js | 4 +- ...us_es_components_autocomplete_style_css.js | 2 +- ...t-plus_es_components_cascader_style_css.js | 6 +- ...lus_es_components_date-picker_style_css.js | 2 +- ...plus_es_components_pagination_style_css.js | 2 +- ...-plus_es_components_select-v2_style_css.js | 2 +- ...ent-plus_es_components_slider_style_css.js | 2 +- ...ment-plus_es_components_table_style_css.js | 4 +- ...lus_es_components_time-picker_style_css.js | 2 +- ...lus_es_components_time-select_style_css.js | 2 +- ...t-plus_es_components_transfer_style_css.js | 4 +- ...lus_es_components_tree-select_style_css.js | 2 +- node_modules/.vite/deps/markmap-lib.js | 20 +- src/api/crm/circulate/index.ts | 2 + src/api/crm/config/Followlabel/index.ts | 4 + src/api/crm/config/customerlabel/index.ts | 4 + src/api/crm/config/customerlabels.ts | 1 + src/api/crm/follw/index.ts | 25 +- src/store/modules/crm.ts | 112 ++ src/types/auto-components.d.ts | 39 +- .../crm/components/Allocate/AllocateForm.vue | 2 +- src/views/crm/components/Customer/Detail.vue | 196 ++++ .../crm/components/Customer/FollowRecord.vue | 102 ++ src/views/crm/components/Customer/Infor.vue | 148 +++ .../crm/components/Customer/QuickFollow.vue | 256 +++++ .../components/Customer/TransferRecord.vue | 157 +++ .../CustomerDetail/CustomerDetail.vue | 172 --- .../customerBaseInfor/CustomerBaseInfo.vue | 143 --- .../crm/components/Transfer/TransferForm.vue | 2 +- src/views/crm/cule/index.vue | 121 ++- src/views/crm/customer/cule/index.vue | 255 ----- src/views/crm/customer/dep/tables/all.vue | 493 +++++++++ src/views/crm/customer/dep/tables/import.vue | 489 +++++++++ src/views/crm/customer/dep/tables/seven.vue | 492 +++++++++ src/views/crm/customer/dep/tables/today.vue | 493 +++++++++ .../crm/customer/dep/tables/unfollow.vue | 482 +++++++++ src/views/crm/customer/dep/tabs.vue | 55 + .../customer/my/{index.vue => tables/all.vue} | 87 +- src/views/crm/customer/my/tables/import.vue | 412 ++++++++ src/views/crm/customer/my/tables/seven.vue | 417 ++++++++ src/views/crm/customer/my/tables/today.vue | 417 ++++++++ src/views/crm/customer/my/tables/unfollow.vue | 408 ++++++++ src/views/crm/customer/my/tabs.vue | 55 + .../team/{index.vue => tables/all.vue} | 91 +- .../{dep/index.vue => team/tables/import.vue} | 269 +++-- src/views/crm/customer/team/tables/seven.vue | 518 +++++++++ src/views/crm/customer/team/tables/today.vue | 513 +++++++++ .../crm/customer/team/tables/unfollow.vue | 525 ++++++++++ src/views/crm/customer/team/tabs.vue | 54 + .../crm/data/upload/record/UploadForm.vue | 39 +- src/views/crm/data/upload/record/index.vue | 32 +- src/views/crm/follow/index.vue | 32 +- src/views/crm/opensea/customer/allopensea.vue | 79 +- src/views/crm/opensea/customer/myopensea.vue | 83 +- 74 files changed, 7895 insertions(+), 2571 deletions(-) delete mode 100644 node_modules/.vite/deps/chunk-T4R4535C.js delete mode 100644 node_modules/.vite/deps/chunk-T4R4535C.js.map create mode 100644 src/api/crm/config/customerlabels.ts create mode 100644 src/store/modules/crm.ts create mode 100644 src/views/crm/components/Customer/Detail.vue create mode 100644 src/views/crm/components/Customer/FollowRecord.vue create mode 100644 src/views/crm/components/Customer/Infor.vue create mode 100644 src/views/crm/components/Customer/QuickFollow.vue create mode 100644 src/views/crm/components/Customer/TransferRecord.vue delete mode 100644 src/views/crm/components/CustomerDetail/CustomerDetail.vue delete mode 100644 src/views/crm/components/CustomerDetail/customerBaseInfor/CustomerBaseInfo.vue delete mode 100644 src/views/crm/customer/cule/index.vue create mode 100644 src/views/crm/customer/dep/tables/all.vue create mode 100644 src/views/crm/customer/dep/tables/import.vue create mode 100644 src/views/crm/customer/dep/tables/seven.vue create mode 100644 src/views/crm/customer/dep/tables/today.vue create mode 100644 src/views/crm/customer/dep/tables/unfollow.vue create mode 100644 src/views/crm/customer/dep/tabs.vue rename src/views/crm/customer/my/{index.vue => tables/all.vue} (84%) create mode 100644 src/views/crm/customer/my/tables/import.vue create mode 100644 src/views/crm/customer/my/tables/seven.vue create mode 100644 src/views/crm/customer/my/tables/today.vue create mode 100644 src/views/crm/customer/my/tables/unfollow.vue create mode 100644 src/views/crm/customer/my/tabs.vue rename src/views/crm/customer/team/{index.vue => tables/all.vue} (88%) rename src/views/crm/customer/{dep/index.vue => team/tables/import.vue} (79%) create mode 100644 src/views/crm/customer/team/tables/seven.vue create mode 100644 src/views/crm/customer/team/tables/today.vue create mode 100644 src/views/crm/customer/team/tables/unfollow.vue create mode 100644 src/views/crm/customer/team/tabs.vue diff --git a/node_modules/.vite/deps/@form-create_designer.js b/node_modules/.vite/deps/@form-create_designer.js index d6a8067d..066550bd 100644 --- a/node_modules/.vite/deps/@form-create_designer.js +++ b/node_modules/.vite/deps/@form-create_designer.js @@ -3,7 +3,7 @@ import { } from "./chunk-FKOWI4VU.js"; import { ElMessage -} from "./chunk-QM5QNHIO.js"; +} from "./chunk-IRFI6G53.js"; import "./chunk-TQUTZUXW.js"; import "./chunk-GVKQVKU2.js"; import "./chunk-PHKUHJQP.js"; @@ -11,6 +11,7 @@ import "./chunk-LROEKXT5.js"; import "./chunk-O7KFMITO.js"; import "./chunk-YNRHTVZR.js"; import "./chunk-67TUTJCN.js"; +import "./chunk-7BPWZNUD.js"; import "./chunk-ULX5FOVL.js"; import { Fragment, @@ -51,7 +52,6 @@ import { withKeys, withModifiers } from "./chunk-GTWINWNV.js"; -import "./chunk-7BPWZNUD.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/@form-create+designer@3.2.8_vue@3.5.12_typescript@5.3.3_/node_modules/@form-create/designer/dist/index.es.js diff --git a/node_modules/.vite/deps/@form-create_element-ui_auto-import.js b/node_modules/.vite/deps/@form-create_element-ui_auto-import.js index 3fb689ca..7b1ddc6b 100644 --- a/node_modules/.vite/deps/@form-create_element-ui_auto-import.js +++ b/node_modules/.vite/deps/@form-create_element-ui_auto-import.js @@ -1,36 +1,35 @@ import "./chunk-BCFMTI3R.js"; import "./chunk-FBJWDERR.js"; -import "./chunk-4TBAE7E3.js"; -import "./chunk-OX6JP2AA.js"; import "./chunk-5MJQOEES.js"; -import "./chunk-WTG273Z3.js"; import "./chunk-46FTKYZS.js"; +import "./chunk-4TBAE7E3.js"; import "./chunk-C373DD4S.js"; import "./chunk-HZRC7S76.js"; -import "./chunk-DWEZRTLP.js"; -import "./chunk-5CTUXGGF.js"; -import "./chunk-B4L4KVT2.js"; -import "./chunk-MGTDGDA4.js"; +import "./chunk-KARBCTKP.js"; +import "./chunk-OX6JP2AA.js"; import "./chunk-JWIHIIT3.js"; import "./chunk-MC27QSJL.js"; import "./chunk-UUC56VKA.js"; import "./chunk-HGRMPKRI.js"; import "./chunk-NZR6SVVT.js"; +import "./chunk-B4L4KVT2.js"; +import "./chunk-WTG273Z3.js"; +import "./chunk-MGTDGDA4.js"; +import "./chunk-T6DOWK6H.js"; +import "./chunk-ZEGP4DVR.js"; +import "./chunk-FRMPVTTW.js"; +import "./chunk-DWEZRTLP.js"; +import "./chunk-5CTUXGGF.js"; +import "./chunk-MB7KUOZ6.js"; +import "./chunk-5KQYIVGF.js"; +import "./chunk-7EBAVFZW.js"; +import "./chunk-IIHLKWL5.js"; +import "./chunk-JQ2IYF3Y.js"; import "./chunk-THZSTYZP.js"; import "./chunk-DB6OWVVK.js"; -import "./chunk-FRMPVTTW.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; -import "./chunk-JQ2IYF3Y.js"; -import "./chunk-T6DOWK6H.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; -import "./chunk-KARBCTKP.js"; -import "./chunk-ZEGP4DVR.js"; -import "./chunk-IIHLKWL5.js"; -import "./chunk-7EBAVFZW.js"; -import "./chunk-MB7KUOZ6.js"; -import "./chunk-VLWH5T2T.js"; -import "./chunk-5KQYIVGF.js"; import { ElAutocomplete, ElButton, @@ -60,18 +59,19 @@ import { ElTooltip, ElTree, ElUpload -} from "./chunk-QM5QNHIO.js"; +} from "./chunk-IRFI6G53.js"; import "./chunk-TQUTZUXW.js"; import "./chunk-GVKQVKU2.js"; import "./chunk-PHKUHJQP.js"; import "./chunk-LROEKXT5.js"; import "./chunk-O7KFMITO.js"; +import "./chunk-VLWH5T2T.js"; import "./chunk-YNRHTVZR.js"; -import "./chunk-5TRUIT6X.js"; import "./chunk-67TUTJCN.js"; +import "./chunk-7BPWZNUD.js"; +import "./chunk-5TRUIT6X.js"; import "./chunk-ULX5FOVL.js"; import "./chunk-GTWINWNV.js"; -import "./chunk-7BPWZNUD.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/@form-create+element-ui@3.2.14_vue@3.5.12_typescript@5.3.3_/node_modules/@form-create/element-ui/auto-import.js diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json index b942eaec..c8c2a64c 100644 --- a/node_modules/.vite/deps/_metadata.json +++ b/node_modules/.vite/deps/_metadata.json @@ -2,966 +2,978 @@ "hash": "4b143440", "configHash": "a0db7612", "lockfileHash": "17d7b729", - "browserHash": "3fe44fd7", + "browserHash": "694f4c13", "optimized": { "qs": { "src": "../../.pnpm/qs@6.13.1/node_modules/qs/lib/index.js", "file": "qs.js", - "fileHash": "d260c756", + "fileHash": "161af058", "needsInterop": true }, "url": { "src": "../../.pnpm/url@0.11.4/node_modules/url/url.js", "file": "url.js", - "fileHash": "c4c0fb52", + "fileHash": "5d299736", "needsInterop": true }, "vue": { "src": "../../.pnpm/vue@3.5.12_typescript@5.3.3/node_modules/vue/dist/vue.runtime.esm-bundler.js", "file": "vue.js", - "fileHash": "38770138", + "fileHash": "64d80420", "needsInterop": false }, "sass": { "src": "../../.pnpm/sass@1.81.0/node_modules/sass/sass.default.js", "file": "sass.js", - "fileHash": "fbfa141b", + "fileHash": "8a61b996", "needsInterop": false }, "mitt": { "src": "../../.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.mjs", "file": "mitt.js", - "fileHash": "0e9d835b", + "fileHash": "11324a06", "needsInterop": false }, "axios": { "src": "../../.pnpm/axios@1.7.8/node_modules/axios/index.js", "file": "axios.js", - "fileHash": "f86fdcb8", + "fileHash": "1468aeaa", "needsInterop": false }, "pinia": { "src": "../../.pnpm/pinia@2.2.8_typescript@5.3.3_vue@3.5.12_typescript@5.3.3_/node_modules/pinia/dist/pinia.mjs", "file": "pinia.js", - "fileHash": "71ae85d6", + "fileHash": "d2ab6086", "needsInterop": false }, "dayjs": { "src": "../../.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js", "file": "dayjs.js", - "fileHash": "38654faa", + "fileHash": "f0bb3679", "needsInterop": true }, "qrcode": { "src": "../../.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/browser.js", "file": "qrcode.js", - "fileHash": "6d3261a0", + "fileHash": "b14c1109", "needsInterop": true }, "unocss": { "src": "../../.pnpm/unocss@0.58.9_postcss@8.4.49_rollup@4.27.4_vite@5.1.4_@types+node@20.17.9_sass@1.81.0_terser@5.36.0_/node_modules/unocss/dist/index.mjs", "file": "unocss.js", - "fileHash": "2cd1ef38", + "fileHash": "1d808682", "needsInterop": false }, "vue-router": { "src": "../../.pnpm/vue-router@4.4.5_vue@3.5.12_typescript@5.3.3_/node_modules/vue-router/dist/vue-router.mjs", "file": "vue-router.js", - "fileHash": "e27d749b", + "fileHash": "0f6ed5c1", "needsInterop": false }, "vue-types": { "src": "../../.pnpm/vue-types@5.1.3_vue@3.5.12_typescript@5.3.3_/node_modules/vue-types/dist/vue-types.modern.js", "file": "vue-types.js", - "fileHash": "31d532ae", + "fileHash": "e58d6fff", "needsInterop": false }, "vue-i18n": { "src": "../../.pnpm/vue-i18n@9.10.2_vue@3.5.12_typescript@5.3.3_/node_modules/vue-i18n/dist/vue-i18n.cjs.js", "file": "vue-i18n.js", - "fileHash": "9173ddf5", + "fileHash": "19f973fe", "needsInterop": true }, "crypto-js": { "src": "../../.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.js", "file": "crypto-js.js", - "fileHash": "5f9e8234", + "fileHash": "83bf03a7", "needsInterop": true }, "cropperjs": { "src": "../../.pnpm/cropperjs@1.6.2/node_modules/cropperjs/dist/cropper.esm.js", "file": "cropperjs.js", - "fileHash": "3bd7e7d1", + "fileHash": "e2c7d4a4", "needsInterop": false }, "lodash-es": { "src": "../../.pnpm/lodash-es@4.17.21/node_modules/lodash-es/lodash.js", "file": "lodash-es.js", - "fileHash": "72cc7de2", + "fileHash": "6b11e50c", "needsInterop": false }, "nprogress": { "src": "../../.pnpm/nprogress@0.2.0/node_modules/nprogress/nprogress.js", "file": "nprogress.js", - "fileHash": "2d590954", + "fileHash": "4bd140fe", "needsInterop": true }, "web-storage-cache": { "src": "../../.pnpm/web-storage-cache@1.1.1/node_modules/web-storage-cache/dist/web-storage-cache.min.js", "file": "web-storage-cache.js", - "fileHash": "b76f8ba5", + "fileHash": "4e024ed2", "needsInterop": true }, "@iconify/iconify": { "src": "../../.pnpm/@iconify+iconify@3.1.1/node_modules/@iconify/iconify/dist/iconify.mjs", "file": "@iconify_iconify.js", - "fileHash": "e1931585", + "fileHash": "fbe524fb", "needsInterop": false }, "@vueuse/core": { "src": "../../.pnpm/@vueuse+core@10.11.1_vue@3.5.12_typescript@5.3.3_/node_modules/@vueuse/core/index.mjs", "file": "@vueuse_core.js", - "fileHash": "05c12401", + "fileHash": "5b3dff9b", "needsInterop": false }, "@zxcvbn-ts/core": { "src": "../../.pnpm/@zxcvbn-ts+core@3.0.4/node_modules/@zxcvbn-ts/core/dist/index.esm.js", "file": "@zxcvbn-ts_core.js", - "fileHash": "d6e4d03e", + "fileHash": "b9560ff9", "needsInterop": false }, "echarts/core": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/core.js", "file": "echarts_core.js", - "fileHash": "159c5665", + "fileHash": "c4cc69f5", "needsInterop": false }, "echarts/charts": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/charts.js", "file": "echarts_charts.js", - "fileHash": "3d9a50a9", + "fileHash": "5ec90938", "needsInterop": false }, "echarts/components": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/components.js", "file": "echarts_components.js", - "fileHash": "224d9953", + "fileHash": "d33565ad", "needsInterop": false }, "echarts/renderers": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/renderers.js", "file": "echarts_renderers.js", - "fileHash": "6756509a", + "fileHash": "f3591036", "needsInterop": false }, "echarts-wordcloud": { "src": "../../.pnpm/echarts-wordcloud@2.1.0_echarts@5.5.1/node_modules/echarts-wordcloud/index.js", "file": "echarts-wordcloud.js", - "fileHash": "9142a7c4", + "fileHash": "88b290e6", "needsInterop": false }, "@wangeditor/editor": { "src": "../../.pnpm/@wangeditor+editor@5.1.23/node_modules/@wangeditor/editor/dist/index.esm.js", "file": "@wangeditor_editor.js", - "fileHash": "32c182c5", + "fileHash": "f97d8221", "needsInterop": false }, "@wangeditor/editor-for-vue": { "src": "../../.pnpm/@wangeditor+editor-for-vue@5.1.12_@wangeditor+editor@5.1.23_vue@3.5.12_typescript@5.3.3_/node_modules/@wangeditor/editor-for-vue/dist/index.esm.js", "file": "@wangeditor_editor-for-vue.js", - "fileHash": "9c22b2be", + "fileHash": "ffc26125", "needsInterop": false }, "@microsoft/fetch-event-source": { "src": "../../.pnpm/@microsoft+fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/index.js", "file": "@microsoft_fetch-event-source.js", - "fileHash": "916de345", + "fileHash": "20c43582", "needsInterop": false }, "markdown-it": { "src": "../../.pnpm/markdown-it@14.1.0/node_modules/markdown-it/index.mjs", "file": "markdown-it.js", - "fileHash": "c42f7030", + "fileHash": "070dfabb", "needsInterop": false }, "markmap-view": { "src": "../../.pnpm/markmap-view@0.16.0_markmap-common@0.16.0/node_modules/markmap-view/dist/index.js", "file": "markmap-view.js", - "fileHash": "ab22e9b9", + "fileHash": "f25e336e", "needsInterop": false }, "markmap-lib": { "src": "../../.pnpm/markmap-lib@0.16.1_markmap-common@0.16.0/node_modules/markmap-lib/dist/browser/index.mjs", "file": "markmap-lib.js", - "fileHash": "13beb3bd", + "fileHash": "410bb77a", "needsInterop": false }, "markmap-toolbar": { "src": "../../.pnpm/markmap-toolbar@0.17.2_markmap-common@0.16.0/node_modules/markmap-toolbar/dist/index.mjs", "file": "markmap-toolbar.js", - "fileHash": "0c797f35", + "fileHash": "4801ba61", "needsInterop": false }, "highlight.js": { "src": "../../.pnpm/highlight.js@11.10.0/node_modules/highlight.js/es/index.js", "file": "highlight__js.js", - "fileHash": "9e2f74c1", + "fileHash": "2117a254", "needsInterop": false }, "element-plus": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/index.mjs", "file": "element-plus.js", - "fileHash": "966dea9d", + "fileHash": "acba428d", "needsInterop": false }, "element-plus/es": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/index.mjs", "file": "element-plus_es.js", - "fileHash": "b513c6fc", + "fileHash": "14d8c02a", "needsInterop": false }, "element-plus/es/locale/lang/zh-cn": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/locale/lang/zh-cn.mjs", "file": "element-plus_es_locale_lang_zh-cn.js", - "fileHash": "21e65704", + "fileHash": "92a3ec5a", "needsInterop": false }, "element-plus/es/locale/lang/en": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/locale/lang/en.mjs", "file": "element-plus_es_locale_lang_en.js", - "fileHash": "6001b116", + "fileHash": "4d6c266c", "needsInterop": false }, "element-plus/es/components/avatar/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/avatar/style/css.mjs", "file": "element-plus_es_components_avatar_style_css.js", - "fileHash": "8563a091", + "fileHash": "0983a6b2", "needsInterop": false }, "element-plus/es/components/space/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/space/style/css.mjs", "file": "element-plus_es_components_space_style_css.js", - "fileHash": "643f0024", + "fileHash": "1ca89e94", "needsInterop": false }, "element-plus/es/components/backtop/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/backtop/style/css.mjs", "file": "element-plus_es_components_backtop_style_css.js", - "fileHash": "10ae0e0a", + "fileHash": "b8138f94", "needsInterop": false }, "element-plus/es/components/form/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/form/style/css.mjs", "file": "element-plus_es_components_form_style_css.js", - "fileHash": "f12a678e", + "fileHash": "e744c778", "needsInterop": false }, "element-plus/es/components/radio-group/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/radio-group/style/css.mjs", "file": "element-plus_es_components_radio-group_style_css.js", - "fileHash": "d5a0d206", + "fileHash": "d5b6686b", "needsInterop": false }, "element-plus/es/components/radio/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/radio/style/css.mjs", "file": "element-plus_es_components_radio_style_css.js", - "fileHash": "d6025baf", + "fileHash": "2b07cfa2", "needsInterop": false }, "element-plus/es/components/checkbox/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/checkbox/style/css.mjs", "file": "element-plus_es_components_checkbox_style_css.js", - "fileHash": "225749c8", + "fileHash": "b4a7eaf5", "needsInterop": false }, "element-plus/es/components/checkbox-group/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/checkbox-group/style/css.mjs", "file": "element-plus_es_components_checkbox-group_style_css.js", - "fileHash": "df8546c7", + "fileHash": "90db421d", "needsInterop": false }, "element-plus/es/components/switch/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/switch/style/css.mjs", "file": "element-plus_es_components_switch_style_css.js", - "fileHash": "a81bf51c", + "fileHash": "a80f76d3", "needsInterop": false }, "element-plus/es/components/time-picker/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/time-picker/style/css.mjs", "file": "element-plus_es_components_time-picker_style_css.js", - "fileHash": "3e037a47", + "fileHash": "641b172c", "needsInterop": false }, "element-plus/es/components/date-picker/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/date-picker/style/css.mjs", "file": "element-plus_es_components_date-picker_style_css.js", - "fileHash": "aefaaf5b", + "fileHash": "0da48035", "needsInterop": false }, "element-plus/es/components/descriptions/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/descriptions/style/css.mjs", "file": "element-plus_es_components_descriptions_style_css.js", - "fileHash": "d9a0988b", + "fileHash": "a6817077", "needsInterop": false }, "element-plus/es/components/descriptions-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/descriptions-item/style/css.mjs", "file": "element-plus_es_components_descriptions-item_style_css.js", - "fileHash": "3f51d3d1", + "fileHash": "9c1062e8", "needsInterop": false }, "element-plus/es/components/link/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/link/style/css.mjs", "file": "element-plus_es_components_link_style_css.js", - "fileHash": "587352f0", + "fileHash": "97b2dbea", "needsInterop": false }, "element-plus/es/components/tooltip/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tooltip/style/css.mjs", "file": "element-plus_es_components_tooltip_style_css.js", - "fileHash": "c60c33a2", + "fileHash": "40743ff9", "needsInterop": false }, "element-plus/es/components/drawer/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/drawer/style/css.mjs", "file": "element-plus_es_components_drawer_style_css.js", - "fileHash": "b852a345", + "fileHash": "3d3b20ac", "needsInterop": false }, "element-plus/es/components/dialog/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/dialog/style/css.mjs", "file": "element-plus_es_components_dialog_style_css.js", - "fileHash": "d9320f6a", + "fileHash": "a32b83c4", "needsInterop": false }, "element-plus/es/components/checkbox-button/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/checkbox-button/style/css.mjs", "file": "element-plus_es_components_checkbox-button_style_css.js", - "fileHash": "3af03564", + "fileHash": "50e803a6", "needsInterop": false }, "element-plus/es/components/option-group/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/option-group/style/css.mjs", "file": "element-plus_es_components_option-group_style_css.js", - "fileHash": "78bd9d42", + "fileHash": "44a7f626", "needsInterop": false }, "element-plus/es/components/radio-button/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/radio-button/style/css.mjs", "file": "element-plus_es_components_radio-button_style_css.js", - "fileHash": "84bf68d7", + "fileHash": "4c5c56bd", "needsInterop": false }, "element-plus/es/components/cascader/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/cascader/style/css.mjs", "file": "element-plus_es_components_cascader_style_css.js", - "fileHash": "3682cd67", + "fileHash": "01f2a1ec", "needsInterop": false }, "element-plus/es/components/color-picker/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/color-picker/style/css.mjs", "file": "element-plus_es_components_color-picker_style_css.js", - "fileHash": "7124cace", + "fileHash": "1e9e00f9", "needsInterop": false }, "element-plus/es/components/input-number/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/input-number/style/css.mjs", "file": "element-plus_es_components_input-number_style_css.js", - "fileHash": "3dd6ccd2", + "fileHash": "37b4c3e9", "needsInterop": false }, "element-plus/es/components/rate/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/rate/style/css.mjs", "file": "element-plus_es_components_rate_style_css.js", - "fileHash": "ea61c242", + "fileHash": "45fefec1", "needsInterop": false }, "element-plus/es/components/select-v2/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/select-v2/style/css.mjs", "file": "element-plus_es_components_select-v2_style_css.js", - "fileHash": "1965141a", + "fileHash": "321d477a", "needsInterop": false }, "element-plus/es/components/tree-select/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tree-select/style/css.mjs", "file": "element-plus_es_components_tree-select_style_css.js", - "fileHash": "62cc30c5", + "fileHash": "73956df8", "needsInterop": false }, "element-plus/es/components/slider/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/slider/style/css.mjs", "file": "element-plus_es_components_slider_style_css.js", - "fileHash": "103e7192", + "fileHash": "bbf0d3a2", "needsInterop": false }, "element-plus/es/components/time-select/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/time-select/style/css.mjs", "file": "element-plus_es_components_time-select_style_css.js", - "fileHash": "bed2e08f", + "fileHash": "78ba3ece", "needsInterop": false }, "element-plus/es/components/autocomplete/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/autocomplete/style/css.mjs", "file": "element-plus_es_components_autocomplete_style_css.js", - "fileHash": "4e43e5c8", + "fileHash": "fb2dcc81", "needsInterop": false }, "element-plus/es/components/image-viewer/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/image-viewer/style/css.mjs", "file": "element-plus_es_components_image-viewer_style_css.js", - "fileHash": "b65f0917", + "fileHash": "90a2cbc3", "needsInterop": false }, "element-plus/es/components/upload/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/upload/style/css.mjs", "file": "element-plus_es_components_upload_style_css.js", - "fileHash": "20c4e5e7", + "fileHash": "5dcbebfc", "needsInterop": false }, "element-plus/es/components/col/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/col/style/css.mjs", "file": "element-plus_es_components_col_style_css.js", - "fileHash": "4fcf062e", + "fileHash": "419d6cdb", "needsInterop": false }, "element-plus/es/components/form-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/form-item/style/css.mjs", "file": "element-plus_es_components_form-item_style_css.js", - "fileHash": "19354fe5", + "fileHash": "44b4b48d", "needsInterop": false }, "element-plus/es/components/alert/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/alert/style/css.mjs", "file": "element-plus_es_components_alert_style_css.js", - "fileHash": "d63433ca", + "fileHash": "2cf165b3", "needsInterop": false }, "element-plus/es/components/breadcrumb/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/breadcrumb/style/css.mjs", "file": "element-plus_es_components_breadcrumb_style_css.js", - "fileHash": "05ccdd19", + "fileHash": "8162f622", "needsInterop": false }, "element-plus/es/components/select/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/select/style/css.mjs", "file": "element-plus_es_components_select_style_css.js", - "fileHash": "0c33bcc1", + "fileHash": "574c0739", "needsInterop": false }, "element-plus/es/components/input/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/input/style/css.mjs", "file": "element-plus_es_components_input_style_css.js", - "fileHash": "68ee8d38", + "fileHash": "18a2518f", "needsInterop": false }, "element-plus/es/components/breadcrumb-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/breadcrumb-item/style/css.mjs", "file": "element-plus_es_components_breadcrumb-item_style_css.js", - "fileHash": "c4bdf81c", + "fileHash": "fd95d24c", "needsInterop": false }, "element-plus/es/components/tag/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tag/style/css.mjs", "file": "element-plus_es_components_tag_style_css.js", - "fileHash": "71fa3db2", + "fileHash": "8914620a", "needsInterop": false }, "element-plus/es/components/pagination/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/pagination/style/css.mjs", "file": "element-plus_es_components_pagination_style_css.js", - "fileHash": "26f4c928", + "fileHash": "d57bc564", "needsInterop": false }, "element-plus/es/components/table/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/table/style/css.mjs", "file": "element-plus_es_components_table_style_css.js", - "fileHash": "58034308", + "fileHash": "b851775d", "needsInterop": false }, "element-plus/es/components/table-v2/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/table-v2/style/css.mjs", "file": "element-plus_es_components_table-v2_style_css.js", - "fileHash": "eb971374", + "fileHash": "cb00a343", "needsInterop": false }, "element-plus/es/components/table-column/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/table-column/style/css.mjs", "file": "element-plus_es_components_table-column_style_css.js", - "fileHash": "994e2dbd", + "fileHash": "4295fa04", "needsInterop": false }, "element-plus/es/components/card/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/card/style/css.mjs", "file": "element-plus_es_components_card_style_css.js", - "fileHash": "02a565b1", + "fileHash": "0c1c6d0e", "needsInterop": false }, "element-plus/es/components/row/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/row/style/css.mjs", "file": "element-plus_es_components_row_style_css.js", - "fileHash": "f997769c", + "fileHash": "4b09c7d7", "needsInterop": false }, "element-plus/es/components/button/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/button/style/css.mjs", "file": "element-plus_es_components_button_style_css.js", - "fileHash": "6d254cf3", + "fileHash": "bde432aa", "needsInterop": false }, "element-plus/es/components/menu/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/menu/style/css.mjs", "file": "element-plus_es_components_menu_style_css.js", - "fileHash": "1e4473bb", + "fileHash": "8c1d0309", "needsInterop": false }, "element-plus/es/components/sub-menu/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/sub-menu/style/css.mjs", "file": "element-plus_es_components_sub-menu_style_css.js", - "fileHash": "6b67f391", + "fileHash": "713bc630", "needsInterop": false }, "element-plus/es/components/menu-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/menu-item/style/css.mjs", "file": "element-plus_es_components_menu-item_style_css.js", - "fileHash": "e882368c", + "fileHash": "5cd5301e", "needsInterop": false }, "element-plus/es/components/option/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/option/style/css.mjs", "file": "element-plus_es_components_option_style_css.js", - "fileHash": "175bef3b", + "fileHash": "4a5e5ce5", "needsInterop": false }, "element-plus/es/components/dropdown/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/dropdown/style/css.mjs", "file": "element-plus_es_components_dropdown_style_css.js", - "fileHash": "9b47788d", + "fileHash": "550da1dc", "needsInterop": false }, "element-plus/es/components/dropdown-menu/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/dropdown-menu/style/css.mjs", "file": "element-plus_es_components_dropdown-menu_style_css.js", - "fileHash": "2d06fdc0", + "fileHash": "d4979d28", "needsInterop": false }, "element-plus/es/components/dropdown-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/dropdown-item/style/css.mjs", "file": "element-plus_es_components_dropdown-item_style_css.js", - "fileHash": "ee6eae1f", + "fileHash": "dbd354d8", "needsInterop": false }, "element-plus/es/components/skeleton/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/skeleton/style/css.mjs", "file": "element-plus_es_components_skeleton_style_css.js", - "fileHash": "c95ca853", + "fileHash": "ad78e26d", "needsInterop": false }, "element-plus/es/components/tree/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tree/style/css.mjs", "file": "element-plus_es_components_tree_style_css.js", - "fileHash": "e25ebc9d", + "fileHash": "c8191c98", "needsInterop": false }, "element-plus/es/components/badge/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/badge/style/css.mjs", "file": "element-plus_es_components_badge_style_css.js", - "fileHash": "396cbf65", + "fileHash": "e7f4a91a", "needsInterop": false }, "element-plus/es/components/image/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/image/style/css.mjs", "file": "element-plus_es_components_image_style_css.js", - "fileHash": "2c813731", + "fileHash": "6e79245e", "needsInterop": false }, "element-plus/es/components/collapse-transition/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/collapse-transition/style/css.mjs", "file": "element-plus_es_components_collapse-transition_style_css.js", - "fileHash": "c65687cf", + "fileHash": "24ef9e6b", "needsInterop": false }, "element-plus/es/components/timeline/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/timeline/style/css.mjs", "file": "element-plus_es_components_timeline_style_css.js", - "fileHash": "a67ebb8e", + "fileHash": "108ac83d", "needsInterop": false }, "element-plus/es/components/timeline-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/timeline-item/style/css.mjs", "file": "element-plus_es_components_timeline-item_style_css.js", - "fileHash": "92302e28", + "fileHash": "14794cc3", "needsInterop": false }, "element-plus/es/components/collapse/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/collapse/style/css.mjs", "file": "element-plus_es_components_collapse_style_css.js", - "fileHash": "1aec4d8d", + "fileHash": "874db521", "needsInterop": false }, "element-plus/es/components/collapse-item/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/collapse-item/style/css.mjs", "file": "element-plus_es_components_collapse-item_style_css.js", - "fileHash": "8b101f69", + "fileHash": "5303865f", "needsInterop": false }, "element-plus/es/components/button-group/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/button-group/style/css.mjs", "file": "element-plus_es_components_button-group_style_css.js", - "fileHash": "e2318f25", + "fileHash": "8fdd0076", "needsInterop": false }, "element-plus/es/components/text/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/text/style/css.mjs", "file": "element-plus_es_components_text_style_css.js", - "fileHash": "293d05ce", + "fileHash": "24a325f9", "needsInterop": false }, "element-plus/es/components/segmented/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/segmented/style/css.mjs", "file": "element-plus_es_components_segmented_style_css.js", - "fileHash": "ff8405f3", + "fileHash": "7cea1f8e", "needsInterop": false }, "@element-plus/icons-vue": { "src": "../../.pnpm/@element-plus+icons-vue@2.3.1_vue@3.5.12_typescript@5.3.3_/node_modules/@element-plus/icons-vue/dist/index.js", "file": "@element-plus_icons-vue.js", - "fileHash": "cd1128c9", + "fileHash": "aaadf405", "needsInterop": false }, "element-plus/es/components/footer/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/footer/style/css.mjs", "file": "element-plus_es_components_footer_style_css.js", - "fileHash": "1a496ba1", + "fileHash": "144abf18", "needsInterop": false }, "element-plus/es/components/empty/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/empty/style/css.mjs", "file": "element-plus_es_components_empty_style_css.js", - "fileHash": "1af33c67", + "fileHash": "09ad0c7b", "needsInterop": false }, "@form-create/designer": { "src": "../../.pnpm/@form-create+designer@3.2.8_vue@3.5.12_typescript@5.3.3_/node_modules/@form-create/designer/dist/index.es.js", "file": "@form-create_designer.js", - "fileHash": "74fcb601", + "fileHash": "7209d1d5", "needsInterop": false }, "@form-create/element-ui": { "src": "../../.pnpm/@form-create+element-ui@3.2.14_vue@3.5.12_typescript@5.3.3_/node_modules/@form-create/element-ui/dist/form-create.esm.js", "file": "@form-create_element-ui.js", - "fileHash": "f8493c3d", + "fileHash": "8135d1dc", "needsInterop": false }, "@form-create/element-ui/auto-import": { "src": "../../.pnpm/@form-create+element-ui@3.2.14_vue@3.5.12_typescript@5.3.3_/node_modules/@form-create/element-ui/auto-import.js", "file": "@form-create_element-ui_auto-import.js", - "fileHash": "81c4fe55", + "fileHash": "e9d7cb5c", "needsInterop": false }, "@videojs-player/vue": { "src": "../../.pnpm/@videojs-player+vue@1.0.0_@types+video.js@7.3.58_video.js@7.21.6_vue@3.5.12_typescript@5.3.3_/node_modules/@videojs-player/vue/dist/videojs-player.esm.js", "file": "@videojs-player_vue.js", - "fileHash": "d867dc9a", + "fileHash": "5d4a267e", "needsInterop": false }, "benz-amr-recorder": { "src": "../../.pnpm/benz-amr-recorder@1.1.5/node_modules/benz-amr-recorder/BenzAMRRecorder.js", "file": "benz-amr-recorder.js", - "fileHash": "dcc796c4", + "fileHash": "3836bf38", "needsInterop": true }, "bpmn-js-token-simulation": { "src": "../../.pnpm/bpmn-js-token-simulation@0.36.0/node_modules/bpmn-js-token-simulation/lib/index.js", "file": "bpmn-js-token-simulation.js", - "fileHash": "9fe3990c", + "fileHash": "66554caa", "needsInterop": false }, "bpmn-js/lib/features/modeling/util/LaneUtil": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js", "file": "bpmn-js_lib_features_modeling_util_LaneUtil.js", - "fileHash": "66e02d25", + "fileHash": "1f469fbd", "needsInterop": false }, "bpmn-js/lib/features/modeling/util/ModelingUtil": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js", "file": "bpmn-js_lib_features_modeling_util_ModelingUtil.js", - "fileHash": "b83e14bd", + "fileHash": "18932850", "needsInterop": false }, "bpmn-js/lib/features/palette/PaletteProvider": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/features/palette/PaletteProvider.js", "file": "bpmn-js_lib_features_palette_PaletteProvider.js", - "fileHash": "52fce879", + "fileHash": "0de4689d", "needsInterop": false }, "bpmn-js/lib/Modeler": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/Modeler.js", "file": "bpmn-js_lib_Modeler.js", - "fileHash": "b57f1483", + "fileHash": "6843f05f", "needsInterop": false }, "bpmn-js/lib/util/DiUtil": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/util/DiUtil.js", "file": "bpmn-js_lib_util_DiUtil.js", - "fileHash": "cc645513", + "fileHash": "936c1692", "needsInterop": false }, "bpmn-js/lib/util/ModelUtil": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/util/ModelUtil.js", "file": "bpmn-js_lib_util_ModelUtil.js", - "fileHash": "b46e2a8d", + "fileHash": "a81af29d", "needsInterop": false }, "bpmn-js/lib/Viewer": { "src": "../../.pnpm/bpmn-js@17.11.1/node_modules/bpmn-js/lib/Viewer.js", "file": "bpmn-js_lib_Viewer.js", - "fileHash": "234238a6", + "fileHash": "d6c9323e", "needsInterop": false }, "dayjs/plugin/relativeTime": { "src": "../../.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/relativeTime.js", "file": "dayjs_plugin_relativeTime.js", - "fileHash": "3d8a1d94", + "fileHash": "f8218dd4", "needsInterop": true }, "diagram-js/lib/navigation/movecanvas": { "src": "../../.pnpm/diagram-js@12.8.1/node_modules/diagram-js/lib/navigation/movecanvas/index.js", "file": "diagram-js_lib_navigation_movecanvas.js", - "fileHash": "a7da76fd", + "fileHash": "9e5e8c30", "needsInterop": false }, "diagram-js/lib/util/Mouse": { "src": "../../.pnpm/diagram-js@12.8.1/node_modules/diagram-js/lib/util/Mouse.js", "file": "diagram-js_lib_util_Mouse.js", - "fileHash": "866b74eb", + "fileHash": "4a56b58e", "needsInterop": false }, "echarts": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/index.js", "file": "echarts.js", - "fileHash": "fc7c75ac", + "fileHash": "eaa5557e", "needsInterop": false }, "echarts/lib/component/markArea": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/markArea.js", "file": "echarts_lib_component_markArea.js", - "fileHash": "a3b8b3aa", + "fileHash": "177fe1e5", "needsInterop": false }, "echarts/lib/component/markLine": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/markLine.js", "file": "echarts_lib_component_markLine.js", - "fileHash": "3c66ff0e", + "fileHash": "4d0ddd7e", "needsInterop": false }, "echarts/lib/component/markPoint": { "src": "../../.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/markPoint.js", "file": "echarts_lib_component_markPoint.js", - "fileHash": "68c7ff6c", + "fileHash": "32550af8", "needsInterop": false }, "element-plus/es/components/scrollbar/index": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/scrollbar/index.mjs", "file": "element-plus_es_components_scrollbar_index.js", - "fileHash": "8108ac66", + "fileHash": "1a97f837", "needsInterop": false }, "element-plus/es/components/upload/src/upload": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/upload/src/upload.mjs", "file": "element-plus_es_components_upload_src_upload.js", - "fileHash": "b2ba6bed", + "fileHash": "5bf3fbd1", "needsInterop": false }, "highlight.js/lib/languages/java": { "src": "../../.pnpm/highlight.js@11.10.0/node_modules/highlight.js/es/languages/java.js", "file": "highlight__js_lib_languages_java.js", - "fileHash": "62ef0a5c", + "fileHash": "6b728d38", "needsInterop": false }, "highlight.js/lib/languages/javascript": { "src": "../../.pnpm/highlight.js@11.10.0/node_modules/highlight.js/es/languages/javascript.js", "file": "highlight__js_lib_languages_javascript.js", - "fileHash": "1b9a4a6d", + "fileHash": "95279447", "needsInterop": false }, "highlight.js/lib/languages/json": { "src": "../../.pnpm/highlight.js@11.10.0/node_modules/highlight.js/es/languages/json.js", "file": "highlight__js_lib_languages_json.js", - "fileHash": "6886c9a0", + "fileHash": "f5aa4bc6", "needsInterop": false }, "highlight.js/lib/languages/sql": { "src": "../../.pnpm/highlight.js@11.10.0/node_modules/highlight.js/es/languages/sql.js", "file": "highlight__js_lib_languages_sql.js", - "fileHash": "d51e94d5", + "fileHash": "0fe0275c", "needsInterop": false }, "highlight.js/lib/languages/typescript": { "src": "../../.pnpm/highlight.js@11.10.0/node_modules/highlight.js/es/languages/typescript.js", "file": "highlight__js_lib_languages_typescript.js", - "fileHash": "b4227a76", + "fileHash": "c8eaeddb", "needsInterop": false }, "jsencrypt": { "src": "../../.pnpm/jsencrypt@3.3.2/node_modules/jsencrypt/lib/index.js", "file": "jsencrypt.js", - "fileHash": "ad77b9da", + "fileHash": "7cb1e515", "needsInterop": false }, "min-dash": { "src": "../../.pnpm/min-dash@4.2.2/node_modules/min-dash/dist/index.esm.js", "file": "min-dash.js", - "fileHash": "623aab5b", + "fileHash": "453c1d04", "needsInterop": false }, "pinia-plugin-persistedstate": { "src": "../../.pnpm/pinia-plugin-persistedstate@3.2.3_pinia@2.2.8_typescript@5.3.3_vue@3.5.12_typescript@5.3.3__/node_modules/pinia-plugin-persistedstate/dist/index.js", "file": "pinia-plugin-persistedstate.js", - "fileHash": "1cc1a11c", + "fileHash": "81f9e45e", "needsInterop": false }, "sortablejs": { "src": "../../.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.js", "file": "sortablejs.js", - "fileHash": "c7c72b70", + "fileHash": "add5f8ac", "needsInterop": false }, "steady-xml": { "src": "../../.pnpm/steady-xml@0.1.0/node_modules/steady-xml/dist/index.mjs", "file": "steady-xml.js", - "fileHash": "bec0ca10", + "fileHash": "a41730c5", "needsInterop": false }, "vue-dompurify-html": { "src": "../../.pnpm/vue-dompurify-html@4.1.4_vue@3.5.12_typescript@5.3.3_/node_modules/vue-dompurify-html/dist/vue-dompurify-html.mjs", "file": "vue-dompurify-html.js", - "fileHash": "0946223e", + "fileHash": "7d3b7d4f", "needsInterop": false }, "vuedraggable": { "src": "../../.pnpm/vuedraggable@4.1.0_vue@3.5.12_typescript@5.3.3_/node_modules/vuedraggable/dist/vuedraggable.umd.js", "file": "vuedraggable.js", - "fileHash": "40170b0a", + "fileHash": "18ff37c6", "needsInterop": true }, "element-plus/es/components/config-provider/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/config-provider/style/css.mjs", "file": "element-plus_es_components_config-provider_style_css.js", - "fileHash": "090169b4", + "fileHash": "e64c59f4", "needsInterop": false }, "element-plus/es/components/message/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/message/style/css.mjs", "file": "element-plus_es_components_message_style_css.js", - "fileHash": "6dedb6a2", + "fileHash": "fd2ab2b8", "needsInterop": false }, "element-plus/es/components/base/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/base/style/css.mjs", "file": "element-plus_es_components_base_style_css.js", - "fileHash": "06cf3f8b", + "fileHash": "42025965", "needsInterop": false }, "element-plus/es/components/transfer/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/transfer/style/css.mjs", "file": "element-plus_es_components_transfer_style_css.js", - "fileHash": "83648b93", + "fileHash": "9218a0d5", "needsInterop": false }, "element-plus/es/components/aside/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/aside/style/css.mjs", "file": "element-plus_es_components_aside_style_css.js", - "fileHash": "4f0e0905", + "fileHash": "630cb010", "needsInterop": false }, "element-plus/es/components/container/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/container/style/css.mjs", "file": "element-plus_es_components_container_style_css.js", - "fileHash": "1c389b3f", + "fileHash": "4ecd2223", "needsInterop": false }, "element-plus/es/components/divider/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/divider/style/css.mjs", "file": "element-plus_es_components_divider_style_css.js", - "fileHash": "0268d025", + "fileHash": "172cab09", "needsInterop": false }, "element-plus/es/components/header/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/header/style/css.mjs", "file": "element-plus_es_components_header_style_css.js", - "fileHash": "5994422a", + "fileHash": "428f5af9", "needsInterop": false }, "element-plus/es/components/main/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/main/style/css.mjs", "file": "element-plus_es_components_main_style_css.js", - "fileHash": "ef6515aa", + "fileHash": "c1726f41", "needsInterop": false }, "element-plus/es/components/popconfirm/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/popconfirm/style/css.mjs", "file": "element-plus_es_components_popconfirm_style_css.js", - "fileHash": "00fd11ec", + "fileHash": "cbab97ab", "needsInterop": false }, "element-plus/es/components/tab-pane/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tab-pane/style/css.mjs", "file": "element-plus_es_components_tab-pane_style_css.js", - "fileHash": "f13f6b66", + "fileHash": "9ba7502b", "needsInterop": false }, "element-plus/es/components/tabs/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tabs/style/css.mjs", "file": "element-plus_es_components_tabs_style_css.js", - "fileHash": "9baf5611", + "fileHash": "6534f575", "needsInterop": false }, "element-plus/es/components/loading/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/loading/style/css.mjs", "file": "element-plus_es_components_loading_style_css.js", - "fileHash": "7efe0622", + "fileHash": "d74abcd0", "needsInterop": false }, "element-plus/es/components/scrollbar/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/scrollbar/style/css.mjs", "file": "element-plus_es_components_scrollbar_style_css.js", - "fileHash": "c6a21bcf", + "fileHash": "91f6de93", "needsInterop": false }, "element-plus/es/components/message-box/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/message-box/style/css.mjs", "file": "element-plus_es_components_message-box_style_css.js", - "fileHash": "e1ad0ddb", + "fileHash": "04502382", "needsInterop": false }, "element-plus/es/components/notification/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/notification/style/css.mjs", "file": "element-plus_es_components_notification_style_css.js", - "fileHash": "8cb7d25f", + "fileHash": "211d44ac", "needsInterop": false }, "element-plus/es/components/icon/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/icon/style/css.mjs", "file": "element-plus_es_components_icon_style_css.js", - "fileHash": "6752e038", + "fileHash": "5cc84100", "needsInterop": false }, "element-plus/es/components/popover/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/popover/style/css.mjs", "file": "element-plus_es_components_popover_style_css.js", - "fileHash": "2f1ae12a", + "fileHash": "89080d1d", "needsInterop": false }, "element-plus/es/components/steps/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/steps/style/css.mjs", "file": "element-plus_es_components_steps_style_css.js", - "fileHash": "029c4b0d", + "fileHash": "c1dff712", "needsInterop": false }, "element-plus/es/components/step/style/css": { "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/step/style/css.mjs", "file": "element-plus_es_components_step_style_css.js", - "fileHash": "63727543", + "fileHash": "da36046c", + "needsInterop": false + }, + "element-plus/es/components/infinite-scroll/style/css": { + "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/infinite-scroll/style/css.mjs", + "file": "element-plus_es_components_infinite-scroll_style_css.js", + "fileHash": "a2b7dd2f", + "needsInterop": false + }, + "element-plus/es/components/check-tag/style/css": { + "src": "../../.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/check-tag/style/css.mjs", + "file": "element-plus_es_components_check-tag_style_css.js", + "fileHash": "914ec4f0", "needsInterop": false } }, @@ -975,17 +987,23 @@ "chunk-M4AQHOXJ": { "file": "chunk-M4AQHOXJ.js" }, + "chunk-BCFMTI3R": { + "file": "chunk-BCFMTI3R.js" + }, "chunk-FKOWI4VU": { "file": "chunk-FKOWI4VU.js" }, - "chunk-2VL3FEXP": { - "file": "chunk-2VL3FEXP.js" + "chunk-YD4V2JYA": { + "file": "chunk-YD4V2JYA.js" }, - "chunk-NTWXIMGM": { - "file": "chunk-NTWXIMGM.js" + "chunk-KKQ6WPIB": { + "file": "chunk-KKQ6WPIB.js" }, - "chunk-BCFMTI3R": { - "file": "chunk-BCFMTI3R.js" + "chunk-HOG6PRDN": { + "file": "chunk-HOG6PRDN.js" + }, + "chunk-HXHANZ4Q": { + "file": "chunk-HXHANZ4Q.js" }, "chunk-J6RTEKLL": { "file": "chunk-J6RTEKLL.js" @@ -993,71 +1011,56 @@ "chunk-PBO22ZEO": { "file": "chunk-PBO22ZEO.js" }, - "chunk-UEIE3ZOK": { - "file": "chunk-UEIE3ZOK.js" - }, - "chunk-T4R4535C": { - "file": "chunk-T4R4535C.js" - }, - "chunk-KKQ6WPIB": { - "file": "chunk-KKQ6WPIB.js" - }, "chunk-7C6J56BH": { "file": "chunk-7C6J56BH.js" }, "chunk-FNF472WR": { "file": "chunk-FNF472WR.js" }, + "chunk-2VL3FEXP": { + "file": "chunk-2VL3FEXP.js" + }, "chunk-YTJ5ESGD": { "file": "chunk-YTJ5ESGD.js" }, - "chunk-XY3TPINJ": { - "file": "chunk-XY3TPINJ.js" - }, "chunk-P2MOFTPS": { "file": "chunk-P2MOFTPS.js" }, + "chunk-XY3TPINJ": { + "file": "chunk-XY3TPINJ.js" + }, "chunk-FBJWDERR": { "file": "chunk-FBJWDERR.js" }, - "chunk-4TBAE7E3": { - "file": "chunk-4TBAE7E3.js" - }, "chunk-DAIKNY7H": { "file": "chunk-DAIKNY7H.js" }, - "chunk-KYZIX7KK": { - "file": "chunk-KYZIX7KK.js" - }, - "chunk-OX6JP2AA": { - "file": "chunk-OX6JP2AA.js" - }, "chunk-5MJQOEES": { "file": "chunk-5MJQOEES.js" }, - "chunk-WTG273Z3": { - "file": "chunk-WTG273Z3.js" - }, "chunk-46FTKYZS": { "file": "chunk-46FTKYZS.js" }, + "chunk-KYZIX7KK": { + "file": "chunk-KYZIX7KK.js" + }, + "chunk-4TBAE7E3": { + "file": "chunk-4TBAE7E3.js" + }, "chunk-C373DD4S": { "file": "chunk-C373DD4S.js" }, "chunk-HZRC7S76": { "file": "chunk-HZRC7S76.js" }, - "chunk-DWEZRTLP": { - "file": "chunk-DWEZRTLP.js" + "chunk-KARBCTKP": { + "file": "chunk-KARBCTKP.js" }, - "chunk-5CTUXGGF": { - "file": "chunk-5CTUXGGF.js" + "chunk-OX6JP2AA": { + "file": "chunk-OX6JP2AA.js" }, - "chunk-B4L4KVT2": { - "file": "chunk-B4L4KVT2.js" - }, - "chunk-MGTDGDA4": { - "file": "chunk-MGTDGDA4.js" + "chunk-OKMHUHKP": { + "file": "chunk-OKMHUHKP.js" }, "chunk-JWIHIIT3": { "file": "chunk-JWIHIIT3.js" @@ -1071,62 +1074,68 @@ "chunk-HGRMPKRI": { "file": "chunk-HGRMPKRI.js" }, - "chunk-OKMHUHKP": { - "file": "chunk-OKMHUHKP.js" - }, "chunk-NZR6SVVT": { "file": "chunk-NZR6SVVT.js" }, + "chunk-B4L4KVT2": { + "file": "chunk-B4L4KVT2.js" + }, + "chunk-WTG273Z3": { + "file": "chunk-WTG273Z3.js" + }, + "chunk-MGTDGDA4": { + "file": "chunk-MGTDGDA4.js" + }, + "chunk-IE46N2PU": { + "file": "chunk-IE46N2PU.js" + }, + "chunk-T6DOWK6H": { + "file": "chunk-T6DOWK6H.js" + }, + "chunk-ZEGP4DVR": { + "file": "chunk-ZEGP4DVR.js" + }, + "chunk-FRMPVTTW": { + "file": "chunk-FRMPVTTW.js" + }, + "chunk-DWEZRTLP": { + "file": "chunk-DWEZRTLP.js" + }, + "chunk-5CTUXGGF": { + "file": "chunk-5CTUXGGF.js" + }, + "chunk-MB7KUOZ6": { + "file": "chunk-MB7KUOZ6.js" + }, + "chunk-5KQYIVGF": { + "file": "chunk-5KQYIVGF.js" + }, + "chunk-7EBAVFZW": { + "file": "chunk-7EBAVFZW.js" + }, + "chunk-IIHLKWL5": { + "file": "chunk-IIHLKWL5.js" + }, + "chunk-JQ2IYF3Y": { + "file": "chunk-JQ2IYF3Y.js" + }, "chunk-THZSTYZP": { "file": "chunk-THZSTYZP.js" }, "chunk-DB6OWVVK": { "file": "chunk-DB6OWVVK.js" }, - "chunk-FRMPVTTW": { - "file": "chunk-FRMPVTTW.js" + "chunk-HODVN2HK": { + "file": "chunk-HODVN2HK.js" }, "chunk-C47PGQGR": { "file": "chunk-C47PGQGR.js" }, - "chunk-HODVN2HK": { - "file": "chunk-HODVN2HK.js" - }, - "chunk-JQ2IYF3Y": { - "file": "chunk-JQ2IYF3Y.js" - }, - "chunk-T6DOWK6H": { - "file": "chunk-T6DOWK6H.js" - }, "chunk-3N2VGZJ2": { "file": "chunk-3N2VGZJ2.js" }, - "chunk-KARBCTKP": { - "file": "chunk-KARBCTKP.js" - }, - "chunk-ZEGP4DVR": { - "file": "chunk-ZEGP4DVR.js" - }, - "chunk-IIHLKWL5": { - "file": "chunk-IIHLKWL5.js" - }, - "chunk-7EBAVFZW": { - "file": "chunk-7EBAVFZW.js" - }, - "chunk-MB7KUOZ6": { - "file": "chunk-MB7KUOZ6.js" - }, - "chunk-VLWH5T2T": { - "file": "chunk-VLWH5T2T.js" - }, - "chunk-5KQYIVGF": { - "file": "chunk-5KQYIVGF.js" - }, - "chunk-IE46N2PU": { - "file": "chunk-IE46N2PU.js" - }, - "chunk-QM5QNHIO": { - "file": "chunk-QM5QNHIO.js" + "chunk-IRFI6G53": { + "file": "chunk-IRFI6G53.js" }, "chunk-TQUTZUXW": { "file": "chunk-TQUTZUXW.js" @@ -1140,78 +1149,99 @@ "chunk-LROEKXT5": { "file": "chunk-LROEKXT5.js" }, + "chunk-6JA6BRXS": { + "file": "chunk-6JA6BRXS.js" + }, "chunk-O7KFMITO": { "file": "chunk-O7KFMITO.js" }, - "chunk-ND6EB7CF": { - "file": "chunk-ND6EB7CF.js" + "chunk-VLWH5T2T": { + "file": "chunk-VLWH5T2T.js" }, - "chunk-2I4JXH7Q": { - "file": "chunk-2I4JXH7Q.js" + "chunk-AUPWZZDD": { + "file": "chunk-AUPWZZDD.js" }, - "chunk-KJFX5ANN": { - "file": "chunk-KJFX5ANN.js" + "chunk-PRCWTGNB": { + "file": "chunk-PRCWTGNB.js" + }, + "chunk-X72D7ZPW": { + "file": "chunk-X72D7ZPW.js" + }, + "chunk-XNXAGDXI": { + "file": "chunk-XNXAGDXI.js" + }, + "chunk-EM6SBCMK": { + "file": "chunk-EM6SBCMK.js" }, "chunk-QESB5RLU": { "file": "chunk-QESB5RLU.js" }, - "chunk-QK75OLN6": { - "file": "chunk-QK75OLN6.js" - }, "chunk-UGLGEV52": { "file": "chunk-UGLGEV52.js" }, + "chunk-QK75OLN6": { + "file": "chunk-QK75OLN6.js" + }, "chunk-YNRHTVZR": { "file": "chunk-YNRHTVZR.js" }, - "chunk-NMP246CO": { - "file": "chunk-NMP246CO.js" + "chunk-TWPUBDXC": { + "file": "chunk-TWPUBDXC.js" }, - "chunk-P7FEEIEF": { - "file": "chunk-P7FEEIEF.js" + "chunk-WRWLNY4R": { + "file": "chunk-WRWLNY4R.js" }, - "chunk-QQGFJP25": { - "file": "chunk-QQGFJP25.js" - }, - "chunk-D6WD7HPM": { - "file": "chunk-D6WD7HPM.js" - }, - "chunk-FGVL4PGJ": { - "file": "chunk-FGVL4PGJ.js" - }, - "chunk-F5M4HOVH": { - "file": "chunk-F5M4HOVH.js" - }, - "chunk-VW272IHF": { - "file": "chunk-VW272IHF.js" + "chunk-GORRBXQH": { + "file": "chunk-GORRBXQH.js" }, "chunk-QAR3K42R": { "file": "chunk-QAR3K42R.js" }, - "chunk-LEHUY6WA": { - "file": "chunk-LEHUY6WA.js" + "chunk-NWTUODUO": { + "file": "chunk-NWTUODUO.js" }, - "chunk-XNS7XN3L": { - "file": "chunk-XNS7XN3L.js" + "chunk-67TUTJCN": { + "file": "chunk-67TUTJCN.js" }, - "chunk-2TFNBWBF": { - "file": "chunk-2TFNBWBF.js" + "chunk-KNIVXUEF": { + "file": "chunk-KNIVXUEF.js" }, - "chunk-X5CQ556A": { - "file": "chunk-X5CQ556A.js" + "chunk-OBFEZ4QG": { + "file": "chunk-OBFEZ4QG.js" }, - "chunk-NF6IA4AL": { - "file": "chunk-NF6IA4AL.js" + "chunk-M56X7I32": { + "file": "chunk-M56X7I32.js" }, - "chunk-QJLIGECE": { - "file": "chunk-QJLIGECE.js" + "chunk-LMKTAN4E": { + "file": "chunk-LMKTAN4E.js" }, - "chunk-GVYX3QQL": { - "file": "chunk-GVYX3QQL.js" + "chunk-V45EMKQW": { + "file": "chunk-V45EMKQW.js" + }, + "chunk-ZCOAJCG3": { + "file": "chunk-ZCOAJCG3.js" + }, + "chunk-IWFMEAQB": { + "file": "chunk-IWFMEAQB.js" + }, + "chunk-7BPWZNUD": { + "file": "chunk-7BPWZNUD.js" + }, + "chunk-ISH6AKKV": { + "file": "chunk-ISH6AKKV.js" }, "chunk-FFP3QSOD": { "file": "chunk-FFP3QSOD.js" }, + "chunk-5TRUIT6X": { + "file": "chunk-5TRUIT6X.js" + }, + "chunk-ULX5FOVL": { + "file": "chunk-ULX5FOVL.js" + }, + "chunk-GTWINWNV": { + "file": "chunk-GTWINWNV.js" + }, "chunk-UTNX7UL3": { "file": "chunk-UTNX7UL3.js" }, @@ -1221,30 +1251,12 @@ "chunk-IASSU6T5": { "file": "chunk-IASSU6T5.js" }, - "chunk-5TRUIT6X": { - "file": "chunk-5TRUIT6X.js" - }, "chunk-T7HZRRSX": { "file": "chunk-T7HZRRSX.js" }, "chunk-FF6HMLO6": { "file": "chunk-FF6HMLO6.js" }, - "chunk-67TUTJCN": { - "file": "chunk-67TUTJCN.js" - }, - "chunk-ISH6AKKV": { - "file": "chunk-ISH6AKKV.js" - }, - "chunk-ULX5FOVL": { - "file": "chunk-ULX5FOVL.js" - }, - "chunk-GTWINWNV": { - "file": "chunk-GTWINWNV.js" - }, - "chunk-7BPWZNUD": { - "file": "chunk-7BPWZNUD.js" - }, "chunk-GFT2G5UO": { "file": "chunk-GFT2G5UO.js" } diff --git a/node_modules/.vite/deps/bpmn-js_lib_Modeler.js b/node_modules/.vite/deps/bpmn-js_lib_Modeler.js index dd72b7ad..e6dab97c 100644 --- a/node_modules/.vite/deps/bpmn-js_lib_Modeler.js +++ b/node_modules/.vite/deps/bpmn-js_lib_Modeler.js @@ -1,6 +1,19 @@ import { - PaletteProvider -} from "./chunk-2VL3FEXP.js"; + LANE_INDENTATION, + collectLanes, + computeChildrenBBox, + computeLanesResize, + ensureConstraints, + getChildLanes, + getLanesRoot, + getMinResizeBounds, + resizeBounds, + substractTRBL +} from "./chunk-YD4V2JYA.js"; +import { + getParent, + isDirectionHorizontal +} from "./chunk-KKQ6WPIB.js"; import { BaseViewer, CommandInterceptor, @@ -42,7 +55,31 @@ import { transform, translate, translate_default -} from "./chunk-NTWXIMGM.js"; +} from "./chunk-HOG6PRDN.js"; +import { + asBounds, + asTRBL, + eachElement, + filterRedundantWaypoints, + findPathIntersections, + getBBox, + getClosure, + getElementLineIntersection, + getEnclosedElements, + getMid, + getMidPoint, + getOrientation, + getParents, + isConnection, + isLabel, + pointDistance, + pointInRect, + pointsAligned, + pointsOnLine, + roundBounds, + roundPoint, + selfAndAllChildren +} from "./chunk-HXHANZ4Q.js"; import { append, attr as attr2, @@ -68,46 +105,6 @@ import { query, remove } from "./chunk-PBO22ZEO.js"; -import { - LANE_INDENTATION, - collectLanes, - computeChildrenBBox, - computeLanesResize, - ensureConstraints, - getChildLanes, - getLanesRoot, - getMinResizeBounds, - resizeBounds, - substractTRBL -} from "./chunk-UEIE3ZOK.js"; -import { - asBounds, - asTRBL, - eachElement, - filterRedundantWaypoints, - findPathIntersections, - getBBox, - getClosure, - getElementLineIntersection, - getEnclosedElements, - getMid, - getMidPoint, - getOrientation, - getParents, - isConnection, - isLabel, - pointDistance, - pointInRect, - pointsAligned, - pointsOnLine, - roundBounds, - roundPoint, - selfAndAllChildren -} from "./chunk-T4R4535C.js"; -import { - getParent, - isDirectionHorizontal -} from "./chunk-KKQ6WPIB.js"; import { hasCompensateEventDefinition, hasErrorEventDefinition, @@ -124,6 +121,9 @@ import { is, isAny } from "./chunk-FNF472WR.js"; +import { + PaletteProvider +} from "./chunk-2VL3FEXP.js"; import { assign, bind, diff --git a/node_modules/.vite/deps/bpmn-js_lib_Viewer.js b/node_modules/.vite/deps/bpmn-js_lib_Viewer.js index 338b722f..6e091d76 100644 --- a/node_modules/.vite/deps/bpmn-js_lib_Viewer.js +++ b/node_modules/.vite/deps/bpmn-js_lib_Viewer.js @@ -1,9 +1,9 @@ import { Viewer -} from "./chunk-NTWXIMGM.js"; +} from "./chunk-HOG6PRDN.js"; +import "./chunk-HXHANZ4Q.js"; import "./chunk-J6RTEKLL.js"; import "./chunk-PBO22ZEO.js"; -import "./chunk-T4R4535C.js"; import "./chunk-7C6J56BH.js"; import "./chunk-FNF472WR.js"; import "./chunk-YTJ5ESGD.js"; diff --git a/node_modules/.vite/deps/bpmn-js_lib_features_modeling_util_LaneUtil.js b/node_modules/.vite/deps/bpmn-js_lib_features_modeling_util_LaneUtil.js index 4ec5f6d9..65380e98 100644 --- a/node_modules/.vite/deps/bpmn-js_lib_features_modeling_util_LaneUtil.js +++ b/node_modules/.vite/deps/bpmn-js_lib_features_modeling_util_LaneUtil.js @@ -4,9 +4,9 @@ import { computeLanesResize, getChildLanes, getLanesRoot -} from "./chunk-UEIE3ZOK.js"; -import "./chunk-T4R4535C.js"; +} from "./chunk-YD4V2JYA.js"; import "./chunk-KKQ6WPIB.js"; +import "./chunk-HXHANZ4Q.js"; import "./chunk-7C6J56BH.js"; import "./chunk-FNF472WR.js"; import "./chunk-YTJ5ESGD.js"; diff --git a/node_modules/.vite/deps/chunk-T4R4535C.js b/node_modules/.vite/deps/chunk-T4R4535C.js deleted file mode 100644 index a37669bd..00000000 --- a/node_modules/.vite/deps/chunk-T4R4535C.js +++ /dev/null @@ -1,985 +0,0 @@ -import { - assign, - every, - filter, - find, - forEach, - groupBy, - has, - isArray, - isNumber, - isObject, - isUndefined, - sortBy -} from "./chunk-YTJ5ESGD.js"; - -// node_modules/.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/util/Geometry.js -function pointDistance(a, b) { - if (!a || !b) { - return -1; - } - return Math.sqrt( - Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2) - ); -} -function pointsOnLine(p, q, r, accuracy) { - if (typeof accuracy === "undefined") { - accuracy = 5; - } - if (!p || !q || !r) { - return false; - } - var val = (q.x - p.x) * (r.y - p.y) - (q.y - p.y) * (r.x - p.x), dist = pointDistance(p, q); - return Math.abs(val / dist) <= accuracy; -} -var ALIGNED_THRESHOLD = 2; -function pointsAligned(a, b) { - var points = Array.from(arguments).flat(); - const axisMap = { - "x": "v", - "y": "h" - }; - for (const [axis, orientation] of Object.entries(axisMap)) { - if (pointsAlignedOnAxis(axis, points)) { - return orientation; - } - } - return false; -} -function pointsAlignedOnAxis(axis, points) { - const referencePoint = points[0]; - return every(points, function(point) { - return Math.abs(referencePoint[axis] - point[axis]) <= ALIGNED_THRESHOLD; - }); -} -function pointInRect(p, rect, tolerance) { - tolerance = tolerance || 0; - return p.x > rect.x - tolerance && p.y > rect.y - tolerance && p.x < rect.x + rect.width + tolerance && p.y < rect.y + rect.height + tolerance; -} -function getMidPoint(p, q) { - return { - x: Math.round(p.x + (q.x - p.x) / 2), - y: Math.round(p.y + (q.y - p.y) / 2) - }; -} - -// node_modules/.pnpm/path-intersection@3.1.0/node_modules/path-intersection/intersect.js -var p2s = /,?([a-z]),?/gi; -var toFloat = parseFloat; -var math = Math; -var PI = math.PI; -var mmin = math.min; -var mmax = math.max; -var pow = math.pow; -var abs = math.abs; -var pathCommand = /([a-z])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?[\s]*,?[\s]*)+)/ig; -var pathValues = /(-?\d*\.?\d*(?:e[-+]?\d+)?)[\s]*,?[\s]*/ig; -var isArray2 = Array.isArray || function(o) { - return o instanceof Array; -}; -function hasProperty(obj, property) { - return Object.prototype.hasOwnProperty.call(obj, property); -} -function clone(obj) { - if (typeof obj == "function" || Object(obj) !== obj) { - return obj; - } - var res = new obj.constructor(); - for (var key in obj) { - if (hasProperty(obj, key)) { - res[key] = clone(obj[key]); - } - } - return res; -} -function repush(array, item) { - for (var i = 0, ii = array.length; i < ii; i++) - if (array[i] === item) { - return array.push(array.splice(i, 1)[0]); - } -} -function cacher(f) { - function newf() { - var arg = Array.prototype.slice.call(arguments, 0), args = arg.join("␀"), cache = newf.cache = newf.cache || {}, count = newf.count = newf.count || []; - if (hasProperty(cache, args)) { - repush(count, args); - return cache[args]; - } - count.length >= 1e3 && delete cache[count.shift()]; - count.push(args); - cache[args] = f(...arguments); - return cache[args]; - } - return newf; -} -function parsePathString(pathString) { - if (!pathString) { - return null; - } - var pth = paths(pathString); - if (pth.arr) { - return clone(pth.arr); - } - var paramCounts = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 }, data = []; - if (isArray2(pathString) && isArray2(pathString[0])) { - data = clone(pathString); - } - if (!data.length) { - String(pathString).replace(pathCommand, function(a, b, c) { - var params = [], name = b.toLowerCase(); - c.replace(pathValues, function(a2, b2) { - b2 && params.push(+b2); - }); - if (name == "m" && params.length > 2) { - data.push([b, ...params.splice(0, 2)]); - name = "l"; - b = b == "m" ? "l" : "L"; - } - while (params.length >= paramCounts[name]) { - data.push([b, ...params.splice(0, paramCounts[name])]); - if (!paramCounts[name]) { - break; - } - } - }); - } - data.toString = paths.toString; - pth.arr = clone(data); - return data; -} -function paths(ps) { - var p = paths.ps = paths.ps || {}; - if (p[ps]) { - p[ps].sleep = 100; - } else { - p[ps] = { - sleep: 100 - }; - } - setTimeout(function() { - for (var key in p) { - if (hasProperty(p, key) && key != ps) { - p[key].sleep--; - !p[key].sleep && delete p[key]; - } - } - }); - return p[ps]; -} -function rectBBox(x, y, width, height) { - if (arguments.length === 1) { - y = x.y; - width = x.width; - height = x.height; - x = x.x; - } - return { - x, - y, - width, - height, - x2: x + width, - y2: y + height - }; -} -function pathToString() { - return this.join(",").replace(p2s, "$1"); -} -function pathClone(pathArray) { - var res = clone(pathArray); - res.toString = pathToString; - return res; -} -function findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) { - var t1 = 1 - t, t13 = pow(t1, 3), t12 = pow(t1, 2), t2 = t * t, t3 = t2 * t, x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x, y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y; - return { - x: fixError(x), - y: fixError(y) - }; -} -function bezierBBox(points) { - var bbox = curveBBox(...points); - return rectBBox( - bbox.x0, - bbox.y0, - bbox.x1 - bbox.x0, - bbox.y1 - bbox.y0 - ); -} -function isPointInsideBBox(bbox, x, y) { - return x >= bbox.x && x <= bbox.x + bbox.width && y >= bbox.y && y <= bbox.y + bbox.height; -} -function isBBoxIntersect(bbox1, bbox2) { - bbox1 = rectBBox(bbox1); - bbox2 = rectBBox(bbox2); - return isPointInsideBBox(bbox2, bbox1.x, bbox1.y) || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y) || isPointInsideBBox(bbox2, bbox1.x, bbox1.y2) || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2) || isPointInsideBBox(bbox1, bbox2.x, bbox2.y) || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y) || isPointInsideBBox(bbox1, bbox2.x, bbox2.y2) || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2) || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x) && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y); -} -function base3(t, p1, p2, p3, p4) { - var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4, t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3; - return t * t2 - 3 * p1 + 3 * p2; -} -function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) { - if (z == null) { - z = 1; - } - z = z > 1 ? 1 : z < 0 ? 0 : z; - var z2 = z / 2, n = 12, Tvalues = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], Cvalues = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], sum = 0; - for (var i = 0; i < n; i++) { - var ct = z2 * Tvalues[i] + z2, xbase = base3(ct, x1, x2, x3, x4), ybase = base3(ct, y1, y2, y3, y4), comb = xbase * xbase + ybase * ybase; - sum += Cvalues[i] * math.sqrt(comb); - } - return z2 * sum; -} -function intersectLines(x1, y1, x2, y2, x3, y3, x4, y4) { - if (mmax(x1, x2) < mmin(x3, x4) || mmin(x1, x2) > mmax(x3, x4) || mmax(y1, y2) < mmin(y3, y4) || mmin(y1, y2) > mmax(y3, y4)) { - return; - } - var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4), ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4), denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4); - if (!denominator) { - return; - } - var px = fixError(nx / denominator), py = fixError(ny / denominator), px2 = +px.toFixed(2), py2 = +py.toFixed(2); - if (px2 < +mmin(x1, x2).toFixed(2) || px2 > +mmax(x1, x2).toFixed(2) || px2 < +mmin(x3, x4).toFixed(2) || px2 > +mmax(x3, x4).toFixed(2) || py2 < +mmin(y1, y2).toFixed(2) || py2 > +mmax(y1, y2).toFixed(2) || py2 < +mmin(y3, y4).toFixed(2) || py2 > +mmax(y3, y4).toFixed(2)) { - return; - } - return { x: px, y: py }; -} -function fixError(number) { - return Math.round(number * 1e11) / 1e11; -} -function findBezierIntersections(bez1, bez2, justCount) { - var bbox1 = bezierBBox(bez1), bbox2 = bezierBBox(bez2); - if (!isBBoxIntersect(bbox1, bbox2)) { - return justCount ? 0 : []; - } - var l1 = bezlen(...bez1), l2 = bezlen(...bez2), n1 = isLine(bez1) ? 1 : ~~(l1 / 5) || 1, n2 = isLine(bez2) ? 1 : ~~(l2 / 5) || 1, dots1 = [], dots2 = [], xy = {}, res = justCount ? 0 : []; - for (var i = 0; i < n1 + 1; i++) { - var p = findDotsAtSegment(...bez1, i / n1); - dots1.push({ x: p.x, y: p.y, t: i / n1 }); - } - for (i = 0; i < n2 + 1; i++) { - p = findDotsAtSegment(...bez2, i / n2); - dots2.push({ x: p.x, y: p.y, t: i / n2 }); - } - for (i = 0; i < n1; i++) { - for (var j = 0; j < n2; j++) { - var di = dots1[i], di1 = dots1[i + 1], dj = dots2[j], dj1 = dots2[j + 1], ci = abs(di1.x - di.x) < 0.01 ? "y" : "x", cj = abs(dj1.x - dj.x) < 0.01 ? "y" : "x", is = intersectLines(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y), key; - if (is) { - key = is.x.toFixed(9) + "#" + is.y.toFixed(9); - if (xy[key]) { - continue; - } - xy[key] = true; - var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t), t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t); - if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) { - if (justCount) { - res++; - } else { - res.push({ - x: is.x, - y: is.y, - t1, - t2 - }); - } - } - } - } - } - return res; -} -function findPathIntersections(path1, path2, justCount) { - path1 = pathToCurve(path1); - path2 = pathToCurve(path2); - var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2, res = justCount ? 0 : []; - for (var i = 0, ii = path1.length; i < ii; i++) { - var pi = path1[i]; - if (pi[0] == "M") { - x1 = x1m = pi[1]; - y1 = y1m = pi[2]; - } else { - if (pi[0] == "C") { - bez1 = [x1, y1, ...pi.slice(1)]; - x1 = bez1[6]; - y1 = bez1[7]; - } else { - bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m]; - x1 = x1m; - y1 = y1m; - } - for (var j = 0, jj = path2.length; j < jj; j++) { - var pj = path2[j]; - if (pj[0] == "M") { - x2 = x2m = pj[1]; - y2 = y2m = pj[2]; - } else { - if (pj[0] == "C") { - bez2 = [x2, y2, ...pj.slice(1)]; - x2 = bez2[6]; - y2 = bez2[7]; - } else { - bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m]; - x2 = x2m; - y2 = y2m; - } - var intr = findBezierIntersections(bez1, bez2, justCount); - if (justCount) { - res += intr; - } else { - for (var k = 0, kk = intr.length; k < kk; k++) { - intr[k].segment1 = i; - intr[k].segment2 = j; - intr[k].bez1 = bez1; - intr[k].bez2 = bez2; - } - res = res.concat(intr); - } - } - } - } - } - return res; -} -function pathToAbsolute(pathArray) { - var pth = paths(pathArray); - if (pth.abs) { - return pathClone(pth.abs); - } - if (!isArray2(pathArray) || !isArray2(pathArray && pathArray[0])) { - pathArray = parsePathString(pathArray); - } - if (!pathArray || !pathArray.length) { - return [["M", 0, 0]]; - } - var res = [], x = 0, y = 0, mx = 0, my = 0, start = 0, pa0; - if (pathArray[0][0] == "M") { - x = +pathArray[0][1]; - y = +pathArray[0][2]; - mx = x; - my = y; - start++; - res[0] = ["M", x, y]; - } - for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) { - res.push(r = []); - pa = pathArray[i]; - pa0 = pa[0]; - if (pa0 != pa0.toUpperCase()) { - r[0] = pa0.toUpperCase(); - switch (r[0]) { - case "A": - r[1] = pa[1]; - r[2] = pa[2]; - r[3] = pa[3]; - r[4] = pa[4]; - r[5] = pa[5]; - r[6] = +pa[6] + x; - r[7] = +pa[7] + y; - break; - case "V": - r[1] = +pa[1] + y; - break; - case "H": - r[1] = +pa[1] + x; - break; - case "M": - mx = +pa[1] + x; - my = +pa[2] + y; - default: - for (var j = 1, jj = pa.length; j < jj; j++) { - r[j] = +pa[j] + (j % 2 ? x : y); - } - } - } else { - for (var k = 0, kk = pa.length; k < kk; k++) { - r[k] = pa[k]; - } - } - pa0 = pa0.toUpperCase(); - switch (r[0]) { - case "Z": - x = +mx; - y = +my; - break; - case "H": - x = r[1]; - break; - case "V": - y = r[1]; - break; - case "M": - mx = r[r.length - 2]; - my = r[r.length - 1]; - default: - x = r[r.length - 2]; - y = r[r.length - 1]; - } - } - res.toString = pathToString; - pth.abs = pathClone(res); - return res; -} -function isLine(bez) { - return bez[0] === bez[2] && bez[1] === bez[3] && bez[4] === bez[6] && bez[5] === bez[7]; -} -function lineToCurve(x1, y1, x2, y2) { - return [ - x1, - y1, - x2, - y2, - x2, - y2 - ]; -} -function qubicToCurve(x1, y1, ax, ay, x2, y2) { - var _13 = 1 / 3, _23 = 2 / 3; - return [ - _13 * x1 + _23 * ax, - _13 * y1 + _23 * ay, - _13 * x2 + _23 * ax, - _13 * y2 + _23 * ay, - x2, - y2 - ]; -} -function arcToCurve(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) { - var _120 = PI * 120 / 180, rad = PI / 180 * (+angle || 0), res = [], xy, rotate = cacher(function(x3, y3, rad2) { - var X = x3 * math.cos(rad2) - y3 * math.sin(rad2), Y = x3 * math.sin(rad2) + y3 * math.cos(rad2); - return { x: X, y: Y }; - }); - if (!recursive) { - xy = rotate(x1, y1, -rad); - x1 = xy.x; - y1 = xy.y; - xy = rotate(x2, y2, -rad); - x2 = xy.x; - y2 = xy.y; - var x = (x1 - x2) / 2, y = (y1 - y2) / 2; - var h = x * x / (rx * rx) + y * y / (ry * ry); - if (h > 1) { - h = math.sqrt(h); - rx = h * rx; - ry = h * ry; - } - var rx2 = rx * rx, ry2 = ry * ry, k = (large_arc_flag == sweep_flag ? -1 : 1) * math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))), cx = k * rx * y / ry + (x1 + x2) / 2, cy = k * -ry * x / rx + (y1 + y2) / 2, f1 = math.asin(((y1 - cy) / ry).toFixed(9)), f2 = math.asin(((y2 - cy) / ry).toFixed(9)); - f1 = x1 < cx ? PI - f1 : f1; - f2 = x2 < cx ? PI - f2 : f2; - f1 < 0 && (f1 = PI * 2 + f1); - f2 < 0 && (f2 = PI * 2 + f2); - if (sweep_flag && f1 > f2) { - f1 = f1 - PI * 2; - } - if (!sweep_flag && f2 > f1) { - f2 = f2 - PI * 2; - } - } else { - f1 = recursive[0]; - f2 = recursive[1]; - cx = recursive[2]; - cy = recursive[3]; - } - var df = f2 - f1; - if (abs(df) > _120) { - var f2old = f2, x2old = x2, y2old = y2; - f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1); - x2 = cx + rx * math.cos(f2); - y2 = cy + ry * math.sin(f2); - res = arcToCurve(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]); - } - df = f2 - f1; - var c1 = math.cos(f1), s1 = math.sin(f1), c2 = math.cos(f2), s2 = math.sin(f2), t = math.tan(df / 4), hx = 4 / 3 * rx * t, hy = 4 / 3 * ry * t, m1 = [x1, y1], m2 = [x1 + hx * s1, y1 - hy * c1], m3 = [x2 + hx * s2, y2 - hy * c2], m4 = [x2, y2]; - m2[0] = 2 * m1[0] - m2[0]; - m2[1] = 2 * m1[1] - m2[1]; - if (recursive) { - return [m2, m3, m4].concat(res); - } else { - res = [m2, m3, m4].concat(res).join().split(","); - var newres = []; - for (var i = 0, ii = res.length; i < ii; i++) { - newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x; - } - return newres; - } -} -function curveBBox(x0, y0, x1, y1, x2, y2, x3, y3) { - var tvalues = [], bounds = [[], []], a, b, c, t, t1, t2, b2ac, sqrtb2ac; - for (var i = 0; i < 2; ++i) { - if (i == 0) { - b = 6 * x0 - 12 * x1 + 6 * x2; - a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; - c = 3 * x1 - 3 * x0; - } else { - b = 6 * y0 - 12 * y1 + 6 * y2; - a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; - c = 3 * y1 - 3 * y0; - } - if (abs(a) < 1e-12) { - if (abs(b) < 1e-12) { - continue; - } - t = -c / b; - if (0 < t && t < 1) { - tvalues.push(t); - } - continue; - } - b2ac = b * b - 4 * c * a; - sqrtb2ac = math.sqrt(b2ac); - if (b2ac < 0) { - continue; - } - t1 = (-b + sqrtb2ac) / (2 * a); - if (0 < t1 && t1 < 1) { - tvalues.push(t1); - } - t2 = (-b - sqrtb2ac) / (2 * a); - if (0 < t2 && t2 < 1) { - tvalues.push(t2); - } - } - var j = tvalues.length, jlen = j, mt; - while (j--) { - t = tvalues[j]; - mt = 1 - t; - bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; - bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; - } - bounds[0][jlen] = x0; - bounds[1][jlen] = y0; - bounds[0][jlen + 1] = x3; - bounds[1][jlen + 1] = y3; - bounds[0].length = bounds[1].length = jlen + 2; - return { - x0: mmin(...bounds[0]), - y0: mmin(...bounds[1]), - x1: mmax(...bounds[0]), - y1: mmax(...bounds[1]) - }; -} -function pathToCurve(path) { - var pth = paths(path); - if (pth.curve) { - return pathClone(pth.curve); - } - var curvedPath = pathToAbsolute(path), attrs = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, processPath = function(path2, d, pathCommand3) { - var nx, ny; - if (!path2) { - return ["C", d.x, d.y, d.x, d.y, d.x, d.y]; - } - !(path2[0] in { T: 1, Q: 1 }) && (d.qx = d.qy = null); - switch (path2[0]) { - case "M": - d.X = path2[1]; - d.Y = path2[2]; - break; - case "A": - path2 = ["C", ...arcToCurve(d.x, d.y, ...path2.slice(1))]; - break; - case "S": - if (pathCommand3 == "C" || pathCommand3 == "S") { - nx = d.x * 2 - d.bx; - ny = d.y * 2 - d.by; - } else { - nx = d.x; - ny = d.y; - } - path2 = ["C", nx, ny, ...path2.slice(1)]; - break; - case "T": - if (pathCommand3 == "Q" || pathCommand3 == "T") { - d.qx = d.x * 2 - d.qx; - d.qy = d.y * 2 - d.qy; - } else { - d.qx = d.x; - d.qy = d.y; - } - path2 = ["C", ...qubicToCurve(d.x, d.y, d.qx, d.qy, path2[1], path2[2])]; - break; - case "Q": - d.qx = path2[1]; - d.qy = path2[2]; - path2 = ["C", ...qubicToCurve(d.x, d.y, path2[1], path2[2], path2[3], path2[4])]; - break; - case "L": - path2 = ["C", ...lineToCurve(d.x, d.y, path2[1], path2[2])]; - break; - case "H": - path2 = ["C", ...lineToCurve(d.x, d.y, path2[1], d.y)]; - break; - case "V": - path2 = ["C", ...lineToCurve(d.x, d.y, d.x, path2[1])]; - break; - case "Z": - path2 = ["C", ...lineToCurve(d.x, d.y, d.X, d.Y)]; - break; - } - return path2; - }, fixArc = function(pp, i2) { - if (pp[i2].length > 7) { - pp[i2].shift(); - var pi = pp[i2]; - while (pi.length) { - pathCommands[i2] = "A"; - pp.splice(i2++, 0, ["C", ...pi.splice(0, 6)]); - } - pp.splice(i2, 1); - ii = curvedPath.length; - } - }, pathCommands = [], pfirst = "", pathCommand2 = ""; - for (var i = 0, ii = curvedPath.length; i < ii; i++) { - curvedPath[i] && (pfirst = curvedPath[i][0]); - if (pfirst != "C") { - pathCommands[i] = pfirst; - i && (pathCommand2 = pathCommands[i - 1]); - } - curvedPath[i] = processPath(curvedPath[i], attrs, pathCommand2); - if (pathCommands[i] != "A" && pfirst == "C") - pathCommands[i] = "C"; - fixArc(curvedPath, i); - var seg = curvedPath[i], seglen = seg.length; - attrs.x = seg[seglen - 2]; - attrs.y = seg[seglen - 1]; - attrs.bx = toFloat(seg[seglen - 4]) || attrs.x; - attrs.by = toFloat(seg[seglen - 3]) || attrs.y; - } - pth.curve = pathClone(curvedPath); - return curvedPath; -} - -// node_modules/.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/util/ModelUtil.js -function isConnection(value) { - return isObject(value) && has(value, "waypoints"); -} -function isLabel(value) { - return isObject(value) && has(value, "labelTarget"); -} - -// node_modules/.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/layout/LayoutUtil.js -function roundBounds(bounds) { - return { - x: Math.round(bounds.x), - y: Math.round(bounds.y), - width: Math.round(bounds.width), - height: Math.round(bounds.height) - }; -} -function roundPoint(point) { - return { - x: Math.round(point.x), - y: Math.round(point.y) - }; -} -function asTRBL(bounds) { - return { - top: bounds.y, - right: bounds.x + (bounds.width || 0), - bottom: bounds.y + (bounds.height || 0), - left: bounds.x - }; -} -function asBounds(trbl) { - return { - x: trbl.left, - y: trbl.top, - width: trbl.right - trbl.left, - height: trbl.bottom - trbl.top - }; -} -function getBoundsMid(bounds) { - return roundPoint({ - x: bounds.x + (bounds.width || 0) / 2, - y: bounds.y + (bounds.height || 0) / 2 - }); -} -function getConnectionMid(connection) { - var waypoints = connection.waypoints; - var parts = waypoints.reduce(function(parts2, point, index) { - var lastPoint = waypoints[index - 1]; - if (lastPoint) { - var lastPart = parts2[parts2.length - 1]; - var startLength = lastPart && lastPart.endLength || 0; - var length = distance(lastPoint, point); - parts2.push({ - start: lastPoint, - end: point, - startLength, - endLength: startLength + length, - length - }); - } - return parts2; - }, []); - var totalLength = parts.reduce(function(length, part) { - return length + part.length; - }, 0); - var midLength = totalLength / 2; - var i = 0; - var midSegment = parts[i]; - while (midSegment.endLength < midLength) { - midSegment = parts[++i]; - } - var segmentProgress = (midLength - midSegment.startLength) / midSegment.length; - var midPoint = { - x: midSegment.start.x + (midSegment.end.x - midSegment.start.x) * segmentProgress, - y: midSegment.start.y + (midSegment.end.y - midSegment.start.y) * segmentProgress - }; - return midPoint; -} -function getMid(element) { - if (isConnection(element)) { - return getConnectionMid(element); - } - return getBoundsMid(element); -} -function getOrientation(rect, reference, padding) { - padding = padding || 0; - if (!isObject(padding)) { - padding = { x: padding, y: padding }; - } - var rectOrientation = asTRBL(rect), referenceOrientation = asTRBL(reference); - var top = rectOrientation.bottom + padding.y <= referenceOrientation.top, right = rectOrientation.left - padding.x >= referenceOrientation.right, bottom = rectOrientation.top - padding.y >= referenceOrientation.bottom, left = rectOrientation.right + padding.x <= referenceOrientation.left; - var vertical = top ? "top" : bottom ? "bottom" : null, horizontal = left ? "left" : right ? "right" : null; - if (horizontal && vertical) { - return vertical + "-" + horizontal; - } else { - return horizontal || vertical || "intersect"; - } -} -function getElementLineIntersection(elementPath, linePath, cropStart) { - var intersections = getIntersections(elementPath, linePath); - if (intersections.length === 1) { - return roundPoint(intersections[0]); - } else if (intersections.length === 2 && pointDistance(intersections[0], intersections[1]) < 1) { - return roundPoint(intersections[0]); - } else if (intersections.length > 1) { - intersections = sortBy(intersections, function(i) { - var distance2 = Math.floor(i.t2 * 100) || 1; - distance2 = 100 - distance2; - distance2 = (distance2 < 10 ? "0" : "") + distance2; - return i.segment2 + "#" + distance2; - }); - return roundPoint(intersections[cropStart ? 0 : intersections.length - 1]); - } - return null; -} -function getIntersections(a, b) { - return findPathIntersections(a, b); -} -function filterRedundantWaypoints(waypoints) { - waypoints = waypoints.slice(); - var idx = 0, point, previousPoint, nextPoint; - while (waypoints[idx]) { - point = waypoints[idx]; - previousPoint = waypoints[idx - 1]; - nextPoint = waypoints[idx + 1]; - if (pointDistance(point, nextPoint) === 0 || pointsOnLine(previousPoint, nextPoint, point)) { - waypoints.splice(idx, 1); - } else { - idx++; - } - } - return waypoints; -} -function distance(a, b) { - return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2)); -} - -// node_modules/.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/util/Elements.js -function getParents(elements) { - return filter(elements, function(element) { - return !find(elements, function(e) { - return e !== element && getParent(element, e); - }); - }); -} -function getParent(element, parent) { - if (!parent) { - return; - } - if (element === parent) { - return parent; - } - if (!element.parent) { - return; - } - return getParent(element.parent, parent); -} -function add(elements, element, unique) { - var canAdd = !unique || elements.indexOf(element) === -1; - if (canAdd) { - elements.push(element); - } - return canAdd; -} -function eachElement(elements, fn, depth) { - depth = depth || 0; - if (!isArray(elements)) { - elements = [elements]; - } - forEach(elements, function(s, i) { - var filter2 = fn(s, i, depth); - if (isArray(filter2) && filter2.length) { - eachElement(filter2, fn, depth + 1); - } - }); -} -function selfAndChildren(elements, unique, maxDepth) { - var result = [], processedChildren = []; - eachElement(elements, function(element, i, depth) { - add(result, element, unique); - var children = element.children; - if (maxDepth === -1 || depth < maxDepth) { - if (children && add(processedChildren, children, unique)) { - return children; - } - } - }); - return result; -} -function selfAndAllChildren(elements, allowDuplicates) { - return selfAndChildren(elements, !allowDuplicates, -1); -} -function getClosure(elements, isTopLevel, closure) { - if (isUndefined(isTopLevel)) { - isTopLevel = true; - } - if (isObject(isTopLevel)) { - closure = isTopLevel; - isTopLevel = true; - } - closure = closure || {}; - var allShapes = copyObject(closure.allShapes), allConnections = copyObject(closure.allConnections), enclosedElements = copyObject(closure.enclosedElements), enclosedConnections = copyObject(closure.enclosedConnections); - var topLevel = copyObject( - closure.topLevel, - isTopLevel && groupBy(elements, function(e) { - return e.id; - }) - ); - function handleConnection(c) { - if (topLevel[c.source.id] && topLevel[c.target.id]) { - topLevel[c.id] = [c]; - } - if (allShapes[c.source.id] && allShapes[c.target.id]) { - enclosedConnections[c.id] = enclosedElements[c.id] = c; - } - allConnections[c.id] = c; - } - function handleElement(element) { - enclosedElements[element.id] = element; - if (element.waypoints) { - enclosedConnections[element.id] = allConnections[element.id] = element; - } else { - allShapes[element.id] = element; - forEach(element.incoming, handleConnection); - forEach(element.outgoing, handleConnection); - return element.children; - } - } - eachElement(elements, handleElement); - return { - allShapes, - allConnections, - topLevel, - enclosedConnections, - enclosedElements - }; -} -function getBBox(elements, stopRecursion) { - stopRecursion = !!stopRecursion; - if (!isArray(elements)) { - elements = [elements]; - } - var minX, minY, maxX, maxY; - forEach(elements, function(element) { - var bbox = element; - if (element.waypoints && !stopRecursion) { - bbox = getBBox(element.waypoints, true); - } - var x = bbox.x, y = bbox.y, height = bbox.height || 0, width = bbox.width || 0; - if (x < minX || minX === void 0) { - minX = x; - } - if (y < minY || minY === void 0) { - minY = y; - } - if (x + width > maxX || maxX === void 0) { - maxX = x + width; - } - if (y + height > maxY || maxY === void 0) { - maxY = y + height; - } - }); - return { - x: minX, - y: minY, - height: maxY - minY, - width: maxX - minX - }; -} -function getEnclosedElements(elements, bbox) { - var filteredElements = {}; - forEach(elements, function(element) { - var e = element; - if (e.waypoints) { - e = getBBox(e); - } - if (!isNumber(bbox.y) && e.x > bbox.x) { - filteredElements[element.id] = element; - } - if (!isNumber(bbox.x) && e.y > bbox.y) { - filteredElements[element.id] = element; - } - if (e.x > bbox.x && e.y > bbox.y) { - if (isNumber(bbox.width) && isNumber(bbox.height) && e.width + e.x < bbox.width + bbox.x && e.height + e.y < bbox.height + bbox.y) { - filteredElements[element.id] = element; - } else if (!isNumber(bbox.width) || !isNumber(bbox.height)) { - filteredElements[element.id] = element; - } - } - }); - return filteredElements; -} -function getType(element) { - if ("waypoints" in element) { - return "connection"; - } - if ("x" in element) { - return "shape"; - } - return "root"; -} -function isFrameElement(element) { - return !!(element && element.isFrame); -} -function copyObject(src1, src2) { - return assign({}, src1 || {}, src2 || {}); -} - -export { - pointDistance, - pointsOnLine, - pointsAligned, - pointInRect, - getMidPoint, - findPathIntersections, - isConnection, - isLabel, - roundBounds, - roundPoint, - asTRBL, - asBounds, - getMid, - getOrientation, - getElementLineIntersection, - filterRedundantWaypoints, - getParents, - eachElement, - selfAndAllChildren, - getClosure, - getBBox, - getEnclosedElements, - getType, - isFrameElement -}; -//# sourceMappingURL=chunk-T4R4535C.js.map diff --git a/node_modules/.vite/deps/chunk-T4R4535C.js.map b/node_modules/.vite/deps/chunk-T4R4535C.js.map deleted file mode 100644 index d6a0e0a5..00000000 --- a/node_modules/.vite/deps/chunk-T4R4535C.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/util/Geometry.js", "../../.pnpm/path-intersection@3.1.0/node_modules/path-intersection/intersect.js", "../../.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/util/ModelUtil.js", "../../.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/layout/LayoutUtil.js", "../../.pnpm/diagram-js@14.11.3/node_modules/diagram-js/lib/util/Elements.js"], - "sourcesContent": ["import {\n every\n} from 'min-dash';\n\n/**\n * @typedef {import('../util/Types').Axis} Axis\n * @typedef {import('../util/Types').Point} Point\n * @typedef {import('../util/Types').Rect} Rect\n */\n\n/**\n * Computes the distance between two points.\n *\n * @param {Point} a\n * @param {Point} b\n *\n * @return {number} The distance between the two points.\n */\nexport function pointDistance(a, b) {\n if (!a || !b) {\n return -1;\n }\n\n return Math.sqrt(\n Math.pow(a.x - b.x, 2) +\n Math.pow(a.y - b.y, 2)\n );\n}\n\n\n/**\n * Returns true if the point r is on the line between p and q.\n *\n * @param {Point} p\n * @param {Point} q\n * @param {Point} r\n * @param {number} [accuracy=5] The accuracy with which to check (lower is better).\n *\n * @return {boolean}\n */\nexport function pointsOnLine(p, q, r, accuracy) {\n\n if (typeof accuracy === 'undefined') {\n accuracy = 5;\n }\n\n if (!p || !q || !r) {\n return false;\n }\n\n var val = (q.x - p.x) * (r.y - p.y) - (q.y - p.y) * (r.x - p.x),\n dist = pointDistance(p, q);\n\n // @see http://stackoverflow.com/a/907491/412190\n return Math.abs(val / dist) <= accuracy;\n}\n\n\nvar ALIGNED_THRESHOLD = 2;\n\n/**\n * Check whether two points are horizontally or vertically aligned.\n *\n * @param {Point[]|Point} a\n * @param {Point} [b]\n *\n * @return {string|boolean} If and how the two points are aligned ('h', 'v' or `false`).\n */\nexport function pointsAligned(a, b) {\n var points = Array.from(arguments).flat();\n\n const axisMap = {\n 'x': 'v',\n 'y': 'h'\n };\n\n for (const [ axis, orientation ] of Object.entries(axisMap)) {\n if (pointsAlignedOnAxis(axis, points)) {\n return orientation;\n }\n }\n\n return false;\n}\n\n/**\n * @param {Axis} axis\n * @param {Point[]} points\n *\n * @return {boolean}\n */\nexport function pointsAlignedOnAxis(axis, points) {\n const referencePoint = points[0];\n\n return every(points, function(point) {\n return Math.abs(referencePoint[axis] - point[axis]) <= ALIGNED_THRESHOLD;\n });\n}\n\n/**\n * Returns true if the point p is inside the rectangle rect\n *\n * @param {Point} p\n * @param {Rect} rect\n * @param {number} tolerance\n *\n * @return {boolean}\n */\nexport function pointInRect(p, rect, tolerance) {\n tolerance = tolerance || 0;\n\n return p.x > rect.x - tolerance &&\n p.y > rect.y - tolerance &&\n p.x < rect.x + rect.width + tolerance &&\n p.y < rect.y + rect.height + tolerance;\n}\n\n/**\n * Returns a point in the middle of points p and q\n *\n * @param {Point} p\n * @param {Point} q\n *\n * @return {Point} The mid point between the two points.\n */\nexport function getMidPoint(p, q) {\n return {\n x: Math.round(p.x + ((q.x - p.x) / 2.0)),\n y: Math.round(p.y + ((q.y - p.y) / 2.0))\n };\n}\n", "/**\n * This file contains source code adapted from Snap.svg (licensed Apache-2.0).\n *\n * @see https://github.com/adobe-webplatform/Snap.svg/blob/master/src/path.js\n */\n\n/* eslint no-fallthrough: \"off\" */\n\nvar p2s = /,?([a-z]),?/gi,\n toFloat = parseFloat,\n math = Math,\n PI = math.PI,\n mmin = math.min,\n mmax = math.max,\n pow = math.pow,\n abs = math.abs,\n pathCommand = /([a-z])[\\s,]*((-?\\d*\\.?\\d*(?:e[-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[-+]?\\d+)?)[\\s]*,?[\\s]*/ig;\n\nvar isArray = Array.isArray || function(o) { return o instanceof Array; };\n\nfunction hasProperty(obj, property) {\n return Object.prototype.hasOwnProperty.call(obj, property);\n}\n\nfunction clone(obj) {\n\n if (typeof obj == 'function' || Object(obj) !== obj) {\n return obj;\n }\n\n var res = new obj.constructor;\n\n for (var key in obj) {\n if (hasProperty(obj, key)) {\n res[key] = clone(obj[key]);\n }\n }\n\n return res;\n}\n\nfunction repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n}\n\nfunction cacher(f) {\n\n function newf() {\n\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join('\\u2400'),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n\n if (hasProperty(cache, args)) {\n repush(count, args);\n return cache[args];\n }\n\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f(...arguments);\n\n return cache[args];\n }\n return newf;\n}\n\nfunction parsePathString(pathString) {\n\n if (!pathString) {\n return null;\n }\n\n var pth = paths(pathString);\n\n if (pth.arr) {\n return clone(pth.arr);\n }\n\n var paramCounts = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 },\n data = [];\n\n if (isArray(pathString) && isArray(pathString[0])) { // rough assumption\n data = clone(pathString);\n }\n\n if (!data.length) {\n\n String(pathString).replace(pathCommand, function(a, b, c) {\n var params = [],\n name = b.toLowerCase();\n\n c.replace(pathValues, function(a, b) {\n b && params.push(+b);\n });\n\n if (name == 'm' && params.length > 2) {\n data.push([ b, ...params.splice(0, 2) ]);\n name = 'l';\n b = b == 'm' ? 'l' : 'L';\n }\n\n while (params.length >= paramCounts[name]) {\n data.push([ b, ...params.splice(0, paramCounts[name]) ]);\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n\n data.toString = paths.toString;\n pth.arr = clone(data);\n\n return data;\n}\n\nfunction paths(ps) {\n var p = paths.ps = paths.ps || {};\n\n if (p[ps]) {\n p[ps].sleep = 100;\n } else {\n p[ps] = {\n sleep: 100\n };\n }\n\n setTimeout(function() {\n for (var key in p) {\n if (hasProperty(p, key) && key != ps) {\n p[key].sleep--;\n !p[key].sleep && delete p[key];\n }\n }\n });\n\n return p[ps];\n}\n\nfunction rectBBox(x, y, width, height) {\n\n if (arguments.length === 1) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n x2: x + width,\n y2: y + height\n };\n}\n\nfunction pathToString() {\n return this.join(',').replace(p2s, '$1');\n}\n\nfunction pathClone(pathArray) {\n var res = clone(pathArray);\n res.toString = pathToString;\n return res;\n}\n\nfunction findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t,\n t13 = pow(t1, 3),\n t12 = pow(t1, 2),\n t2 = t * t,\n t3 = t2 * t,\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y;\n\n return {\n x: fixError(x),\n y: fixError(y)\n };\n}\n\nfunction bezierBBox(points) {\n\n var bbox = curveBBox(...points);\n\n return rectBBox(\n bbox.x0,\n bbox.y0,\n bbox.x1 - bbox.x0,\n bbox.y1 - bbox.y0\n );\n}\n\nfunction isPointInsideBBox(bbox, x, y) {\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n}\n\nfunction isBBoxIntersect(bbox1, bbox2) {\n bbox1 = rectBBox(bbox1);\n bbox2 = rectBBox(bbox2);\n return isPointInsideBBox(bbox2, bbox1.x, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x, bbox1.y2)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y2)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2)\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x\n || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y\n || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\n}\n\nfunction base3(t, p1, p2, p3, p4) {\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n}\n\nfunction bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\n\n if (z == null) {\n z = 1;\n }\n\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n\n var z2 = z / 2,\n n = 12,\n Tvalues = [ -.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816 ],\n Cvalues = [ 0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472 ],\n sum = 0;\n\n for (var i = 0; i < n; i++) {\n var ct = z2 * Tvalues[i] + z2,\n xbase = base3(ct, x1, x2, x3, x4),\n ybase = base3(ct, y1, y2, y3, y4),\n comb = xbase * xbase + ybase * ybase;\n\n sum += Cvalues[i] * math.sqrt(comb);\n }\n\n return z2 * sum;\n}\n\n\nfunction intersectLines(x1, y1, x2, y2, x3, y3, x4, y4) {\n\n if (\n mmax(x1, x2) < mmin(x3, x4) ||\n mmin(x1, x2) > mmax(x3, x4) ||\n mmax(y1, y2) < mmin(y3, y4) ||\n mmin(y1, y2) > mmax(y3, y4)\n ) {\n return;\n }\n\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n\n var px = fixError(nx / denominator),\n py = fixError(ny / denominator),\n px2 = +px.toFixed(2),\n py2 = +py.toFixed(2);\n\n if (\n px2 < +mmin(x1, x2).toFixed(2) ||\n px2 > +mmax(x1, x2).toFixed(2) ||\n px2 < +mmin(x3, x4).toFixed(2) ||\n px2 > +mmax(x3, x4).toFixed(2) ||\n py2 < +mmin(y1, y2).toFixed(2) ||\n py2 > +mmax(y1, y2).toFixed(2) ||\n py2 < +mmin(y3, y4).toFixed(2) ||\n py2 > +mmax(y3, y4).toFixed(2)\n ) {\n return;\n }\n\n return { x: px, y: py };\n}\n\nfunction fixError(number) {\n return Math.round(number * 100000000000) / 100000000000;\n}\n\nfunction findBezierIntersections(bez1, bez2, justCount) {\n var bbox1 = bezierBBox(bez1),\n bbox2 = bezierBBox(bez2);\n\n if (!isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n\n // As an optimization, lines will have only 1 segment\n\n var l1 = bezlen(...bez1),\n l2 = bezlen(...bez2),\n n1 = isLine(bez1) ? 1 : ~~(l1 / 5) || 1,\n n2 = isLine(bez2) ? 1 : ~~(l2 / 5) || 1,\n dots1 = [],\n dots2 = [],\n xy = {},\n res = justCount ? 0 : [];\n\n for (var i = 0; i < n1 + 1; i++) {\n var p = findDotsAtSegment(...bez1, i / n1);\n dots1.push({ x: p.x, y: p.y, t: i / n1 });\n }\n\n for (i = 0; i < n2 + 1; i++) {\n p = findDotsAtSegment(...bez2, i / n2);\n dots2.push({ x: p.x, y: p.y, t: i / n2 });\n }\n\n for (i = 0; i < n1; i++) {\n\n for (var j = 0; j < n2; j++) {\n var di = dots1[i],\n di1 = dots1[i + 1],\n dj = dots2[j],\n dj1 = dots2[j + 1],\n ci = abs(di1.x - di.x) < .01 ? 'y' : 'x',\n cj = abs(dj1.x - dj.x) < .01 ? 'y' : 'x',\n is = intersectLines(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y),\n key;\n\n if (is) {\n key = is.x.toFixed(9) + '#' + is.y.toFixed(9);\n\n if (xy[key]) {\n continue;\n }\n\n xy[key] = true;\n\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n\n if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) {\n\n if (justCount) {\n res++;\n } else {\n res.push({\n x: is.x,\n y: is.y,\n t1: t1,\n t2: t2\n });\n }\n }\n }\n }\n }\n\n return res;\n}\n\n\n/**\n * Find or counts the intersections between two SVG paths.\n *\n * Returns a number in counting mode and a list of intersections otherwise.\n *\n * A single intersection entry contains the intersection coordinates (x, y)\n * as well as additional information regarding the intersecting segments\n * on each path (segment1, segment2) and the relative location of the\n * intersection on these segments (t1, t2).\n *\n * The path may be an SVG path string or a list of path components\n * such as `[ [ 'M', 0, 10 ], [ 'L', 20, 0 ] ]`.\n *\n * @example\n *\n * var intersections = findPathIntersections(\n * 'M0,0L100,100',\n * [ [ 'M', 0, 100 ], [ 'L', 100, 0 ] ]\n * );\n *\n * // intersections = [\n * // { x: 50, y: 50, segment1: 1, segment2: 1, t1: 0.5, t2: 0.5 }\n * // ]\n *\n * @param {String|Array} path1\n * @param {String|Array} path2\n * @param {Boolean} [justCount=false]\n *\n * @return {Array|Number}\n */\nexport default function findPathIntersections(path1, path2, justCount) {\n path1 = pathToCurve(path1);\n path2 = pathToCurve(path2);\n\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\n res = justCount ? 0 : [];\n\n for (var i = 0, ii = path1.length; i < ii; i++) {\n var pi = path1[i];\n\n if (pi[0] == 'M') {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n\n if (pi[0] == 'C') {\n bez1 = [ x1, y1, ...pi.slice(1) ];\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [ x1, y1, x1, y1, x1m, y1m, x1m, y1m ];\n x1 = x1m;\n y1 = y1m;\n }\n\n for (var j = 0, jj = path2.length; j < jj; j++) {\n var pj = path2[j];\n\n if (pj[0] == 'M') {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n\n if (pj[0] == 'C') {\n bez2 = [ x2, y2, ...pj.slice(1) ];\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [ x2, y2, x2, y2, x2m, y2m, x2m, y2m ];\n x2 = x2m;\n y2 = y2m;\n }\n\n var intr = findBezierIntersections(bez1, bez2, justCount);\n\n if (justCount) {\n res += intr;\n } else {\n\n for (var k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n\n res = res.concat(intr);\n }\n }\n }\n }\n }\n\n return res;\n}\n\n\nfunction pathToAbsolute(pathArray) {\n var pth = paths(pathArray);\n\n if (pth.abs) {\n return pathClone(pth.abs);\n }\n\n if (!isArray(pathArray) || !isArray(pathArray && pathArray[0])) { // rough assumption\n pathArray = parsePathString(pathArray);\n }\n\n if (!pathArray || !pathArray.length) {\n return [ [ 'M', 0, 0 ] ];\n }\n\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0,\n pa0;\n\n if (pathArray[0][0] == 'M') {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = [ 'M', x, y ];\n }\n\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push(r = []);\n pa = pathArray[i];\n pa0 = pa[0];\n\n if (pa0 != pa0.toUpperCase()) {\n r[0] = pa0.toUpperCase();\n\n switch (r[0]) {\n case 'A':\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case 'V':\n r[1] = +pa[1] + y;\n break;\n case 'H':\n r[1] = +pa[1] + x;\n break;\n case 'M':\n mx = +pa[1] + x;\n my = +pa[2] + y;\n default:\n for (var j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + ((j % 2) ? x : y);\n }\n }\n } else {\n for (var k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n pa0 = pa0.toUpperCase();\n\n switch (r[0]) {\n case 'Z':\n x = +mx;\n y = +my;\n break;\n case 'H':\n x = r[1];\n break;\n case 'V':\n y = r[1];\n break;\n case 'M':\n mx = r[r.length - 2];\n my = r[r.length - 1];\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n\n res.toString = pathToString;\n pth.abs = pathClone(res);\n\n return res;\n}\n\nfunction isLine(bez) {\n return (\n bez[0] === bez[2] &&\n bez[1] === bez[3] &&\n bez[4] === bez[6] &&\n bez[5] === bez[7]\n );\n}\n\nfunction lineToCurve(x1, y1, x2, y2) {\n return [\n x1, y1, x2,\n y2, x2, y2\n ];\n}\n\nfunction qubicToCurve(x1, y1, ax, ay, x2, y2) {\n var _13 = 1 / 3,\n _23 = 2 / 3;\n\n return [\n _13 * x1 + _23 * ax,\n _13 * y1 + _23 * ay,\n _13 * x2 + _23 * ax,\n _13 * y2 + _23 * ay,\n x2,\n y2\n ];\n}\n\nfunction arcToCurve(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n var _120 = PI * 120 / 180,\n rad = PI / 180 * (+angle || 0),\n res = [],\n xy,\n rotate = cacher(function(x, y, rad) {\n var X = x * math.cos(rad) - y * math.sin(rad),\n Y = x * math.sin(rad) + y * math.cos(rad);\n\n return { x: X, y: Y };\n });\n\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n\n var x = (x1 - x2) / 2,\n y = (y1 - y2) / 2;\n\n var h = (x * x) / (rx * rx) + (y * y) / (ry * ry);\n\n if (h > 1) {\n h = math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n\n var rx2 = rx * rx,\n ry2 = ry * ry,\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\n cx = k * rx * y / ry + (x1 + x2) / 2,\n cy = k * -ry * x / rx + (y1 + y2) / 2,\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? PI - f1 : f1;\n f2 = x2 < cx ? PI - f2 : f2;\n f1 < 0 && (f1 = PI * 2 + f1);\n f2 < 0 && (f2 = PI * 2 + f2);\n\n if (sweep_flag && f1 > f2) {\n f1 = f1 - PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n\n var df = f2 - f1;\n\n if (abs(df) > _120) {\n var f2old = f2,\n x2old = x2,\n y2old = y2;\n\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * math.cos(f2);\n y2 = cy + ry * math.sin(f2);\n res = arcToCurve(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [ f2, f2old, cx, cy ]);\n }\n\n df = f2 - f1;\n\n var c1 = math.cos(f1),\n s1 = math.sin(f1),\n c2 = math.cos(f2),\n s2 = math.sin(f2),\n t = math.tan(df / 4),\n hx = 4 / 3 * rx * t,\n hy = 4 / 3 * ry * t,\n m1 = [ x1, y1 ],\n m2 = [ x1 + hx * s1, y1 - hy * c1 ],\n m3 = [ x2 + hx * s2, y2 - hy * c2 ],\n m4 = [ x2, y2 ];\n\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n\n if (recursive) {\n return [ m2, m3, m4 ].concat(res);\n } else {\n res = [ m2, m3, m4 ].concat(res).join().split(',');\n var newres = [];\n\n for (var i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n\n return newres;\n }\n}\n\n// Returns bounding box of cubic bezier curve.\n// Source: http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n// Original version: NISHIO Hirokazu\n// Modifications: https://github.com/timo22345\nfunction curveBBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n var tvalues = [],\n bounds = [ [], [] ],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n for (var i = 0; i < 2; ++i) {\n\n if (i == 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (abs(a) < 1e-12) {\n\n if (abs(b) < 1e-12) {\n continue;\n }\n\n t = -c / b;\n\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n\n continue;\n }\n\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = math.sqrt(b2ac);\n\n if (b2ac < 0) {\n continue;\n }\n\n t1 = (-b + sqrtb2ac) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n\n t2 = (-b - sqrtb2ac) / (2 * a);\n\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var j = tvalues.length,\n jlen = j,\n mt;\n\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[1][j] = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return {\n x0: mmin(...bounds[0]),\n y0: mmin(...bounds[1]),\n x1: mmax(...bounds[0]),\n y1: mmax(...bounds[1])\n };\n}\n\nfunction pathToCurve(path) {\n\n var pth = paths(path);\n\n // return cached curve, if existing\n if (pth.curve) {\n return pathClone(pth.curve);\n }\n\n var curvedPath = pathToAbsolute(path),\n attrs = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null },\n processPath = function(path, d, pathCommand) {\n var nx, ny;\n\n if (!path) {\n return [ 'C', d.x, d.y, d.x, d.y, d.x, d.y ];\n }\n\n !(path[0] in { T: 1, Q: 1 }) && (d.qx = d.qy = null);\n\n switch (path[0]) {\n case 'M':\n d.X = path[1];\n d.Y = path[2];\n break;\n case 'A':\n path = [ 'C', ...arcToCurve(d.x, d.y, ...path.slice(1)) ];\n break;\n case 'S':\n if (pathCommand == 'C' || pathCommand == 'S') {\n\n // In 'S' case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx;\n\n // And reflect the previous\n ny = d.y * 2 - d.by;\n\n // command's control point relative to the current point.\n }\n else {\n\n // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = [ 'C', nx, ny, ...path.slice(1) ];\n break;\n case 'T':\n if (pathCommand == 'Q' || pathCommand == 'T') {\n\n // In 'T' case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx;\n\n // And make a reflection similar\n d.qy = d.y * 2 - d.qy;\n\n // to case 'S'.\n }\n else {\n\n // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = [ 'C', ...qubicToCurve(d.x, d.y, d.qx, d.qy, path[1], path[2]) ];\n break;\n case 'Q':\n d.qx = path[1];\n d.qy = path[2];\n path = [ 'C', ...qubicToCurve(d.x, d.y, path[1], path[2], path[3], path[4]) ];\n break;\n case 'L':\n path = [ 'C', ...lineToCurve(d.x, d.y, path[1], path[2]) ];\n break;\n case 'H':\n path = [ 'C', ...lineToCurve(d.x, d.y, path[1], d.y) ];\n break;\n case 'V':\n path = [ 'C', ...lineToCurve(d.x, d.y, d.x, path[1]) ];\n break;\n case 'Z':\n path = [ 'C', ...lineToCurve(d.x, d.y, d.X, d.Y) ];\n break;\n }\n\n return path;\n },\n\n fixArc = function(pp, i) {\n\n if (pp[i].length > 7) {\n pp[i].shift();\n var pi = pp[i];\n\n while (pi.length) {\n pathCommands[i] = 'A'; // if created multiple C:s, their original seg is saved\n pp.splice(i++, 0, [ 'C', ...pi.splice(0, 6) ]);\n }\n\n pp.splice(i, 1);\n ii = curvedPath.length;\n }\n },\n\n pathCommands = [], // path commands of original path p\n pfirst = '', // temporary holder for original path command\n pathCommand = ''; // holder for previous path command of original path\n\n for (var i = 0, ii = curvedPath.length; i < ii; i++) {\n curvedPath[i] && (pfirst = curvedPath[i][0]); // save current path command\n\n if (pfirst != 'C') // C is not saved yet, because it may be result of conversion\n {\n pathCommands[i] = pfirst; // Save current path command\n i && (pathCommand = pathCommands[i - 1]); // Get previous path command pathCommand\n }\n curvedPath[i] = processPath(curvedPath[i], attrs, pathCommand); // Previous path command is inputted to processPath\n\n if (pathCommands[i] != 'A' && pfirst == 'C') pathCommands[i] = 'C'; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(curvedPath, i); // fixArc adds also the right amount of A:s to pathCommands\n\n var seg = curvedPath[i],\n seglen = seg.length;\n\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\n }\n\n // cache curve\n pth.curve = pathClone(curvedPath);\n\n return curvedPath;\n}", "import {\n has,\n isNil,\n isObject\n} from 'min-dash';\n\n/**\n * Checks whether a value is an instance of Connection.\n *\n * @param {any} value\n *\n * @return {boolean}\n */\nexport function isConnection(value) {\n return isObject(value) && has(value, 'waypoints');\n}\n\n/**\n * Checks whether a value is an instance of Label.\n *\n * @param {any} value\n *\n * @return {boolean}\n */\nexport function isLabel(value) {\n return isObject(value) && has(value, 'labelTarget');\n}\n\n/**\n * Checks whether a value is an instance of Root.\n *\n * @param {any} value\n *\n * @return {boolean}\n */\nexport function isRoot(value) {\n return isObject(value) && isNil(value.parent);\n}", "import {\n isObject,\n sortBy\n} from 'min-dash';\n\nimport {\n pointDistance,\n pointsOnLine\n} from '../util/Geometry';\n\nimport intersectPaths from 'path-intersection';\n\nimport { isConnection } from '../util/ModelUtil';\n\n/**\n * @typedef {import('../core/Types').ElementLike} Element\n * @typedef {import('../core/Types').ConnectionLike} Connection\n *\n * @typedef {import('../util/Types').DirectionTRBL} DirectionTRBL\n * @typedef {import('../util/Types').Intersection} Intersection\n * @typedef {import('../util/Types').Point} Point\n * @typedef {import('../util/Types').Rect} Rect\n * @typedef {import('../util/Types').RectTRBL} RectTRBL\n */\n\n/**\n * @param {Rect} bounds\n *\n * @returns {Rect}\n */\nexport function roundBounds(bounds) {\n return {\n x: Math.round(bounds.x),\n y: Math.round(bounds.y),\n width: Math.round(bounds.width),\n height: Math.round(bounds.height)\n };\n}\n\n/**\n * @param {Point} point\n *\n * @returns {Point}\n */\nexport function roundPoint(point) {\n\n return {\n x: Math.round(point.x),\n y: Math.round(point.y)\n };\n}\n\n\n/**\n * Convert the given bounds to a { top, left, bottom, right } descriptor.\n *\n * @param {Point|Rect} bounds\n *\n * @return {RectTRBL}\n */\nexport function asTRBL(bounds) {\n return {\n top: bounds.y,\n right: bounds.x + (bounds.width || 0),\n bottom: bounds.y + (bounds.height || 0),\n left: bounds.x\n };\n}\n\n\n/**\n * Convert a { top, left, bottom, right } to an objects bounds.\n *\n * @param {RectTRBL} trbl\n *\n * @return {Rect}\n */\nexport function asBounds(trbl) {\n return {\n x: trbl.left,\n y: trbl.top,\n width: trbl.right - trbl.left,\n height: trbl.bottom - trbl.top\n };\n}\n\n\n/**\n * Get the mid of the given bounds or point.\n *\n * @param {Point|Rect} bounds\n *\n * @return {Point}\n */\nexport function getBoundsMid(bounds) {\n return roundPoint({\n x: bounds.x + (bounds.width || 0) / 2,\n y: bounds.y + (bounds.height || 0) / 2\n });\n}\n\n\n/**\n * Get the mid of the given Connection.\n *\n * @param {Connection} connection\n *\n * @return {Point}\n */\nexport function getConnectionMid(connection) {\n var waypoints = connection.waypoints;\n\n // calculate total length and length of each segment\n var parts = waypoints.reduce(function(parts, point, index) {\n\n var lastPoint = waypoints[index - 1];\n\n if (lastPoint) {\n var lastPart = parts[parts.length - 1];\n\n var startLength = lastPart && lastPart.endLength || 0;\n var length = distance(lastPoint, point);\n\n parts.push({\n start: lastPoint,\n end: point,\n startLength: startLength,\n endLength: startLength + length,\n length: length\n });\n }\n\n return parts;\n }, []);\n\n var totalLength = parts.reduce(function(length, part) {\n return length + part.length;\n }, 0);\n\n // find which segement contains middle point\n var midLength = totalLength / 2;\n\n var i = 0;\n var midSegment = parts[i];\n\n while (midSegment.endLength < midLength) {\n midSegment = parts[++i];\n }\n\n // calculate relative position on mid segment\n var segmentProgress = (midLength - midSegment.startLength) / midSegment.length;\n\n var midPoint = {\n x: midSegment.start.x + (midSegment.end.x - midSegment.start.x) * segmentProgress,\n y: midSegment.start.y + (midSegment.end.y - midSegment.start.y) * segmentProgress\n };\n\n return midPoint;\n}\n\n\n/**\n * Get the mid of the given Element.\n *\n * @param {Element} element\n *\n * @return {Point}\n */\nexport function getMid(element) {\n if (isConnection(element)) {\n return getConnectionMid(element);\n }\n\n return getBoundsMid(element);\n}\n\n// orientation utils //////////////////////\n\n/**\n * Get orientation of the given rectangle with respect to\n * the reference rectangle.\n *\n * A padding (positive or negative) may be passed to influence\n * horizontal / vertical orientation and intersection.\n *\n * @param {Rect} rect\n * @param {Rect} reference\n * @param {Point|number} padding\n *\n * @return {DirectionTRBL|Intersection} the orientation; one of top, top-left, left, ..., bottom, right or intersect.\n */\nexport function getOrientation(rect, reference, padding) {\n\n padding = padding || 0;\n\n // make sure we can use an object, too\n // for individual { x, y } padding\n if (!isObject(padding)) {\n padding = { x: padding, y: padding };\n }\n\n\n var rectOrientation = asTRBL(rect),\n referenceOrientation = asTRBL(reference);\n\n var top = rectOrientation.bottom + padding.y <= referenceOrientation.top,\n right = rectOrientation.left - padding.x >= referenceOrientation.right,\n bottom = rectOrientation.top - padding.y >= referenceOrientation.bottom,\n left = rectOrientation.right + padding.x <= referenceOrientation.left;\n\n var vertical = top ? 'top' : (bottom ? 'bottom' : null),\n horizontal = left ? 'left' : (right ? 'right' : null);\n\n if (horizontal && vertical) {\n return vertical + '-' + horizontal;\n } else {\n return horizontal || vertical || 'intersect';\n }\n}\n\n\n// intersection utils //////////////////////\n\n/**\n * Get intersection between an element and a line path.\n *\n * @param {string} elementPath\n * @param {string} linePath\n * @param {boolean} cropStart Whether to crop start or end.\n *\n * @return {Point}\n */\nexport function getElementLineIntersection(elementPath, linePath, cropStart) {\n\n var intersections = getIntersections(elementPath, linePath);\n\n // recognize intersections\n // only one -> choose\n // two close together -> choose first\n // two or more distinct -> pull out appropriate one\n // none -> ok (fallback to point itself)\n if (intersections.length === 1) {\n return roundPoint(intersections[0]);\n } else if (intersections.length === 2 && pointDistance(intersections[0], intersections[1]) < 1) {\n return roundPoint(intersections[0]);\n } else if (intersections.length > 1) {\n\n // sort by intersections based on connection segment +\n // distance from start\n intersections = sortBy(intersections, function(i) {\n var distance = Math.floor(i.t2 * 100) || 1;\n\n distance = 100 - distance;\n\n distance = (distance < 10 ? '0' : '') + distance;\n\n // create a sort string that makes sure we sort\n // line segment ASC + line segment position DESC (for cropStart)\n // line segment ASC + line segment position ASC (for cropEnd)\n return i.segment2 + '#' + distance;\n });\n\n return roundPoint(intersections[cropStart ? 0 : intersections.length - 1]);\n }\n\n return null;\n}\n\n\nexport function getIntersections(a, b) {\n return intersectPaths(a, b);\n}\n\n\nexport function filterRedundantWaypoints(waypoints) {\n\n // alter copy of waypoints, not original\n waypoints = waypoints.slice();\n\n var idx = 0,\n point,\n previousPoint,\n nextPoint;\n\n while (waypoints[idx]) {\n point = waypoints[idx];\n previousPoint = waypoints[idx - 1];\n nextPoint = waypoints[idx + 1];\n\n if (pointDistance(point, nextPoint) === 0 ||\n pointsOnLine(previousPoint, nextPoint, point)) {\n\n // remove point, if overlapping with {nextPoint}\n // or on line with {previousPoint} -> {point} -> {nextPoint}\n waypoints.splice(idx, 1);\n } else {\n idx++;\n }\n }\n\n return waypoints;\n}\n\n// helpers //////////////////////\n\nfunction distance(a, b) {\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));\n}", "import {\n assign,\n filter,\n find,\n isArray,\n isNumber,\n isObject,\n isUndefined,\n groupBy,\n forEach\n} from 'min-dash';\n\n/**\n * @typedef {import('../model/Types').Connection} Connection\n * @typedef {import('../model/Types').Element} Element\n * @typedef {import('../model/Types').Shape} Shape\n *\n * @typedef {import('../util/Types').Rect} Rect\n *\n * @typedef { {\n * allShapes: Record,\n * allConnections: Record,\n * topLevel: Record,\n * enclosedConnections: Record,\n * enclosedElements: Record\n * } } Closure\n */\n\n/**\n * Get parent elements.\n *\n * @param {Element[]} elements\n *\n * @return {Element[]}\n */\nexport function getParents(elements) {\n\n // find elements that are not children of any other elements\n return filter(elements, function(element) {\n return !find(elements, function(e) {\n return e !== element && getParent(element, e);\n });\n });\n}\n\n\nfunction getParent(element, parent) {\n if (!parent) {\n return;\n }\n\n if (element === parent) {\n return parent;\n }\n\n if (!element.parent) {\n return;\n }\n\n return getParent(element.parent, parent);\n}\n\n\n/**\n * Adds an element to a collection and returns true if the\n * element was added.\n *\n * @param {Object[]} elements\n * @param {Object} element\n * @param {boolean} [unique]\n */\nexport function add(elements, element, unique) {\n var canAdd = !unique || elements.indexOf(element) === -1;\n\n if (canAdd) {\n elements.push(element);\n }\n\n return canAdd;\n}\n\n\n/**\n * Iterate over each element in a collection, calling the iterator function `fn`\n * with (element, index, recursionDepth).\n *\n * Recurse into all elements that are returned by `fn`.\n *\n * @param {Element|Element[]} elements\n * @param {(element: Element, index: number, depth: number) => Element[] | boolean | undefined} fn\n * @param {number} [depth] maximum recursion depth\n */\nexport function eachElement(elements, fn, depth) {\n\n depth = depth || 0;\n\n if (!isArray(elements)) {\n elements = [ elements ];\n }\n\n forEach(elements, function(s, i) {\n var filter = fn(s, i, depth);\n\n if (isArray(filter) && filter.length) {\n eachElement(filter, fn, depth + 1);\n }\n });\n}\n\n\n/**\n * Collects self + child elements up to a given depth from a list of elements.\n *\n * @param {Element|Element[]} elements the elements to select the children from\n * @param {boolean} unique whether to return a unique result set (no duplicates)\n * @param {number} maxDepth the depth to search through or -1 for infinite\n *\n * @return {Element[]} found elements\n */\nexport function selfAndChildren(elements, unique, maxDepth) {\n var result = [],\n processedChildren = [];\n\n eachElement(elements, function(element, i, depth) {\n add(result, element, unique);\n\n var children = element.children;\n\n // max traversal depth not reached yet\n if (maxDepth === -1 || depth < maxDepth) {\n\n // children exist && children not yet processed\n if (children && add(processedChildren, children, unique)) {\n return children;\n }\n }\n });\n\n return result;\n}\n\n/**\n * Return self + direct children for a number of elements\n *\n * @param {Element[]} elements to query\n * @param {boolean} [allowDuplicates] to allow duplicates in the result set\n *\n * @return {Element[]} the collected elements\n */\nexport function selfAndDirectChildren(elements, allowDuplicates) {\n return selfAndChildren(elements, !allowDuplicates, 1);\n}\n\n\n/**\n * Return self + ALL children for a number of elements\n *\n * @param {Element[]} elements to query\n * @param {boolean} [allowDuplicates] to allow duplicates in the result set\n *\n * @return {Element[]} the collected elements\n */\nexport function selfAndAllChildren(elements, allowDuplicates) {\n return selfAndChildren(elements, !allowDuplicates, -1);\n}\n\n\n/**\n * Gets the the closure for all selected elements,\n * their enclosed children and connections.\n *\n * @param {Element[]} elements\n * @param {boolean} [isTopLevel=true]\n * @param {Closure} [closure]\n *\n * @return {Closure} newClosure\n */\nexport function getClosure(elements, isTopLevel, closure) {\n\n if (isUndefined(isTopLevel)) {\n isTopLevel = true;\n }\n\n if (isObject(isTopLevel)) {\n closure = isTopLevel;\n isTopLevel = true;\n }\n\n\n closure = closure || {};\n\n var allShapes = copyObject(closure.allShapes),\n allConnections = copyObject(closure.allConnections),\n enclosedElements = copyObject(closure.enclosedElements),\n enclosedConnections = copyObject(closure.enclosedConnections);\n\n var topLevel = copyObject(\n closure.topLevel,\n isTopLevel && groupBy(elements, function(e) { return e.id; })\n );\n\n\n function handleConnection(c) {\n if (topLevel[c.source.id] && topLevel[c.target.id]) {\n topLevel[c.id] = [ c ];\n }\n\n // not enclosed as a child, but maybe logically\n // (connecting two moved elements?)\n if (allShapes[c.source.id] && allShapes[c.target.id]) {\n enclosedConnections[c.id] = enclosedElements[c.id] = c;\n }\n\n allConnections[c.id] = c;\n }\n\n function handleElement(element) {\n\n enclosedElements[element.id] = element;\n\n if (element.waypoints) {\n\n // remember connection\n enclosedConnections[element.id] = allConnections[element.id] = element;\n } else {\n\n // remember shape\n allShapes[element.id] = element;\n\n // remember all connections\n forEach(element.incoming, handleConnection);\n\n forEach(element.outgoing, handleConnection);\n\n // recurse into children\n return element.children;\n }\n }\n\n eachElement(elements, handleElement);\n\n return {\n allShapes: allShapes,\n allConnections: allConnections,\n topLevel: topLevel,\n enclosedConnections: enclosedConnections,\n enclosedElements: enclosedElements\n };\n}\n\n/**\n * Returns the surrounding bbox for all elements in\n * the array or the element primitive.\n *\n * @param {Element|Element[]} elements\n * @param {boolean} [stopRecursion=false]\n *\n * @return {Rect}\n */\nexport function getBBox(elements, stopRecursion) {\n\n stopRecursion = !!stopRecursion;\n if (!isArray(elements)) {\n elements = [ elements ];\n }\n\n var minX,\n minY,\n maxX,\n maxY;\n\n forEach(elements, function(element) {\n\n // If element is a connection the bbox must be computed first\n var bbox = element;\n if (element.waypoints && !stopRecursion) {\n bbox = getBBox(element.waypoints, true);\n }\n\n var x = bbox.x,\n y = bbox.y,\n height = bbox.height || 0,\n width = bbox.width || 0;\n\n if (x < minX || minX === undefined) {\n minX = x;\n }\n if (y < minY || minY === undefined) {\n minY = y;\n }\n\n if ((x + width) > maxX || maxX === undefined) {\n maxX = x + width;\n }\n if ((y + height) > maxY || maxY === undefined) {\n maxY = y + height;\n }\n });\n\n return {\n x: minX,\n y: minY,\n height: maxY - minY,\n width: maxX - minX\n };\n}\n\n\n/**\n * Returns all elements that are enclosed from the bounding box.\n *\n * * If bbox.(width|height) is not specified the method returns\n * all elements with element.x/y > bbox.x/y\n * * If only bbox.x or bbox.y is specified, method return all elements with\n * e.x > bbox.x or e.y > bbox.y\n *\n * @param {Element[]} elements List of Elements to search through\n * @param {Rect} bbox the enclosing bbox.\n *\n * @return {Element[]} enclosed elements\n */\nexport function getEnclosedElements(elements, bbox) {\n\n var filteredElements = {};\n\n forEach(elements, function(element) {\n\n var e = element;\n\n if (e.waypoints) {\n e = getBBox(e);\n }\n\n if (!isNumber(bbox.y) && (e.x > bbox.x)) {\n filteredElements[element.id] = element;\n }\n if (!isNumber(bbox.x) && (e.y > bbox.y)) {\n filteredElements[element.id] = element;\n }\n if (e.x > bbox.x && e.y > bbox.y) {\n if (isNumber(bbox.width) && isNumber(bbox.height) &&\n e.width + e.x < bbox.width + bbox.x &&\n e.height + e.y < bbox.height + bbox.y) {\n\n filteredElements[element.id] = element;\n } else if (!isNumber(bbox.width) || !isNumber(bbox.height)) {\n filteredElements[element.id] = element;\n }\n }\n });\n\n return filteredElements;\n}\n\n/**\n * Get the element's type\n *\n * @param {Element} element\n *\n * @return {'connection' | 'shape' | 'root'}\n */\nexport function getType(element) {\n\n if ('waypoints' in element) {\n return 'connection';\n }\n\n if ('x' in element) {\n return 'shape';\n }\n\n return 'root';\n}\n\n/**\n * @param {Element} element\n *\n * @return {boolean}\n */\nexport function isFrameElement(element) {\n return !!(element && element.isFrame);\n}\n\n// helpers ///////////////////////////////\n\nfunction copyObject(src1, src2) {\n return assign({}, src1 || {}, src2 || {});\n}\n"], - "mappings": "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", - "names": ["isArray", "a", "b", "x", "y", "rad", "path", "pathCommand", "i", "parts", "distance", "filter"] -} diff --git a/node_modules/.vite/deps/echarts-wordcloud.js b/node_modules/.vite/deps/echarts-wordcloud.js index d25b3a15..d1a2d9b8 100644 --- a/node_modules/.vite/deps/echarts-wordcloud.js +++ b/node_modules/.vite/deps/echarts-wordcloud.js @@ -1,9 +1,9 @@ -import { - install as install2 -} from "./chunk-KJFX5ANN.js"; import { install -} from "./chunk-XNS7XN3L.js"; +} from "./chunk-KNIVXUEF.js"; +import { + install as install2 +} from "./chunk-OBFEZ4QG.js"; import { extendChartView, extendSeriesModel, @@ -13,20 +13,20 @@ import { installLabelLayout, number_exports, util_exports -} from "./chunk-2TFNBWBF.js"; -import "./chunk-X5CQ556A.js"; -import "./chunk-NF6IA4AL.js"; +} from "./chunk-M56X7I32.js"; +import "./chunk-LMKTAN4E.js"; +import "./chunk-V45EMKQW.js"; import { SeriesData_default, registerLayout, registerPreprocessor, use -} from "./chunk-QJLIGECE.js"; -import "./chunk-GVYX3QQL.js"; +} from "./chunk-ZCOAJCG3.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/echarts.js -use([install2, install]); +use([install, install2]); use(installLabelLayout); // node_modules/.pnpm/echarts-wordcloud@2.1.0_echarts@5.5.1/node_modules/echarts-wordcloud/src/WordCloudSeries.js diff --git a/node_modules/.vite/deps/echarts-wordcloud.js.map b/node_modules/.vite/deps/echarts-wordcloud.js.map index 8bf89a34..55dabc41 100644 --- a/node_modules/.vite/deps/echarts-wordcloud.js.map +++ b/node_modules/.vite/deps/echarts-wordcloud.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../../.pnpm/echarts@5.5.1/node_modules/echarts/lib/echarts.js", "../../.pnpm/echarts-wordcloud@2.1.0_echarts@5.5.1/node_modules/echarts-wordcloud/src/WordCloudSeries.js", "../../.pnpm/echarts-wordcloud@2.1.0_echarts@5.5.1/node_modules/echarts-wordcloud/src/WordCloudView.js", "../../.pnpm/echarts-wordcloud@2.1.0_echarts@5.5.1/node_modules/echarts-wordcloud/src/layout.js", "../../.pnpm/echarts-wordcloud@2.1.0_echarts@5.5.1/node_modules/echarts-wordcloud/src/wordCloud.js"], "sourcesContent": ["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport * from './export/core.js';\nimport { use } from './extension.js';\nimport { init } from './core/echarts.js';\nimport { install as CanvasRenderer } from './renderer/installCanvasRenderer.js';\nimport { install as DatasetComponent } from './component/dataset/install.js';\n// Default to have canvas renderer and dataset for compitatble reason.\nuse([CanvasRenderer, DatasetComponent]);\n// TODO: Compatitable with the following code\n// import echarts from 'echarts/lib/echarts.js'\nexport default {\n init: function () {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable-next-line */\n console.error(\"\\\"import echarts from 'echarts/lib/echarts.js'\\\" is not supported anymore. Use \\\"import * as echarts from 'echarts/lib/echarts.js'\\\" instead;\");\n }\n // @ts-ignore\n return init.apply(null, arguments);\n }\n};\n// Import label layout by default.\n// TODO remove\nimport { installLabelLayout } from './label/installLabelLayout.js';\nuse(installLabelLayout);", "import * as echarts from 'echarts/lib/echarts';\n\necharts.extendSeriesModel({\n type: 'series.wordCloud',\n\n visualStyleAccessPath: 'textStyle',\n visualStyleMapper: function (model) {\n return {\n fill: model.get('color')\n };\n },\n visualDrawType: 'fill',\n\n optionUpdated: function () {\n var option = this.option;\n option.gridSize = Math.max(Math.floor(option.gridSize), 4);\n },\n\n getInitialData: function (option, ecModel) {\n var dimensions = echarts.helper.createDimensions(option.data, {\n coordDimensions: ['value']\n });\n var list = new echarts.List(dimensions, this);\n list.initData(option.data);\n return list;\n },\n\n // Most of options are from https://github.com/timdream/wordcloud2.js/blob/gh-pages/API.md\n defaultOption: {\n maskImage: null,\n\n // Shape can be 'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star'\n shape: 'circle',\n keepAspect: false,\n\n left: 'center',\n\n top: 'center',\n\n width: '70%',\n\n height: '80%',\n\n sizeRange: [12, 60],\n\n rotationRange: [-90, 90],\n\n rotationStep: 45,\n\n gridSize: 8,\n\n drawOutOfBound: false,\n shrinkToFit: false,\n\n textStyle: {\n fontWeight: 'normal'\n }\n }\n});\n", "import * as echarts from 'echarts/lib/echarts';\n\necharts.extendChartView({\n type: 'wordCloud',\n\n render: function (seriesModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n\n var data = seriesModel.getData();\n\n var gridSize = seriesModel.get('gridSize');\n\n seriesModel.layoutInstance.ondraw = function (text, size, dataIdx, drawn) {\n var itemModel = data.getItemModel(dataIdx);\n var textStyleModel = itemModel.getModel('textStyle');\n\n var textEl = new echarts.graphic.Text({\n style: echarts.helper.createTextStyle(textStyleModel),\n scaleX: 1 / drawn.info.mu,\n scaleY: 1 / drawn.info.mu,\n x: (drawn.gx + drawn.info.gw / 2) * gridSize,\n y: (drawn.gy + drawn.info.gh / 2) * gridSize,\n rotation: drawn.rot\n });\n textEl.setStyle({\n x: drawn.info.fillTextOffsetX,\n y: drawn.info.fillTextOffsetY + size * 0.5,\n text: text,\n verticalAlign: 'middle',\n fill: data.getItemVisual(dataIdx, 'style').fill,\n fontSize: size\n });\n\n group.add(textEl);\n\n data.setItemGraphicEl(dataIdx, textEl);\n\n textEl.ensureState('emphasis').style = echarts.helper.createTextStyle(\n itemModel.getModel(['emphasis', 'textStyle']),\n {\n state: 'emphasis'\n }\n );\n textEl.ensureState('blur').style = echarts.helper.createTextStyle(\n itemModel.getModel(['blur', 'textStyle']),\n {\n state: 'blur'\n }\n );\n\n echarts.helper.enableHoverEmphasis(\n textEl,\n itemModel.get(['emphasis', 'focus']),\n itemModel.get(['emphasis', 'blurScope'])\n );\n\n textEl.stateTransition = {\n duration: seriesModel.get('animation')\n ? seriesModel.get(['stateAnimation', 'duration'])\n : 0,\n easing: seriesModel.get(['stateAnimation', 'easing'])\n };\n // TODO\n textEl.__highDownDispatcher = true;\n };\n\n this._model = seriesModel;\n },\n\n remove: function () {\n this.group.removeAll();\n\n this._model.layoutInstance.dispose();\n },\n\n dispose: function () {\n this._model.layoutInstance.dispose();\n }\n});\n", "/*!\n * wordcloud2.js\n * http://timdream.org/wordcloud2.js/\n *\n * Copyright 2011 - 2019 Tim Guan-tin Chien and contributors.\n * Released under the MIT license\n */\n\n'use strict';\n\n// setImmediate\nif (!window.setImmediate) {\n window.setImmediate = (function setupSetImmediate() {\n return (\n window.msSetImmediate ||\n window.webkitSetImmediate ||\n window.mozSetImmediate ||\n window.oSetImmediate ||\n (function setupSetZeroTimeout() {\n if (!window.postMessage || !window.addEventListener) {\n return null;\n }\n\n var callbacks = [undefined];\n var message = 'zero-timeout-message';\n\n // Like setTimeout, but only takes a function argument. There's\n // no time argument (always zero) and no arguments (you have to\n // use a closure).\n var setZeroTimeout = function setZeroTimeout(callback) {\n var id = callbacks.length;\n callbacks.push(callback);\n window.postMessage(message + id.toString(36), '*');\n\n return id;\n };\n\n window.addEventListener(\n 'message',\n function setZeroTimeoutMessage(evt) {\n // Skipping checking event source, retarded IE confused this window\n // object with another in the presence of iframe\n if (\n typeof evt.data !== 'string' ||\n evt.data.substr(0, message.length) !== message /* ||\n evt.source !== window */\n ) {\n return;\n }\n\n evt.stopImmediatePropagation();\n\n var id = parseInt(evt.data.substr(message.length), 36);\n if (!callbacks[id]) {\n return;\n }\n\n callbacks[id]();\n callbacks[id] = undefined;\n },\n true\n );\n\n /* specify clearImmediate() here since we need the scope */\n window.clearImmediate = function clearZeroTimeout(id) {\n if (!callbacks[id]) {\n return;\n }\n\n callbacks[id] = undefined;\n };\n\n return setZeroTimeout;\n })() ||\n // fallback\n function setImmediateFallback(fn) {\n window.setTimeout(fn, 0);\n }\n );\n })();\n}\n\nif (!window.clearImmediate) {\n window.clearImmediate = (function setupClearImmediate() {\n return (\n window.msClearImmediate ||\n window.webkitClearImmediate ||\n window.mozClearImmediate ||\n window.oClearImmediate ||\n // \"clearZeroTimeout\" is implement on the previous block ||\n // fallback\n function clearImmediateFallback(timer) {\n window.clearTimeout(timer);\n }\n );\n })();\n}\n\n// Check if WordCloud can run on this browser\nvar isSupported = (function isSupported() {\n var canvas = document.createElement('canvas');\n if (!canvas || !canvas.getContext) {\n return false;\n }\n\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n if (!ctx.getImageData) {\n return false;\n }\n if (!ctx.fillText) {\n return false;\n }\n\n if (!Array.prototype.some) {\n return false;\n }\n if (!Array.prototype.push) {\n return false;\n }\n\n return true;\n})();\n\n// Find out if the browser impose minium font size by\n// drawing small texts on a canvas and measure it's width.\nvar minFontSize = (function getMinFontSize() {\n if (!isSupported) {\n return;\n }\n\n var ctx = document.createElement('canvas').getContext('2d');\n\n // start from 20\n var size = 20;\n\n // two sizes to measure\n var hanWidth, mWidth;\n\n while (size) {\n ctx.font = size.toString(10) + 'px sans-serif';\n if (\n ctx.measureText('\\uFF37').width === hanWidth &&\n ctx.measureText('m').width === mWidth\n ) {\n return size + 1;\n }\n\n hanWidth = ctx.measureText('\\uFF37').width;\n mWidth = ctx.measureText('m').width;\n\n size--;\n }\n\n return 0;\n})();\n\nvar getItemExtraData = function (item) {\n if (Array.isArray(item)) {\n var itemCopy = item.slice();\n // remove data we already have (word and weight)\n itemCopy.splice(0, 2);\n return itemCopy;\n } else {\n return [];\n }\n};\n\n// Based on http://jsfromhell.com/array/shuffle\nvar shuffleArray = function shuffleArray(arr) {\n for (var j, x, i = arr.length; i; ) {\n j = Math.floor(Math.random() * i);\n x = arr[--i];\n arr[i] = arr[j];\n arr[j] = x;\n }\n return arr;\n};\n\nvar timer = {};\nvar WordCloud = function WordCloud(elements, options) {\n if (!isSupported) {\n return;\n }\n\n var timerId = Math.floor(Math.random() * Date.now());\n\n if (!Array.isArray(elements)) {\n elements = [elements];\n }\n\n elements.forEach(function (el, i) {\n if (typeof el === 'string') {\n elements[i] = document.getElementById(el);\n if (!elements[i]) {\n throw new Error('The element id specified is not found.');\n }\n } else if (!el.tagName && !el.appendChild) {\n throw new Error(\n 'You must pass valid HTML elements, or ID of the element.'\n );\n }\n });\n\n /* Default values to be overwritten by options object */\n var settings = {\n list: [],\n fontFamily:\n '\"Trebuchet MS\", \"Heiti TC\", \"微軟正黑體\", ' +\n '\"Arial Unicode MS\", \"Droid Fallback Sans\", sans-serif',\n fontWeight: 'normal',\n color: 'random-dark',\n minSize: 0, // 0 to disable\n weightFactor: 1,\n clearCanvas: true,\n backgroundColor: '#fff', // opaque white = rgba(255, 255, 255, 1)\n\n gridSize: 8,\n drawOutOfBound: false,\n shrinkToFit: false,\n origin: null,\n\n drawMask: false,\n maskColor: 'rgba(255,0,0,0.3)',\n maskGapWidth: 0.3,\n\n layoutAnimation: true,\n\n wait: 0,\n abortThreshold: 0, // disabled\n abort: function noop() {},\n\n minRotation: -Math.PI / 2,\n maxRotation: Math.PI / 2,\n rotationStep: 0.1,\n\n shuffle: true,\n rotateRatio: 0.1,\n\n shape: 'circle',\n ellipticity: 0.65,\n\n classes: null,\n\n hover: null,\n click: null\n };\n\n if (options) {\n for (var key in options) {\n if (key in settings) {\n settings[key] = options[key];\n }\n }\n }\n\n /* Convert weightFactor into a function */\n if (typeof settings.weightFactor !== 'function') {\n var factor = settings.weightFactor;\n settings.weightFactor = function weightFactor(pt) {\n return pt * factor; // in px\n };\n }\n\n /* Convert shape into a function */\n if (typeof settings.shape !== 'function') {\n switch (settings.shape) {\n case 'circle':\n /* falls through */\n default:\n // 'circle' is the default and a shortcut in the code loop.\n settings.shape = 'circle';\n break;\n\n case 'cardioid':\n settings.shape = function shapeCardioid(theta) {\n return 1 - Math.sin(theta);\n };\n break;\n\n /*\n To work out an X-gon, one has to calculate \"m\",\n where 1/(cos(2*PI/X)+m*sin(2*PI/X)) = 1/(cos(0)+m*sin(0))\n http://www.wolframalpha.com/input/?i=1%2F%28cos%282*PI%2FX%29%2Bm*sin%28\n 2*PI%2FX%29%29+%3D+1%2F%28cos%280%29%2Bm*sin%280%29%29\n Copy the solution into polar equation r = 1/(cos(t') + m*sin(t'))\n where t' equals to mod(t, 2PI/X);\n */\n\n case 'diamond':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+1%2F%28cos%28mod+\n // %28t%2C+PI%2F2%29%29%2Bsin%28mod+%28t%2C+PI%2F2%29%29%29%2C+t+%3D\n // +0+..+2*PI\n settings.shape = function shapeSquare(theta) {\n var thetaPrime = theta % ((2 * Math.PI) / 4);\n return 1 / (Math.cos(thetaPrime) + Math.sin(thetaPrime));\n };\n break;\n\n case 'square':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+min(1%2Fabs(cos(t\n // )),1%2Fabs(sin(t)))),+t+%3D+0+..+2*PI\n settings.shape = function shapeSquare(theta) {\n return Math.min(\n 1 / Math.abs(Math.cos(theta)),\n 1 / Math.abs(Math.sin(theta))\n );\n };\n break;\n\n case 'triangle-forward':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+1%2F%28cos%28mod+\n // %28t%2C+2*PI%2F3%29%29%2Bsqrt%283%29sin%28mod+%28t%2C+2*PI%2F3%29\n // %29%29%2C+t+%3D+0+..+2*PI\n settings.shape = function shapeTriangle(theta) {\n var thetaPrime = theta % ((2 * Math.PI) / 3);\n return (\n 1 / (Math.cos(thetaPrime) + Math.sqrt(3) * Math.sin(thetaPrime))\n );\n };\n break;\n\n case 'triangle':\n case 'triangle-upright':\n settings.shape = function shapeTriangle(theta) {\n var thetaPrime = (theta + (Math.PI * 3) / 2) % ((2 * Math.PI) / 3);\n return (\n 1 / (Math.cos(thetaPrime) + Math.sqrt(3) * Math.sin(thetaPrime))\n );\n };\n break;\n\n case 'pentagon':\n settings.shape = function shapePentagon(theta) {\n var thetaPrime = (theta + 0.955) % ((2 * Math.PI) / 5);\n return 1 / (Math.cos(thetaPrime) + 0.726543 * Math.sin(thetaPrime));\n };\n break;\n\n case 'star':\n settings.shape = function shapeStar(theta) {\n var thetaPrime = (theta + 0.955) % ((2 * Math.PI) / 10);\n if (\n ((theta + 0.955) % ((2 * Math.PI) / 5)) - (2 * Math.PI) / 10 >=\n 0\n ) {\n return (\n 1 /\n (Math.cos((2 * Math.PI) / 10 - thetaPrime) +\n 3.07768 * Math.sin((2 * Math.PI) / 10 - thetaPrime))\n );\n } else {\n return 1 / (Math.cos(thetaPrime) + 3.07768 * Math.sin(thetaPrime));\n }\n };\n break;\n }\n }\n\n /* Make sure gridSize is a whole number and is not smaller than 4px */\n settings.gridSize = Math.max(Math.floor(settings.gridSize), 4);\n\n /* shorthand */\n var g = settings.gridSize;\n var maskRectWidth = g - settings.maskGapWidth;\n\n /* normalize rotation settings */\n var rotationRange = Math.abs(settings.maxRotation - settings.minRotation);\n var minRotation = Math.min(settings.maxRotation, settings.minRotation);\n var rotationStep = settings.rotationStep;\n\n /* information/object available to all functions, set when start() */\n var grid, // 2d array containing filling information\n ngx,\n ngy, // width and height of the grid\n center, // position of the center of the cloud\n maxRadius;\n\n /* timestamp for measuring each putWord() action */\n var escapeTime;\n\n /* function for getting the color of the text */\n var getTextColor;\n function randomHslColor(min, max) {\n return (\n 'hsl(' +\n (Math.random() * 360).toFixed() +\n ',' +\n (Math.random() * 30 + 70).toFixed() +\n '%,' +\n (Math.random() * (max - min) + min).toFixed() +\n '%)'\n );\n }\n switch (settings.color) {\n case 'random-dark':\n getTextColor = function getRandomDarkColor() {\n return randomHslColor(10, 50);\n };\n break;\n\n case 'random-light':\n getTextColor = function getRandomLightColor() {\n return randomHslColor(50, 90);\n };\n break;\n\n default:\n if (typeof settings.color === 'function') {\n getTextColor = settings.color;\n }\n break;\n }\n\n /* function for getting the font-weight of the text */\n var getTextFontWeight;\n if (typeof settings.fontWeight === 'function') {\n getTextFontWeight = settings.fontWeight;\n }\n\n /* function for getting the classes of the text */\n var getTextClasses = null;\n if (typeof settings.classes === 'function') {\n getTextClasses = settings.classes;\n }\n\n /* Interactive */\n var interactive = false;\n var infoGrid = [];\n var hovered;\n\n var getInfoGridFromMouseTouchEvent = function getInfoGridFromMouseTouchEvent(\n evt\n ) {\n var canvas = evt.currentTarget;\n var rect = canvas.getBoundingClientRect();\n var clientX;\n var clientY;\n /** Detect if touches are available */\n if (evt.touches) {\n clientX = evt.touches[0].clientX;\n clientY = evt.touches[0].clientY;\n } else {\n clientX = evt.clientX;\n clientY = evt.clientY;\n }\n var eventX = clientX - rect.left;\n var eventY = clientY - rect.top;\n\n var x = Math.floor((eventX * (canvas.width / rect.width || 1)) / g);\n var y = Math.floor((eventY * (canvas.height / rect.height || 1)) / g);\n\n if (!infoGrid[x]) {\n return null\n }\n\n return infoGrid[x][y];\n };\n\n var wordcloudhover = function wordcloudhover(evt) {\n var info = getInfoGridFromMouseTouchEvent(evt);\n\n if (hovered === info) {\n return;\n }\n\n hovered = info;\n if (!info) {\n settings.hover(undefined, undefined, evt);\n\n return;\n }\n\n settings.hover(info.item, info.dimension, evt);\n };\n\n var wordcloudclick = function wordcloudclick(evt) {\n var info = getInfoGridFromMouseTouchEvent(evt);\n if (!info) {\n return;\n }\n\n settings.click(info.item, info.dimension, evt);\n evt.preventDefault();\n };\n\n /* Get points on the grid for a given radius away from the center */\n var pointsAtRadius = [];\n var getPointsAtRadius = function getPointsAtRadius(radius) {\n if (pointsAtRadius[radius]) {\n return pointsAtRadius[radius];\n }\n\n // Look for these number of points on each radius\n var T = radius * 8;\n\n // Getting all the points at this radius\n var t = T;\n var points = [];\n\n if (radius === 0) {\n points.push([center[0], center[1], 0]);\n }\n\n while (t--) {\n // distort the radius to put the cloud in shape\n var rx = 1;\n if (settings.shape !== 'circle') {\n rx = settings.shape((t / T) * 2 * Math.PI); // 0 to 1\n }\n\n // Push [x, y, t]; t is used solely for getTextColor()\n points.push([\n center[0] + radius * rx * Math.cos((-t / T) * 2 * Math.PI),\n center[1] +\n radius * rx * Math.sin((-t / T) * 2 * Math.PI) * settings.ellipticity,\n (t / T) * 2 * Math.PI\n ]);\n }\n\n pointsAtRadius[radius] = points;\n return points;\n };\n\n /* Return true if we had spent too much time */\n var exceedTime = function exceedTime() {\n return (\n settings.abortThreshold > 0 &&\n new Date().getTime() - escapeTime > settings.abortThreshold\n );\n };\n\n /* Get the deg of rotation according to settings, and luck. */\n var getRotateDeg = function getRotateDeg() {\n if (settings.rotateRatio === 0) {\n return 0;\n }\n\n if (Math.random() > settings.rotateRatio) {\n return 0;\n }\n\n if (rotationRange === 0) {\n return minRotation;\n }\n\n return minRotation + Math.round(Math.random() * rotationRange / rotationStep) * rotationStep;\n };\n\n var getTextInfo = function getTextInfo(\n word,\n weight,\n rotateDeg,\n extraDataArray\n ) {\n // calculate the acutal font size\n // fontSize === 0 means weightFactor function wants the text skipped,\n // and size < minSize means we cannot draw the text.\n var debug = false;\n var fontSize = settings.weightFactor(weight);\n if (fontSize <= settings.minSize) {\n return false;\n }\n\n // Scale factor here is to make sure fillText is not limited by\n // the minium font size set by browser.\n // It will always be 1 or 2n.\n var mu = 1;\n if (fontSize < minFontSize) {\n mu = (function calculateScaleFactor() {\n var mu = 2;\n while (mu * fontSize < minFontSize) {\n mu += 2;\n }\n return mu;\n })();\n }\n\n // Get fontWeight that will be used to set fctx.font\n var fontWeight;\n if (getTextFontWeight) {\n fontWeight = getTextFontWeight(word, weight, fontSize, extraDataArray);\n } else {\n fontWeight = settings.fontWeight;\n }\n\n var fcanvas = document.createElement('canvas');\n var fctx = fcanvas.getContext('2d', { willReadFrequently: true });\n\n fctx.font =\n fontWeight +\n ' ' +\n (fontSize * mu).toString(10) +\n 'px ' +\n settings.fontFamily;\n\n // Estimate the dimension of the text with measureText().\n var fw = fctx.measureText(word).width / mu;\n var fh =\n Math.max(\n fontSize * mu,\n fctx.measureText('m').width,\n fctx.measureText('\\uFF37').width\n ) / mu;\n\n // Create a boundary box that is larger than our estimates,\n // so text don't get cut of (it sill might)\n var boxWidth = fw + fh * 2;\n var boxHeight = fh * 3;\n var fgw = Math.ceil(boxWidth / g);\n var fgh = Math.ceil(boxHeight / g);\n boxWidth = fgw * g;\n boxHeight = fgh * g;\n\n // Calculate the proper offsets to make the text centered at\n // the preferred position.\n\n // This is simply half of the width.\n var fillTextOffsetX = -fw / 2;\n // Instead of moving the box to the exact middle of the preferred\n // position, for Y-offset we move 0.4 instead, so Latin alphabets look\n // vertical centered.\n var fillTextOffsetY = -fh * 0.4;\n\n // Calculate the actual dimension of the canvas, considering the rotation.\n var cgh = Math.ceil(\n (boxWidth * Math.abs(Math.sin(rotateDeg)) +\n boxHeight * Math.abs(Math.cos(rotateDeg))) /\n g\n );\n var cgw = Math.ceil(\n (boxWidth * Math.abs(Math.cos(rotateDeg)) +\n boxHeight * Math.abs(Math.sin(rotateDeg))) /\n g\n );\n var width = cgw * g;\n var height = cgh * g;\n\n fcanvas.setAttribute('width', width);\n fcanvas.setAttribute('height', height);\n\n if (debug) {\n // Attach fcanvas to the DOM\n document.body.appendChild(fcanvas);\n // Save it's state so that we could restore and draw the grid correctly.\n fctx.save();\n }\n\n // Scale the canvas with |mu|.\n fctx.scale(1 / mu, 1 / mu);\n fctx.translate((width * mu) / 2, (height * mu) / 2);\n fctx.rotate(-rotateDeg);\n\n // Once the width/height is set, ctx info will be reset.\n // Set it again here.\n fctx.font =\n fontWeight +\n ' ' +\n (fontSize * mu).toString(10) +\n 'px ' +\n settings.fontFamily;\n\n // Fill the text into the fcanvas.\n // XXX: We cannot because textBaseline = 'top' here because\n // Firefox and Chrome uses different default line-height for canvas.\n // Please read https://bugzil.la/737852#c6.\n // Here, we use textBaseline = 'middle' and draw the text at exactly\n // 0.5 * fontSize lower.\n fctx.fillStyle = '#000';\n fctx.textBaseline = 'middle';\n fctx.fillText(\n word,\n fillTextOffsetX * mu,\n (fillTextOffsetY + fontSize * 0.5) * mu\n );\n\n // Get the pixels of the text\n var imageData = fctx.getImageData(0, 0, width, height).data;\n\n if (exceedTime()) {\n return false;\n }\n\n if (debug) {\n // Draw the box of the original estimation\n fctx.strokeRect(fillTextOffsetX * mu, fillTextOffsetY, fw * mu, fh * mu);\n fctx.restore();\n }\n\n // Read the pixels and save the information to the occupied array\n var occupied = [];\n var gx = cgw;\n var gy, x, y;\n var bounds = [cgh / 2, cgw / 2, cgh / 2, cgw / 2];\n while (gx--) {\n gy = cgh;\n while (gy--) {\n y = g;\n /* eslint no-labels: ['error', { 'allowLoop': true }] */\n singleGridLoop: while (y--) {\n x = g;\n while (x--) {\n if (imageData[((gy * g + y) * width + (gx * g + x)) * 4 + 3]) {\n occupied.push([gx, gy]);\n\n if (gx < bounds[3]) {\n bounds[3] = gx;\n }\n if (gx > bounds[1]) {\n bounds[1] = gx;\n }\n if (gy < bounds[0]) {\n bounds[0] = gy;\n }\n if (gy > bounds[2]) {\n bounds[2] = gy;\n }\n\n if (debug) {\n fctx.fillStyle = 'rgba(255, 0, 0, 0.5)';\n fctx.fillRect(gx * g, gy * g, g - 0.5, g - 0.5);\n }\n break singleGridLoop;\n }\n }\n }\n if (debug) {\n fctx.fillStyle = 'rgba(0, 0, 255, 0.5)';\n fctx.fillRect(gx * g, gy * g, g - 0.5, g - 0.5);\n }\n }\n }\n\n if (debug) {\n fctx.fillStyle = 'rgba(0, 255, 0, 0.5)';\n fctx.fillRect(\n bounds[3] * g,\n bounds[0] * g,\n (bounds[1] - bounds[3] + 1) * g,\n (bounds[2] - bounds[0] + 1) * g\n );\n }\n\n // Return information needed to create the text on the real canvas\n return {\n mu: mu,\n occupied: occupied,\n bounds: bounds,\n gw: cgw,\n gh: cgh,\n fillTextOffsetX: fillTextOffsetX,\n fillTextOffsetY: fillTextOffsetY,\n fillTextWidth: fw,\n fillTextHeight: fh,\n fontSize: fontSize\n };\n };\n\n /* Determine if there is room available in the given dimension */\n var canFitText = function canFitText(gx, gy, gw, gh, occupied) {\n // Go through the occupied points,\n // return false if the space is not available.\n var i = occupied.length;\n while (i--) {\n var px = gx + occupied[i][0];\n var py = gy + occupied[i][1];\n\n if (px >= ngx || py >= ngy || px < 0 || py < 0) {\n if (!settings.drawOutOfBound) {\n return false;\n }\n continue;\n }\n\n if (!grid[px][py]) {\n return false;\n }\n }\n return true;\n };\n\n /* Actually draw the text on the grid */\n var drawText = function drawText(\n gx,\n gy,\n info,\n word,\n weight,\n distance,\n theta,\n rotateDeg,\n attributes,\n extraDataArray\n ) {\n var fontSize = info.fontSize;\n var color;\n if (getTextColor) {\n color = getTextColor(\n word,\n weight,\n fontSize,\n distance,\n theta,\n extraDataArray\n );\n } else {\n color = settings.color;\n }\n\n // get fontWeight that will be used to set ctx.font and font style rule\n var fontWeight;\n if (getTextFontWeight) {\n fontWeight = getTextFontWeight(word, weight, fontSize, extraDataArray);\n } else {\n fontWeight = settings.fontWeight;\n }\n\n var classes;\n if (getTextClasses) {\n classes = getTextClasses(word, weight, fontSize, extraDataArray);\n } else {\n classes = settings.classes;\n }\n\n elements.forEach(function (el) {\n if (el.getContext) {\n var ctx = el.getContext('2d');\n var mu = info.mu;\n\n // Save the current state before messing it\n ctx.save();\n ctx.scale(1 / mu, 1 / mu);\n\n ctx.font =\n fontWeight +\n ' ' +\n (fontSize * mu).toString(10) +\n 'px ' +\n settings.fontFamily;\n ctx.fillStyle = color;\n\n // Translate the canvas position to the origin coordinate of where\n // the text should be put.\n ctx.translate((gx + info.gw / 2) * g * mu, (gy + info.gh / 2) * g * mu);\n\n if (rotateDeg !== 0) {\n ctx.rotate(-rotateDeg);\n }\n\n // Finally, fill the text.\n\n // XXX: We cannot because textBaseline = 'top' here because\n // Firefox and Chrome uses different default line-height for canvas.\n // Please read https://bugzil.la/737852#c6.\n // Here, we use textBaseline = 'middle' and draw the text at exactly\n // 0.5 * fontSize lower.\n ctx.textBaseline = 'middle';\n ctx.fillText(\n word,\n info.fillTextOffsetX * mu,\n (info.fillTextOffsetY + fontSize * 0.5) * mu\n );\n\n // The below box is always matches how s are positioned\n /* ctx.strokeRect(info.fillTextOffsetX, info.fillTextOffsetY,\n info.fillTextWidth, info.fillTextHeight); */\n\n // Restore the state.\n ctx.restore();\n } else {\n // drawText on DIV element\n var span = document.createElement('span');\n var transformRule = '';\n transformRule = 'rotate(' + (-rotateDeg / Math.PI) * 180 + 'deg) ';\n if (info.mu !== 1) {\n transformRule +=\n 'translateX(-' +\n info.fillTextWidth / 4 +\n 'px) ' +\n 'scale(' +\n 1 / info.mu +\n ')';\n }\n var styleRules = {\n position: 'absolute',\n display: 'block',\n font:\n fontWeight + ' ' + fontSize * info.mu + 'px ' + settings.fontFamily,\n left: (gx + info.gw / 2) * g + info.fillTextOffsetX + 'px',\n top: (gy + info.gh / 2) * g + info.fillTextOffsetY + 'px',\n width: info.fillTextWidth + 'px',\n height: info.fillTextHeight + 'px',\n lineHeight: fontSize + 'px',\n whiteSpace: 'nowrap',\n transform: transformRule,\n webkitTransform: transformRule,\n msTransform: transformRule,\n transformOrigin: '50% 40%',\n webkitTransformOrigin: '50% 40%',\n msTransformOrigin: '50% 40%'\n };\n if (color) {\n styleRules.color = color;\n }\n span.textContent = word;\n for (var cssProp in styleRules) {\n span.style[cssProp] = styleRules[cssProp];\n }\n if (attributes) {\n for (var attribute in attributes) {\n span.setAttribute(attribute, attributes[attribute]);\n }\n }\n if (classes) {\n span.className += classes;\n }\n el.appendChild(span);\n }\n });\n };\n\n /* Help function to updateGrid */\n var fillGridAt = function fillGridAt(x, y, drawMask, dimension, item) {\n if (x >= ngx || y >= ngy || x < 0 || y < 0) {\n return;\n }\n\n grid[x][y] = false;\n\n if (drawMask) {\n var ctx = elements[0].getContext('2d');\n ctx.fillRect(x * g, y * g, maskRectWidth, maskRectWidth);\n }\n\n if (interactive) {\n infoGrid[x][y] = { item: item, dimension: dimension };\n }\n };\n\n /* Update the filling information of the given space with occupied points.\n Draw the mask on the canvas if necessary. */\n var updateGrid = function updateGrid(gx, gy, gw, gh, info, item) {\n var occupied = info.occupied;\n var drawMask = settings.drawMask;\n var ctx;\n if (drawMask) {\n ctx = elements[0].getContext('2d');\n ctx.save();\n ctx.fillStyle = settings.maskColor;\n }\n\n var dimension;\n if (interactive) {\n var bounds = info.bounds;\n dimension = {\n x: (gx + bounds[3]) * g,\n y: (gy + bounds[0]) * g,\n w: (bounds[1] - bounds[3] + 1) * g,\n h: (bounds[2] - bounds[0] + 1) * g\n };\n }\n\n var i = occupied.length;\n while (i--) {\n var px = gx + occupied[i][0];\n var py = gy + occupied[i][1];\n\n if (px >= ngx || py >= ngy || px < 0 || py < 0) {\n continue;\n }\n\n fillGridAt(px, py, drawMask, dimension, item);\n }\n\n if (drawMask) {\n ctx.restore();\n }\n };\n\n /* putWord() processes each item on the list,\n calculate it's size and determine it's position, and actually\n put it on the canvas. */\n var putWord = function putWord(item, loopIndex) {\n if (loopIndex > 20) {\n return null;\n }\n\n var word, weight, attributes;\n if (Array.isArray(item)) {\n word = item[0];\n weight = item[1];\n } else {\n word = item.word;\n weight = item.weight;\n attributes = item.attributes;\n }\n var rotateDeg = getRotateDeg();\n\n var extraDataArray = getItemExtraData(item);\n\n // get info needed to put the text onto the canvas\n var info = getTextInfo(word, weight, rotateDeg, extraDataArray);\n\n // not getting the info means we shouldn't be drawing this one.\n if (!info) {\n return false;\n }\n\n if (exceedTime()) {\n return false;\n }\n\n // If drawOutOfBound is set to false,\n // skip the loop if we have already know the bounding box of\n // word is larger than the canvas.\n if (!settings.drawOutOfBound && !settings.shrinkToFit) {\n var bounds = info.bounds;\n if (bounds[1] - bounds[3] + 1 > ngx || bounds[2] - bounds[0] + 1 > ngy) {\n return false;\n }\n }\n\n // Determine the position to put the text by\n // start looking for the nearest points\n var r = maxRadius + 1;\n\n var tryToPutWordAtPoint = function (gxy) {\n var gx = Math.floor(gxy[0] - info.gw / 2);\n var gy = Math.floor(gxy[1] - info.gh / 2);\n var gw = info.gw;\n var gh = info.gh;\n\n // If we cannot fit the text at this position, return false\n // and go to the next position.\n if (!canFitText(gx, gy, gw, gh, info.occupied)) {\n return false;\n }\n\n // Actually put the text on the canvas\n drawText(\n gx,\n gy,\n info,\n word,\n weight,\n maxRadius - r,\n gxy[2],\n rotateDeg,\n attributes,\n extraDataArray\n );\n\n // Mark the spaces on the grid as filled\n updateGrid(gx, gy, gw, gh, info, item);\n\n return {\n gx: gx,\n gy: gy,\n rot: rotateDeg,\n info: info\n };\n };\n\n while (r--) {\n var points = getPointsAtRadius(maxRadius - r);\n\n if (settings.shuffle) {\n points = [].concat(points);\n shuffleArray(points);\n }\n\n // Try to fit the words by looking at each point.\n // array.some() will stop and return true\n // when putWordAtPoint() returns true.\n for (var i = 0; i < points.length; i++) {\n var res = tryToPutWordAtPoint(points[i]);\n if (res) {\n return res;\n }\n }\n\n // var drawn = points.some(tryToPutWordAtPoint);\n // if (drawn) {\n // // leave putWord() and return true\n // return true;\n // }\n }\n\n if (settings.shrinkToFit) {\n if (Array.isArray(item)) {\n item[1] = (item[1] * 3) / 4;\n } else {\n item.weight = (item.weight * 3) / 4;\n }\n return putWord(item, loopIndex + 1);\n }\n\n // we tried all distances but text won't fit, return null\n return null;\n };\n\n /* Send DOM event to all elements. Will stop sending event and return\n if the previous one is canceled (for cancelable events). */\n var sendEvent = function sendEvent(type, cancelable, details) {\n if (cancelable) {\n return !elements.some(function (el) {\n var event = new CustomEvent(type, {\n detail: details || {}\n });\n return !el.dispatchEvent(event);\n }, this);\n } else {\n elements.forEach(function (el) {\n var event = new CustomEvent(type, {\n detail: details || {}\n });\n el.dispatchEvent(event);\n }, this);\n }\n };\n\n /* Start drawing on a canvas */\n var start = function start() {\n // For dimensions, clearCanvas etc.,\n // we only care about the first element.\n var canvas = elements[0];\n\n if (canvas.getContext) {\n ngx = Math.ceil(canvas.width / g);\n ngy = Math.ceil(canvas.height / g);\n } else {\n var rect = canvas.getBoundingClientRect();\n ngx = Math.ceil(rect.width / g);\n ngy = Math.ceil(rect.height / g);\n }\n\n // Sending a wordcloudstart event which cause the previous loop to stop.\n // Do nothing if the event is canceled.\n if (!sendEvent('wordcloudstart', true)) {\n return;\n }\n\n // Determine the center of the word cloud\n center = settings.origin\n ? [settings.origin[0] / g, settings.origin[1] / g]\n : [ngx / 2, ngy / 2];\n\n // Maxium radius to look for space\n maxRadius = Math.floor(Math.sqrt(ngx * ngx + ngy * ngy));\n\n /* Clear the canvas only if the clearCanvas is set,\n if not, update the grid to the current canvas state */\n grid = [];\n\n var gx, gy, i;\n if (!canvas.getContext || settings.clearCanvas) {\n elements.forEach(function (el) {\n if (el.getContext) {\n var ctx = el.getContext('2d');\n ctx.fillStyle = settings.backgroundColor;\n ctx.clearRect(0, 0, ngx * (g + 1), ngy * (g + 1));\n ctx.fillRect(0, 0, ngx * (g + 1), ngy * (g + 1));\n } else {\n el.textContent = '';\n el.style.backgroundColor = settings.backgroundColor;\n el.style.position = 'relative';\n }\n });\n\n /* fill the grid with empty state */\n gx = ngx;\n while (gx--) {\n grid[gx] = [];\n gy = ngy;\n while (gy--) {\n grid[gx][gy] = true;\n }\n }\n } else {\n /* Determine bgPixel by creating\n another canvas and fill the specified background color. */\n var bctx = document.createElement('canvas').getContext('2d');\n\n bctx.fillStyle = settings.backgroundColor;\n bctx.fillRect(0, 0, 1, 1);\n var bgPixel = bctx.getImageData(0, 0, 1, 1).data;\n\n /* Read back the pixels of the canvas we got to tell which part of the\n canvas is empty.\n (no clearCanvas only works with a canvas, not divs) */\n var imageData = canvas\n .getContext('2d')\n .getImageData(0, 0, ngx * g, ngy * g).data;\n\n gx = ngx;\n var x, y;\n while (gx--) {\n grid[gx] = [];\n gy = ngy;\n while (gy--) {\n y = g;\n /* eslint no-labels: ['error', { 'allowLoop': true }] */\n singleGridLoop: while (y--) {\n x = g;\n while (x--) {\n i = 4;\n while (i--) {\n if (\n imageData[((gy * g + y) * ngx * g + (gx * g + x)) * 4 + i] !==\n bgPixel[i]\n ) {\n grid[gx][gy] = false;\n break singleGridLoop;\n }\n }\n }\n }\n if (grid[gx][gy] !== false) {\n grid[gx][gy] = true;\n }\n }\n }\n\n imageData = bctx = bgPixel = undefined;\n }\n\n // fill the infoGrid with empty state if we need it\n if (settings.hover || settings.click) {\n interactive = true;\n\n /* fill the grid with empty state */\n gx = ngx + 1;\n while (gx--) {\n infoGrid[gx] = [];\n }\n\n if (settings.hover) {\n canvas.addEventListener('mousemove', wordcloudhover);\n }\n\n if (settings.click) {\n canvas.addEventListener('click', wordcloudclick);\n canvas.addEventListener('touchstart', wordcloudclick);\n canvas.addEventListener('touchend', function (e) {\n e.preventDefault();\n });\n canvas.style.webkitTapHighlightColor = 'rgba(0, 0, 0, 0)';\n }\n\n canvas.addEventListener('wordcloudstart', function stopInteraction() {\n canvas.removeEventListener('wordcloudstart', stopInteraction);\n\n canvas.removeEventListener('mousemove', wordcloudhover);\n canvas.removeEventListener('click', wordcloudclick);\n hovered = undefined;\n });\n }\n\n i = 0;\n var loopingFunction, stoppingFunction;\n var layouting = true;\n if (!settings.layoutAnimation) {\n loopingFunction = function (cb) {\n cb();\n };\n stoppingFunction = function () {\n layouting = false;\n };\n } else if (settings.wait !== 0) {\n loopingFunction = window.setTimeout;\n stoppingFunction = window.clearTimeout;\n } else {\n loopingFunction = window.setImmediate;\n stoppingFunction = window.clearImmediate;\n }\n\n var addEventListener = function addEventListener(type, listener) {\n elements.forEach(function (el) {\n el.addEventListener(type, listener);\n }, this);\n };\n\n var removeEventListener = function removeEventListener(type, listener) {\n elements.forEach(function (el) {\n el.removeEventListener(type, listener);\n }, this);\n };\n\n var anotherWordCloudStart = function anotherWordCloudStart() {\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n stoppingFunction(timer[timerId]);\n };\n\n addEventListener('wordcloudstart', anotherWordCloudStart);\n\n // At least wait the following code before call the first iteration.\n timer[timerId] = (settings.layoutAnimation ? loopingFunction : setTimeout)(\n function loop() {\n if (!layouting) {\n return;\n }\n if (i >= settings.list.length) {\n stoppingFunction(timer[timerId]);\n sendEvent('wordcloudstop', false);\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n delete timer[timerId];\n return;\n }\n escapeTime = new Date().getTime();\n var drawn = putWord(settings.list[i], 0);\n var canceled = !sendEvent('wordclouddrawn', true, {\n item: settings.list[i],\n drawn: drawn\n });\n if (exceedTime() || canceled) {\n stoppingFunction(timer[timerId]);\n settings.abort();\n sendEvent('wordcloudabort', false);\n sendEvent('wordcloudstop', false);\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n return;\n }\n i++;\n timer[timerId] = loopingFunction(loop, settings.wait);\n },\n settings.wait\n );\n };\n\n // All set, start the drawing\n start();\n};\n\nWordCloud.isSupported = isSupported;\nWordCloud.minFontSize = minFontSize;\n\nexport default WordCloud;\n", "import * as echarts from 'echarts/lib/echarts';\n\nimport './WordCloudSeries';\nimport './WordCloudView';\n\nimport wordCloudLayoutHelper from './layout';\n\nif (!wordCloudLayoutHelper.isSupported) {\n throw new Error('Sorry your browser not support wordCloud');\n}\n\n// https://github.com/timdream/wordcloud2.js/blob/c236bee60436e048949f9becc4f0f67bd832dc5c/index.js#L233\nfunction updateCanvasMask(maskCanvas) {\n var ctx = maskCanvas.getContext('2d');\n var imageData = ctx.getImageData(0, 0, maskCanvas.width, maskCanvas.height);\n var newImageData = ctx.createImageData(imageData);\n\n var toneSum = 0;\n var toneCnt = 0;\n for (var i = 0; i < imageData.data.length; i += 4) {\n var alpha = imageData.data[i + 3];\n if (alpha > 128) {\n var tone =\n imageData.data[i] + imageData.data[i + 1] + imageData.data[i + 2];\n toneSum += tone;\n ++toneCnt;\n }\n }\n var threshold = toneSum / toneCnt;\n\n for (var i = 0; i < imageData.data.length; i += 4) {\n var tone =\n imageData.data[i] + imageData.data[i + 1] + imageData.data[i + 2];\n var alpha = imageData.data[i + 3];\n\n if (alpha < 128 || tone > threshold) {\n // Area not to draw\n newImageData.data[i] = 0;\n newImageData.data[i + 1] = 0;\n newImageData.data[i + 2] = 0;\n newImageData.data[i + 3] = 0;\n } else {\n // Area to draw\n // The color must be same with backgroundColor\n newImageData.data[i] = 255;\n newImageData.data[i + 1] = 255;\n newImageData.data[i + 2] = 255;\n newImageData.data[i + 3] = 255;\n }\n }\n\n ctx.putImageData(newImageData, 0, 0);\n}\n\necharts.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('wordCloud', function (seriesModel) {\n var gridRect = echarts.helper.getLayoutRect(\n seriesModel.getBoxLayoutParams(),\n {\n width: api.getWidth(),\n height: api.getHeight()\n }\n );\n\n var keepAspect = seriesModel.get('keepAspect');\n var maskImage = seriesModel.get('maskImage');\n var ratio = maskImage ? maskImage.width / maskImage.height : 1;\n keepAspect && adjustRectAspect(gridRect, ratio);\n\n var data = seriesModel.getData();\n\n var canvas = document.createElement('canvas');\n canvas.width = gridRect.width;\n canvas.height = gridRect.height;\n\n var ctx = canvas.getContext('2d');\n if (maskImage) {\n try {\n ctx.drawImage(maskImage, 0, 0, canvas.width, canvas.height);\n updateCanvasMask(canvas);\n } catch (e) {\n console.error('Invalid mask image');\n console.error(e.toString());\n }\n }\n\n var sizeRange = seriesModel.get('sizeRange');\n var rotationRange = seriesModel.get('rotationRange');\n var valueExtent = data.getDataExtent('value');\n\n var DEGREE_TO_RAD = Math.PI / 180;\n var gridSize = seriesModel.get('gridSize');\n wordCloudLayoutHelper(canvas, {\n list: data\n .mapArray('value', function (value, idx) {\n var itemModel = data.getItemModel(idx);\n return [\n data.getName(idx),\n itemModel.get('textStyle.fontSize', true) ||\n echarts.number.linearMap(value, valueExtent, sizeRange),\n idx\n ];\n })\n .sort(function (a, b) {\n // Sort from large to small in case there is no more room for more words\n return b[1] - a[1];\n }),\n fontFamily:\n seriesModel.get('textStyle.fontFamily') ||\n seriesModel.get('emphasis.textStyle.fontFamily') ||\n ecModel.get('textStyle.fontFamily'),\n fontWeight:\n seriesModel.get('textStyle.fontWeight') ||\n seriesModel.get('emphasis.textStyle.fontWeight') ||\n ecModel.get('textStyle.fontWeight'),\n\n gridSize: gridSize,\n\n ellipticity: gridRect.height / gridRect.width,\n\n minRotation: rotationRange[0] * DEGREE_TO_RAD,\n maxRotation: rotationRange[1] * DEGREE_TO_RAD,\n\n clearCanvas: !maskImage,\n\n rotateRatio: 1,\n\n rotationStep: seriesModel.get('rotationStep') * DEGREE_TO_RAD,\n\n drawOutOfBound: seriesModel.get('drawOutOfBound'),\n shrinkToFit: seriesModel.get('shrinkToFit'),\n\n layoutAnimation: seriesModel.get('layoutAnimation'),\n\n shuffle: false,\n\n shape: seriesModel.get('shape')\n });\n\n function onWordCloudDrawn(e) {\n var item = e.detail.item;\n if (e.detail.drawn && seriesModel.layoutInstance.ondraw) {\n e.detail.drawn.gx += gridRect.x / gridSize;\n e.detail.drawn.gy += gridRect.y / gridSize;\n seriesModel.layoutInstance.ondraw(\n item[0],\n item[1],\n item[2],\n e.detail.drawn\n );\n }\n }\n\n canvas.addEventListener('wordclouddrawn', onWordCloudDrawn);\n\n if (seriesModel.layoutInstance) {\n // Dispose previous\n seriesModel.layoutInstance.dispose();\n }\n\n seriesModel.layoutInstance = {\n ondraw: null,\n\n dispose: function () {\n canvas.removeEventListener('wordclouddrawn', onWordCloudDrawn);\n // Abort\n canvas.addEventListener('wordclouddrawn', function (e) {\n // Prevent default to cancle the event and stop the loop\n e.preventDefault();\n });\n }\n };\n });\n});\n\necharts.registerPreprocessor(function (option) {\n var series = (option || {}).series;\n !echarts.util.isArray(series) && (series = series ? [series] : []);\n\n var compats = ['shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n\n echarts.util.each(series, function (seriesItem) {\n if (seriesItem && seriesItem.type === 'wordCloud') {\n var textStyle = seriesItem.textStyle || {};\n\n compatTextStyle(textStyle.normal);\n compatTextStyle(textStyle.emphasis);\n }\n });\n\n function compatTextStyle(textStyle) {\n textStyle &&\n echarts.util.each(compats, function (key) {\n if (textStyle.hasOwnProperty(key)) {\n textStyle['text' + echarts.format.capitalFirst(key)] = textStyle[key];\n }\n });\n }\n});\n\nfunction adjustRectAspect(gridRect, aspect) {\n // var outerWidth = gridRect.width + gridRect.x * 2;\n // var outerHeight = gridRect.height + gridRect.y * 2;\n var width = gridRect.width;\n var height = gridRect.height;\n if (width > height * aspect) {\n gridRect.x += (width - height * aspect) / 2;\n gridRect.width = height * aspect;\n } else {\n gridRect.y += (height - width / aspect) / 2;\n gridRect.height = width / aspect;\n }\n}\n"], - "mappings": "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", + "mappings": "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", "names": ["install", "setZeroTimeout", "timer", "isSupported", "shuffleArray", "WordCloud", "getInfoGridFromMouseTouchEvent", "wordcloudhover", "wordcloudclick", "getPointsAtRadius", "exceedTime", "getRotateDeg", "getTextInfo", "mu", "canFitText", "drawText", "fillGridAt", "updateGrid", "putWord", "sendEvent", "start", "addEventListener", "removeEventListener", "anotherWordCloudStart"] } diff --git a/node_modules/.vite/deps/echarts.js b/node_modules/.vite/deps/echarts.js index c59b5f0b..42201572 100644 --- a/node_modules/.vite/deps/echarts.js +++ b/node_modules/.vite/deps/echarts.js @@ -1,19 +1,20 @@ +import { + install as install50 +} from "./chunk-6JA6BRXS.js"; import { install as install27, install10 as install36, install11 as install37, - install12 as install38, - install13 as install39, - install14 as install40, - install15 as install41, - install16 as install42, - install17 as install43, - install18 as install44, - install19 as install45, + install14 as install41, + install15 as install42, + install16 as install43, + install17 as install44, + install18 as install45, + install19 as install46, install2 as install28, - install20 as install46, - install21 as install47, - install22 as install48, + install20 as install47, + install21 as install48, + install22 as install49, install3 as install29, install4 as install30, install5 as install31, @@ -21,55 +22,54 @@ import { install7 as install33, install8 as install34, install9 as install35 -} from "./chunk-ND6EB7CF.js"; +} from "./chunk-AUPWZZDD.js"; import { - install as install50 -} from "./chunk-2I4JXH7Q.js"; + install as install40 +} from "./chunk-PRCWTGNB.js"; import { - install as install49 -} from "./chunk-KJFX5ANN.js"; + install as install39 +} from "./chunk-X72D7ZPW.js"; +import { + install as install38 +} from "./chunk-XNXAGDXI.js"; +import "./chunk-EM6SBCMK.js"; import { install, - install10 as install12, - install11 as install13, - install14 as install17, - install15 as install18, - install16 as install19, - install17 as install20, - install18 as install21, - install19 as install22, + install10 as install11, + install11 as install12, + install12 as install14, + install13 as install15, + install14 as install16, + install15 as install17, + install16 as install18, + install17 as install19, + install18 as install20, + install19 as install21, install2, - install20 as install23, - install21 as install24, - install22 as install25, + install20 as install22, + install21 as install23, + install22 as install24, install3, - install4 as install5, - install5 as install7, - install6 as install8, - install7 as install9, - install8 as install10, - install9 as install11 -} from "./chunk-NMP246CO.js"; + install4, + install5, + install6 as install7, + install7 as install8, + install8 as install9, + install9 as install10 +} from "./chunk-TWPUBDXC.js"; import { - install as install15 -} from "./chunk-P7FEEIEF.js"; -import { - install as install16 -} from "./chunk-QQGFJP25.js"; -import { - install as install14 -} from "./chunk-D6WD7HPM.js"; -import "./chunk-FGVL4PGJ.js"; -import { - install3 as install4, - install4 as install6 -} from "./chunk-F5M4HOVH.js"; -import "./chunk-VW272IHF.js"; + install3 as install6, + install4 as install13 +} from "./chunk-WRWLNY4R.js"; +import "./chunk-GORRBXQH.js"; import "./chunk-QAR3K42R.js"; -import "./chunk-LEHUY6WA.js"; +import "./chunk-NWTUODUO.js"; +import { + install as install25 +} from "./chunk-KNIVXUEF.js"; import { install as install26 -} from "./chunk-XNS7XN3L.js"; +} from "./chunk-OBFEZ4QG.js"; import { extendChartView, extendComponentModel, @@ -82,12 +82,12 @@ import { number_exports, time_exports, util_exports as util_exports2 -} from "./chunk-2TFNBWBF.js"; -import "./chunk-X5CQ556A.js"; +} from "./chunk-M56X7I32.js"; +import "./chunk-LMKTAN4E.js"; import { Axis_default, parseGeoJSON -} from "./chunk-NF6IA4AL.js"; +} from "./chunk-V45EMKQW.js"; import { Chart_default, Component_default, @@ -136,7 +136,7 @@ import { use, version, warn -} from "./chunk-QJLIGECE.js"; +} from "./chunk-ZCOAJCG3.js"; import { BoundingRect_default, Displayable_default, @@ -163,7 +163,7 @@ import { util_exports, vector_exports, zrender_exports -} from "./chunk-GVYX3QQL.js"; +} from "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/convertPath.js @@ -1894,42 +1894,42 @@ function installUniversalTransition(registers) { } // node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/index.js -use([install49]); +use([install25]); use([install50]); -use([install27, install28, install29, install30, install31, install32, install33, install34, install35, install36, install37, install38, install39, install40, install41, install42, install43, install44, install45, install46, install47, install48]); -use(install2); -use(install3); -use(install4); -use(install5); +use([install, install2, install3, install4, install5, install7, install8, install9, install10, install11, install12, install14, install15, install16, install17, install18, install19, install20, install21, install22, install23, install24]); +use(install28); +use(install29); use(install6); -use(install7); -use(install8); -use(install9); -use(install10); -use(install); -use(install11); -use(install12); +use(install30); use(install13); -use(install14); -use(install15); -use(install16); -use(install17); -use(install20); -use(install18); -use(install19); -use(install23); -use(install21); -use(install22); -use(install24); -use(install25); +use(install31); +use(install32); +use(install33); +use(install34); +use(install27); +use(install35); +use(install36); +use(install37); +use(install38); +use(install39); +use(install40); +use(install41); +use(install44); +use(install42); +use(install43); +use(install47); +use(install45); +use(install46); +use(install48); +use(install49); use(install26); use(installUniversalTransition); use(installLabelLayout); export { Axis_default as Axis, Chart_default as ChartView, - Component_default2 as ComponentModel, - Component_default as ComponentView, + Component_default as ComponentModel, + Component_default2 as ComponentView, SeriesData_default as List, Model_default as Model, PRIORITY, diff --git a/node_modules/.vite/deps/echarts.js.map b/node_modules/.vite/deps/echarts.js.map index a9caa77e..3190ec48 100644 --- a/node_modules/.vite/deps/echarts.js.map +++ b/node_modules/.vite/deps/echarts.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../../.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/convertPath.js", "../../.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/dividePath.js", "../../.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/morphPath.js", "../../.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/morphTransitionHelper.js", "../../.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/universalTransition.js", "../../.pnpm/echarts@5.5.1/node_modules/echarts/index.js"], "sourcesContent": ["import { cubicSubdivide } from '../core/curve.js';\nimport PathProxy from '../core/PathProxy.js';\nvar CMD = PathProxy.CMD;\nfunction aroundEqual(a, b) {\n return Math.abs(a - b) < 1e-5;\n}\nexport function pathToBezierCurves(path) {\n var data = path.data;\n var len = path.len();\n var bezierArrayGroups = [];\n var currentSubpath;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n function createNewSubpath(x, y) {\n if (currentSubpath && currentSubpath.length > 2) {\n bezierArrayGroups.push(currentSubpath);\n }\n currentSubpath = [x, y];\n }\n function addLine(x0, y0, x1, y1) {\n if (!(aroundEqual(x0, x1) && aroundEqual(y0, y1))) {\n currentSubpath.push(x0, y0, x1, y1, x1, y1);\n }\n }\n function addArc(startAngle, endAngle, cx, cy, rx, ry) {\n var delta = Math.abs(endAngle - startAngle);\n var len = Math.tan(delta / 4) * 4 / 3;\n var dir = endAngle < startAngle ? -1 : 1;\n var c1 = Math.cos(startAngle);\n var s1 = Math.sin(startAngle);\n var c2 = Math.cos(endAngle);\n var s2 = Math.sin(endAngle);\n var x1 = c1 * rx + cx;\n var y1 = s1 * ry + cy;\n var x4 = c2 * rx + cx;\n var y4 = s2 * ry + cy;\n var hx = rx * len * dir;\n var hy = ry * len * dir;\n currentSubpath.push(x1 - hx * s1, y1 + hy * c1, x4 + hx * s2, y4 - hy * c2, x4, y4);\n }\n var x1;\n var y1;\n var x2;\n var y2;\n for (var i = 0; i < len;) {\n var cmd = data[i++];\n var isFirst = i === 1;\n if (isFirst) {\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n if (cmd === CMD.L || cmd === CMD.C || cmd === CMD.Q) {\n currentSubpath = [x0, y0];\n }\n }\n switch (cmd) {\n case CMD.M:\n xi = x0 = data[i++];\n yi = y0 = data[i++];\n createNewSubpath(x0, y0);\n break;\n case CMD.L:\n x1 = data[i++];\n y1 = data[i++];\n addLine(xi, yi, x1, y1);\n xi = x1;\n yi = y1;\n break;\n case CMD.C:\n currentSubpath.push(data[i++], data[i++], data[i++], data[i++], xi = data[i++], yi = data[i++]);\n break;\n case CMD.Q:\n x1 = data[i++];\n y1 = data[i++];\n x2 = data[i++];\n y2 = data[i++];\n currentSubpath.push(xi + 2 / 3 * (x1 - xi), yi + 2 / 3 * (y1 - yi), x2 + 2 / 3 * (x1 - x2), y2 + 2 / 3 * (y1 - y2), x2, y2);\n xi = x2;\n yi = y2;\n break;\n case CMD.A:\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++];\n var endAngle = data[i++] + startAngle;\n i += 1;\n var anticlockwise = !data[i++];\n x1 = Math.cos(startAngle) * rx + cx;\n y1 = Math.sin(startAngle) * ry + cy;\n if (isFirst) {\n x0 = x1;\n y0 = y1;\n createNewSubpath(x0, y0);\n }\n else {\n addLine(xi, yi, x1, y1);\n }\n xi = Math.cos(endAngle) * rx + cx;\n yi = Math.sin(endAngle) * ry + cy;\n var step = (anticlockwise ? -1 : 1) * Math.PI / 2;\n for (var angle = startAngle; anticlockwise ? angle > endAngle : angle < endAngle; angle += step) {\n var nextAngle = anticlockwise ? Math.max(angle + step, endAngle)\n : Math.min(angle + step, endAngle);\n addArc(angle, nextAngle, cx, cy, rx, ry);\n }\n break;\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n x1 = x0 + data[i++];\n y1 = y0 + data[i++];\n createNewSubpath(x1, y0);\n addLine(x1, y0, x1, y1);\n addLine(x1, y1, x0, y1);\n addLine(x0, y1, x0, y0);\n addLine(x0, y0, x1, y0);\n break;\n case CMD.Z:\n currentSubpath && addLine(xi, yi, x0, y0);\n xi = x0;\n yi = y0;\n break;\n }\n }\n if (currentSubpath && currentSubpath.length > 2) {\n bezierArrayGroups.push(currentSubpath);\n }\n return bezierArrayGroups;\n}\nfunction adpativeBezier(x0, y0, x1, y1, x2, y2, x3, y3, out, scale) {\n if (aroundEqual(x0, x1) && aroundEqual(y0, y1) && aroundEqual(x2, x3) && aroundEqual(y2, y3)) {\n out.push(x3, y3);\n return;\n }\n var PIXEL_DISTANCE = 2 / scale;\n var PIXEL_DISTANCE_SQR = PIXEL_DISTANCE * PIXEL_DISTANCE;\n var dx = x3 - x0;\n var dy = y3 - y0;\n var d = Math.sqrt(dx * dx + dy * dy);\n dx /= d;\n dy /= d;\n var dx1 = x1 - x0;\n var dy1 = y1 - y0;\n var dx2 = x2 - x3;\n var dy2 = y2 - y3;\n var cp1LenSqr = dx1 * dx1 + dy1 * dy1;\n var cp2LenSqr = dx2 * dx2 + dy2 * dy2;\n if (cp1LenSqr < PIXEL_DISTANCE_SQR && cp2LenSqr < PIXEL_DISTANCE_SQR) {\n out.push(x3, y3);\n return;\n }\n var projLen1 = dx * dx1 + dy * dy1;\n var projLen2 = -dx * dx2 - dy * dy2;\n var d1Sqr = cp1LenSqr - projLen1 * projLen1;\n var d2Sqr = cp2LenSqr - projLen2 * projLen2;\n if (d1Sqr < PIXEL_DISTANCE_SQR && projLen1 >= 0\n && d2Sqr < PIXEL_DISTANCE_SQR && projLen2 >= 0) {\n out.push(x3, y3);\n return;\n }\n var tmpSegX = [];\n var tmpSegY = [];\n cubicSubdivide(x0, x1, x2, x3, 0.5, tmpSegX);\n cubicSubdivide(y0, y1, y2, y3, 0.5, tmpSegY);\n adpativeBezier(tmpSegX[0], tmpSegY[0], tmpSegX[1], tmpSegY[1], tmpSegX[2], tmpSegY[2], tmpSegX[3], tmpSegY[3], out, scale);\n adpativeBezier(tmpSegX[4], tmpSegY[4], tmpSegX[5], tmpSegY[5], tmpSegX[6], tmpSegY[6], tmpSegX[7], tmpSegY[7], out, scale);\n}\nexport function pathToPolygons(path, scale) {\n var bezierArrayGroups = pathToBezierCurves(path);\n var polygons = [];\n scale = scale || 1;\n for (var i = 0; i < bezierArrayGroups.length; i++) {\n var beziers = bezierArrayGroups[i];\n var polygon = [];\n var x0 = beziers[0];\n var y0 = beziers[1];\n polygon.push(x0, y0);\n for (var k = 2; k < beziers.length;) {\n var x1 = beziers[k++];\n var y1 = beziers[k++];\n var x2 = beziers[k++];\n var y2 = beziers[k++];\n var x3 = beziers[k++];\n var y3 = beziers[k++];\n adpativeBezier(x0, y0, x1, y1, x2, y2, x3, y3, polygon, scale);\n x0 = x3;\n y0 = y3;\n }\n polygons.push(polygon);\n }\n return polygons;\n}\n", "import { fromPoints } from '../core/bbox.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport Point from '../core/Point.js';\nimport { map } from '../core/util.js';\nimport Polygon from '../graphic/shape/Polygon.js';\nimport Rect from '../graphic/shape/Rect.js';\nimport Sector from '../graphic/shape/Sector.js';\nimport { pathToPolygons } from './convertPath.js';\nimport { clonePath } from './path.js';\nfunction getDividingGrids(dimSize, rowDim, count) {\n var rowSize = dimSize[rowDim];\n var columnSize = dimSize[1 - rowDim];\n var ratio = Math.abs(rowSize / columnSize);\n var rowCount = Math.ceil(Math.sqrt(ratio * count));\n var columnCount = Math.floor(count / rowCount);\n if (columnCount === 0) {\n columnCount = 1;\n rowCount = count;\n }\n var grids = [];\n for (var i = 0; i < rowCount; i++) {\n grids.push(columnCount);\n }\n var currentCount = rowCount * columnCount;\n var remained = count - currentCount;\n if (remained > 0) {\n for (var i = 0; i < remained; i++) {\n grids[i % rowCount] += 1;\n }\n }\n return grids;\n}\nfunction divideSector(sectorShape, count, outShapes) {\n var r0 = sectorShape.r0;\n var r = sectorShape.r;\n var startAngle = sectorShape.startAngle;\n var endAngle = sectorShape.endAngle;\n var angle = Math.abs(endAngle - startAngle);\n var arcLen = angle * r;\n var deltaR = r - r0;\n var isAngleRow = arcLen > Math.abs(deltaR);\n var grids = getDividingGrids([arcLen, deltaR], isAngleRow ? 0 : 1, count);\n var rowSize = (isAngleRow ? angle : deltaR) / grids.length;\n for (var row = 0; row < grids.length; row++) {\n var columnSize = (isAngleRow ? deltaR : angle) / grids[row];\n for (var column = 0; column < grids[row]; column++) {\n var newShape = {};\n if (isAngleRow) {\n newShape.startAngle = startAngle + rowSize * row;\n newShape.endAngle = startAngle + rowSize * (row + 1);\n newShape.r0 = r0 + columnSize * column;\n newShape.r = r0 + columnSize * (column + 1);\n }\n else {\n newShape.startAngle = startAngle + columnSize * column;\n newShape.endAngle = startAngle + columnSize * (column + 1);\n newShape.r0 = r0 + rowSize * row;\n newShape.r = r0 + rowSize * (row + 1);\n }\n newShape.clockwise = sectorShape.clockwise;\n newShape.cx = sectorShape.cx;\n newShape.cy = sectorShape.cy;\n outShapes.push(newShape);\n }\n }\n}\nfunction divideRect(rectShape, count, outShapes) {\n var width = rectShape.width;\n var height = rectShape.height;\n var isHorizontalRow = width > height;\n var grids = getDividingGrids([width, height], isHorizontalRow ? 0 : 1, count);\n var rowSizeDim = isHorizontalRow ? 'width' : 'height';\n var columnSizeDim = isHorizontalRow ? 'height' : 'width';\n var rowDim = isHorizontalRow ? 'x' : 'y';\n var columnDim = isHorizontalRow ? 'y' : 'x';\n var rowSize = rectShape[rowSizeDim] / grids.length;\n for (var row = 0; row < grids.length; row++) {\n var columnSize = rectShape[columnSizeDim] / grids[row];\n for (var column = 0; column < grids[row]; column++) {\n var newShape = {};\n newShape[rowDim] = row * rowSize;\n newShape[columnDim] = column * columnSize;\n newShape[rowSizeDim] = rowSize;\n newShape[columnSizeDim] = columnSize;\n newShape.x += rectShape.x;\n newShape.y += rectShape.y;\n outShapes.push(newShape);\n }\n }\n}\nfunction crossProduct2d(x1, y1, x2, y2) {\n return x1 * y2 - x2 * y1;\n}\nfunction lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {\n var mx = a2x - a1x;\n var my = a2y - a1y;\n var nx = b2x - b1x;\n var ny = b2y - b1y;\n var nmCrossProduct = crossProduct2d(nx, ny, mx, my);\n if (Math.abs(nmCrossProduct) < 1e-6) {\n return null;\n }\n var b1a1x = a1x - b1x;\n var b1a1y = a1y - b1y;\n var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;\n if (p < 0 || p > 1) {\n return null;\n }\n return new Point(p * mx + a1x, p * my + a1y);\n}\nfunction projPtOnLine(pt, lineA, lineB) {\n var dir = new Point();\n Point.sub(dir, lineB, lineA);\n dir.normalize();\n var dir2 = new Point();\n Point.sub(dir2, pt, lineA);\n var len = dir2.dot(dir);\n return len;\n}\nfunction addToPoly(poly, pt) {\n var last = poly[poly.length - 1];\n if (last && last[0] === pt[0] && last[1] === pt[1]) {\n return;\n }\n poly.push(pt);\n}\nfunction splitPolygonByLine(points, lineA, lineB) {\n var len = points.length;\n var intersections = [];\n for (var i = 0; i < len; i++) {\n var p0 = points[i];\n var p1 = points[(i + 1) % len];\n var intersectionPt = lineLineIntersect(p0[0], p0[1], p1[0], p1[1], lineA.x, lineA.y, lineB.x, lineB.y);\n if (intersectionPt) {\n intersections.push({\n projPt: projPtOnLine(intersectionPt, lineA, lineB),\n pt: intersectionPt,\n idx: i\n });\n }\n }\n if (intersections.length < 2) {\n return [{ points: points }, { points: points }];\n }\n intersections.sort(function (a, b) {\n return a.projPt - b.projPt;\n });\n var splitPt0 = intersections[0];\n var splitPt1 = intersections[intersections.length - 1];\n if (splitPt1.idx < splitPt0.idx) {\n var tmp = splitPt0;\n splitPt0 = splitPt1;\n splitPt1 = tmp;\n }\n var splitPt0Arr = [splitPt0.pt.x, splitPt0.pt.y];\n var splitPt1Arr = [splitPt1.pt.x, splitPt1.pt.y];\n var newPolyA = [splitPt0Arr];\n var newPolyB = [splitPt1Arr];\n for (var i = splitPt0.idx + 1; i <= splitPt1.idx; i++) {\n addToPoly(newPolyA, points[i].slice());\n }\n addToPoly(newPolyA, splitPt1Arr);\n addToPoly(newPolyA, splitPt0Arr);\n for (var i = splitPt1.idx + 1; i <= splitPt0.idx + len; i++) {\n addToPoly(newPolyB, points[i % len].slice());\n }\n addToPoly(newPolyB, splitPt0Arr);\n addToPoly(newPolyB, splitPt1Arr);\n return [{\n points: newPolyA\n }, {\n points: newPolyB\n }];\n}\nfunction binaryDividePolygon(polygonShape) {\n var points = polygonShape.points;\n var min = [];\n var max = [];\n fromPoints(points, min, max);\n var boundingRect = new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n var width = boundingRect.width;\n var height = boundingRect.height;\n var x = boundingRect.x;\n var y = boundingRect.y;\n var pt0 = new Point();\n var pt1 = new Point();\n if (width > height) {\n pt0.x = pt1.x = x + width / 2;\n pt0.y = y;\n pt1.y = y + height;\n }\n else {\n pt0.y = pt1.y = y + height / 2;\n pt0.x = x;\n pt1.x = x + width;\n }\n return splitPolygonByLine(points, pt0, pt1);\n}\nfunction binaryDivideRecursive(divider, shape, count, out) {\n if (count === 1) {\n out.push(shape);\n }\n else {\n var mid = Math.floor(count / 2);\n var sub = divider(shape);\n binaryDivideRecursive(divider, sub[0], mid, out);\n binaryDivideRecursive(divider, sub[1], count - mid, out);\n }\n return out;\n}\nexport function clone(path, count) {\n var paths = [];\n for (var i = 0; i < count; i++) {\n paths.push(clonePath(path));\n }\n return paths;\n}\nfunction copyPathProps(source, target) {\n target.setStyle(source.style);\n target.z = source.z;\n target.z2 = source.z2;\n target.zlevel = source.zlevel;\n}\nfunction polygonConvert(points) {\n var out = [];\n for (var i = 0; i < points.length;) {\n out.push([points[i++], points[i++]]);\n }\n return out;\n}\nexport function split(path, count) {\n var outShapes = [];\n var shape = path.shape;\n var OutShapeCtor;\n switch (path.type) {\n case 'rect':\n divideRect(shape, count, outShapes);\n OutShapeCtor = Rect;\n break;\n case 'sector':\n divideSector(shape, count, outShapes);\n OutShapeCtor = Sector;\n break;\n case 'circle':\n divideSector({\n r0: 0, r: shape.r, startAngle: 0, endAngle: Math.PI * 2,\n cx: shape.cx, cy: shape.cy\n }, count, outShapes);\n OutShapeCtor = Sector;\n break;\n default:\n var m = path.getComputedTransform();\n var scale = m ? Math.sqrt(Math.max(m[0] * m[0] + m[1] * m[1], m[2] * m[2] + m[3] * m[3])) : 1;\n var polygons = map(pathToPolygons(path.getUpdatedPathProxy(), scale), function (poly) { return polygonConvert(poly); });\n var polygonCount = polygons.length;\n if (polygonCount === 0) {\n binaryDivideRecursive(binaryDividePolygon, {\n points: polygons[0]\n }, count, outShapes);\n }\n else if (polygonCount === count) {\n for (var i = 0; i < polygonCount; i++) {\n outShapes.push({\n points: polygons[i]\n });\n }\n }\n else {\n var totalArea_1 = 0;\n var items = map(polygons, function (poly) {\n var min = [];\n var max = [];\n fromPoints(poly, min, max);\n var area = (max[1] - min[1]) * (max[0] - min[0]);\n totalArea_1 += area;\n return { poly: poly, area: area };\n });\n items.sort(function (a, b) { return b.area - a.area; });\n var left = count;\n for (var i = 0; i < polygonCount; i++) {\n var item = items[i];\n if (left <= 0) {\n break;\n }\n var selfCount = i === polygonCount - 1\n ? left\n : Math.ceil(item.area / totalArea_1 * count);\n if (selfCount < 0) {\n continue;\n }\n binaryDivideRecursive(binaryDividePolygon, {\n points: item.poly\n }, selfCount, outShapes);\n left -= selfCount;\n }\n ;\n }\n OutShapeCtor = Polygon;\n break;\n }\n if (!OutShapeCtor) {\n return clone(path, count);\n }\n var out = [];\n for (var i = 0; i < outShapes.length; i++) {\n var subPath = new OutShapeCtor();\n subPath.setShape(outShapes[i]);\n copyPathProps(path, subPath);\n out.push(subPath);\n }\n return out;\n}\n", "import { cubicSubdivide } from '../core/curve.js';\nimport Path from '../graphic/Path.js';\nimport { defaults, map } from '../core/util.js';\nimport { lerp } from '../core/vector.js';\nimport { clonePath } from './path.js';\nimport Transformable from '../core/Transformable.js';\nimport { split } from './dividePath.js';\nimport { pathToBezierCurves } from './convertPath.js';\nfunction alignSubpath(subpath1, subpath2) {\n var len1 = subpath1.length;\n var len2 = subpath2.length;\n if (len1 === len2) {\n return [subpath1, subpath2];\n }\n var tmpSegX = [];\n var tmpSegY = [];\n var shorterPath = len1 < len2 ? subpath1 : subpath2;\n var shorterLen = Math.min(len1, len2);\n var diff = Math.abs(len2 - len1) / 6;\n var shorterBezierCount = (shorterLen - 2) / 6;\n var eachCurveSubDivCount = Math.ceil(diff / shorterBezierCount) + 1;\n var newSubpath = [shorterPath[0], shorterPath[1]];\n var remained = diff;\n for (var i = 2; i < shorterLen;) {\n var x0 = shorterPath[i - 2];\n var y0 = shorterPath[i - 1];\n var x1 = shorterPath[i++];\n var y1 = shorterPath[i++];\n var x2 = shorterPath[i++];\n var y2 = shorterPath[i++];\n var x3 = shorterPath[i++];\n var y3 = shorterPath[i++];\n if (remained <= 0) {\n newSubpath.push(x1, y1, x2, y2, x3, y3);\n continue;\n }\n var actualSubDivCount = Math.min(remained, eachCurveSubDivCount - 1) + 1;\n for (var k = 1; k <= actualSubDivCount; k++) {\n var p = k / actualSubDivCount;\n cubicSubdivide(x0, x1, x2, x3, p, tmpSegX);\n cubicSubdivide(y0, y1, y2, y3, p, tmpSegY);\n x0 = tmpSegX[3];\n y0 = tmpSegY[3];\n newSubpath.push(tmpSegX[1], tmpSegY[1], tmpSegX[2], tmpSegY[2], x0, y0);\n x1 = tmpSegX[5];\n y1 = tmpSegY[5];\n x2 = tmpSegX[6];\n y2 = tmpSegY[6];\n }\n remained -= actualSubDivCount - 1;\n }\n return shorterPath === subpath1 ? [newSubpath, subpath2] : [subpath1, newSubpath];\n}\nfunction createSubpath(lastSubpathSubpath, otherSubpath) {\n var len = lastSubpathSubpath.length;\n var lastX = lastSubpathSubpath[len - 2];\n var lastY = lastSubpathSubpath[len - 1];\n var newSubpath = [];\n for (var i = 0; i < otherSubpath.length;) {\n newSubpath[i++] = lastX;\n newSubpath[i++] = lastY;\n }\n return newSubpath;\n}\nexport function alignBezierCurves(array1, array2) {\n var _a;\n var lastSubpath1;\n var lastSubpath2;\n var newArray1 = [];\n var newArray2 = [];\n for (var i = 0; i < Math.max(array1.length, array2.length); i++) {\n var subpath1 = array1[i];\n var subpath2 = array2[i];\n var newSubpath1 = void 0;\n var newSubpath2 = void 0;\n if (!subpath1) {\n newSubpath1 = createSubpath(lastSubpath1 || subpath2, subpath2);\n newSubpath2 = subpath2;\n }\n else if (!subpath2) {\n newSubpath2 = createSubpath(lastSubpath2 || subpath1, subpath1);\n newSubpath1 = subpath1;\n }\n else {\n _a = alignSubpath(subpath1, subpath2), newSubpath1 = _a[0], newSubpath2 = _a[1];\n lastSubpath1 = newSubpath1;\n lastSubpath2 = newSubpath2;\n }\n newArray1.push(newSubpath1);\n newArray2.push(newSubpath2);\n }\n return [newArray1, newArray2];\n}\nexport function centroid(array) {\n var signedArea = 0;\n var cx = 0;\n var cy = 0;\n var len = array.length;\n for (var i = 0, j = len - 2; i < len; j = i, i += 2) {\n var x0 = array[j];\n var y0 = array[j + 1];\n var x1 = array[i];\n var y1 = array[i + 1];\n var a = x0 * y1 - x1 * y0;\n signedArea += a;\n cx += (x0 + x1) * a;\n cy += (y0 + y1) * a;\n }\n if (signedArea === 0) {\n return [array[0] || 0, array[1] || 0];\n }\n return [cx / signedArea / 3, cy / signedArea / 3, signedArea];\n}\nfunction findBestRingOffset(fromSubBeziers, toSubBeziers, fromCp, toCp) {\n var bezierCount = (fromSubBeziers.length - 2) / 6;\n var bestScore = Infinity;\n var bestOffset = 0;\n var len = fromSubBeziers.length;\n var len2 = len - 2;\n for (var offset = 0; offset < bezierCount; offset++) {\n var cursorOffset = offset * 6;\n var score = 0;\n for (var k = 0; k < len; k += 2) {\n var idx = k === 0 ? cursorOffset : ((cursorOffset + k - 2) % len2 + 2);\n var x0 = fromSubBeziers[idx] - fromCp[0];\n var y0 = fromSubBeziers[idx + 1] - fromCp[1];\n var x1 = toSubBeziers[k] - toCp[0];\n var y1 = toSubBeziers[k + 1] - toCp[1];\n var dx = x1 - x0;\n var dy = y1 - y0;\n score += dx * dx + dy * dy;\n }\n if (score < bestScore) {\n bestScore = score;\n bestOffset = offset;\n }\n }\n return bestOffset;\n}\nfunction reverse(array) {\n var newArr = [];\n var len = array.length;\n for (var i = 0; i < len; i += 2) {\n newArr[i] = array[len - i - 2];\n newArr[i + 1] = array[len - i - 1];\n }\n return newArr;\n}\nfunction findBestMorphingRotation(fromArr, toArr, searchAngleIteration, searchAngleRange) {\n var result = [];\n var fromNeedsReverse;\n for (var i = 0; i < fromArr.length; i++) {\n var fromSubpathBezier = fromArr[i];\n var toSubpathBezier = toArr[i];\n var fromCp = centroid(fromSubpathBezier);\n var toCp = centroid(toSubpathBezier);\n if (fromNeedsReverse == null) {\n fromNeedsReverse = fromCp[2] < 0 !== toCp[2] < 0;\n }\n var newFromSubpathBezier = [];\n var newToSubpathBezier = [];\n var bestAngle = 0;\n var bestScore = Infinity;\n var tmpArr = [];\n var len = fromSubpathBezier.length;\n if (fromNeedsReverse) {\n fromSubpathBezier = reverse(fromSubpathBezier);\n }\n var offset = findBestRingOffset(fromSubpathBezier, toSubpathBezier, fromCp, toCp) * 6;\n var len2 = len - 2;\n for (var k = 0; k < len2; k += 2) {\n var idx = (offset + k) % len2 + 2;\n newFromSubpathBezier[k + 2] = fromSubpathBezier[idx] - fromCp[0];\n newFromSubpathBezier[k + 3] = fromSubpathBezier[idx + 1] - fromCp[1];\n }\n newFromSubpathBezier[0] = fromSubpathBezier[offset] - fromCp[0];\n newFromSubpathBezier[1] = fromSubpathBezier[offset + 1] - fromCp[1];\n if (searchAngleIteration > 0) {\n var step = searchAngleRange / searchAngleIteration;\n for (var angle = -searchAngleRange / 2; angle <= searchAngleRange / 2; angle += step) {\n var sa = Math.sin(angle);\n var ca = Math.cos(angle);\n var score = 0;\n for (var k = 0; k < fromSubpathBezier.length; k += 2) {\n var x0 = newFromSubpathBezier[k];\n var y0 = newFromSubpathBezier[k + 1];\n var x1 = toSubpathBezier[k] - toCp[0];\n var y1 = toSubpathBezier[k + 1] - toCp[1];\n var newX1 = x1 * ca - y1 * sa;\n var newY1 = x1 * sa + y1 * ca;\n tmpArr[k] = newX1;\n tmpArr[k + 1] = newY1;\n var dx = newX1 - x0;\n var dy = newY1 - y0;\n score += dx * dx + dy * dy;\n }\n if (score < bestScore) {\n bestScore = score;\n bestAngle = angle;\n for (var m = 0; m < tmpArr.length; m++) {\n newToSubpathBezier[m] = tmpArr[m];\n }\n }\n }\n }\n else {\n for (var i_1 = 0; i_1 < len; i_1 += 2) {\n newToSubpathBezier[i_1] = toSubpathBezier[i_1] - toCp[0];\n newToSubpathBezier[i_1 + 1] = toSubpathBezier[i_1 + 1] - toCp[1];\n }\n }\n result.push({\n from: newFromSubpathBezier,\n to: newToSubpathBezier,\n fromCp: fromCp,\n toCp: toCp,\n rotation: -bestAngle\n });\n }\n return result;\n}\nexport function isCombineMorphing(path) {\n return path.__isCombineMorphing;\n}\nexport function isMorphing(el) {\n return el.__morphT >= 0;\n}\nvar SAVED_METHOD_PREFIX = '__mOriginal_';\nfunction saveAndModifyMethod(obj, methodName, modifiers) {\n var savedMethodName = SAVED_METHOD_PREFIX + methodName;\n var originalMethod = obj[savedMethodName] || obj[methodName];\n if (!obj[savedMethodName]) {\n obj[savedMethodName] = obj[methodName];\n }\n var replace = modifiers.replace;\n var after = modifiers.after;\n var before = modifiers.before;\n obj[methodName] = function () {\n var args = arguments;\n var res;\n before && before.apply(this, args);\n if (replace) {\n res = replace.apply(this, args);\n }\n else {\n res = originalMethod.apply(this, args);\n }\n after && after.apply(this, args);\n return res;\n };\n}\nfunction restoreMethod(obj, methodName) {\n var savedMethodName = SAVED_METHOD_PREFIX + methodName;\n if (obj[savedMethodName]) {\n obj[methodName] = obj[savedMethodName];\n obj[savedMethodName] = null;\n }\n}\nfunction applyTransformOnBeziers(bezierCurves, mm) {\n for (var i = 0; i < bezierCurves.length; i++) {\n var subBeziers = bezierCurves[i];\n for (var k = 0; k < subBeziers.length;) {\n var x = subBeziers[k];\n var y = subBeziers[k + 1];\n subBeziers[k++] = mm[0] * x + mm[2] * y + mm[4];\n subBeziers[k++] = mm[1] * x + mm[3] * y + mm[5];\n }\n }\n}\nfunction prepareMorphPath(fromPath, toPath) {\n var fromPathProxy = fromPath.getUpdatedPathProxy();\n var toPathProxy = toPath.getUpdatedPathProxy();\n var _a = alignBezierCurves(pathToBezierCurves(fromPathProxy), pathToBezierCurves(toPathProxy)), fromBezierCurves = _a[0], toBezierCurves = _a[1];\n var fromPathTransform = fromPath.getComputedTransform();\n var toPathTransform = toPath.getComputedTransform();\n function updateIdentityTransform() {\n this.transform = null;\n }\n fromPathTransform && applyTransformOnBeziers(fromBezierCurves, fromPathTransform);\n toPathTransform && applyTransformOnBeziers(toBezierCurves, toPathTransform);\n saveAndModifyMethod(toPath, 'updateTransform', { replace: updateIdentityTransform });\n toPath.transform = null;\n var morphingData = findBestMorphingRotation(fromBezierCurves, toBezierCurves, 10, Math.PI);\n var tmpArr = [];\n saveAndModifyMethod(toPath, 'buildPath', { replace: function (path) {\n var t = toPath.__morphT;\n var onet = 1 - t;\n var newCp = [];\n for (var i = 0; i < morphingData.length; i++) {\n var item = morphingData[i];\n var from = item.from;\n var to = item.to;\n var angle = item.rotation * t;\n var fromCp = item.fromCp;\n var toCp = item.toCp;\n var sa = Math.sin(angle);\n var ca = Math.cos(angle);\n lerp(newCp, fromCp, toCp, t);\n for (var m = 0; m < from.length; m += 2) {\n var x0_1 = from[m];\n var y0_1 = from[m + 1];\n var x1 = to[m];\n var y1 = to[m + 1];\n var x = x0_1 * onet + x1 * t;\n var y = y0_1 * onet + y1 * t;\n tmpArr[m] = (x * ca - y * sa) + newCp[0];\n tmpArr[m + 1] = (x * sa + y * ca) + newCp[1];\n }\n var x0 = tmpArr[0];\n var y0 = tmpArr[1];\n path.moveTo(x0, y0);\n for (var m = 2; m < from.length;) {\n var x1 = tmpArr[m++];\n var y1 = tmpArr[m++];\n var x2 = tmpArr[m++];\n var y2 = tmpArr[m++];\n var x3 = tmpArr[m++];\n var y3 = tmpArr[m++];\n if (x0 === x1 && y0 === y1 && x2 === x3 && y2 === y3) {\n path.lineTo(x3, y3);\n }\n else {\n path.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n }\n x0 = x3;\n y0 = y3;\n }\n }\n } });\n}\nexport function morphPath(fromPath, toPath, animationOpts) {\n if (!fromPath || !toPath) {\n return toPath;\n }\n var oldDone = animationOpts.done;\n var oldDuring = animationOpts.during;\n prepareMorphPath(fromPath, toPath);\n toPath.__morphT = 0;\n function restoreToPath() {\n restoreMethod(toPath, 'buildPath');\n restoreMethod(toPath, 'updateTransform');\n toPath.__morphT = -1;\n toPath.createPathProxy();\n toPath.dirtyShape();\n }\n toPath.animateTo({\n __morphT: 1\n }, defaults({\n during: function (p) {\n toPath.dirtyShape();\n oldDuring && oldDuring(p);\n },\n done: function () {\n restoreToPath();\n oldDone && oldDone();\n }\n }, animationOpts));\n return toPath;\n}\nfunction hilbert(x, y, minX, minY, maxX, maxY) {\n var bits = 16;\n x = (maxX === minX) ? 0 : Math.round(32767 * (x - minX) / (maxX - minX));\n y = (maxY === minY) ? 0 : Math.round(32767 * (y - minY) / (maxY - minY));\n var d = 0;\n var tmp;\n for (var s = (1 << bits) / 2; s > 0; s /= 2) {\n var rx = 0;\n var ry = 0;\n if ((x & s) > 0) {\n rx = 1;\n }\n if ((y & s) > 0) {\n ry = 1;\n }\n d += s * s * ((3 * rx) ^ ry);\n if (ry === 0) {\n if (rx === 1) {\n x = s - 1 - x;\n y = s - 1 - y;\n }\n tmp = x;\n x = y;\n y = tmp;\n }\n }\n return d;\n}\nfunction sortPaths(pathList) {\n var xMin = Infinity;\n var yMin = Infinity;\n var xMax = -Infinity;\n var yMax = -Infinity;\n var cps = map(pathList, function (path) {\n var rect = path.getBoundingRect();\n var m = path.getComputedTransform();\n var x = rect.x + rect.width / 2 + (m ? m[4] : 0);\n var y = rect.y + rect.height / 2 + (m ? m[5] : 0);\n xMin = Math.min(x, xMin);\n yMin = Math.min(y, yMin);\n xMax = Math.max(x, xMax);\n yMax = Math.max(y, yMax);\n return [x, y];\n });\n var items = map(cps, function (cp, idx) {\n return {\n cp: cp,\n z: hilbert(cp[0], cp[1], xMin, yMin, xMax, yMax),\n path: pathList[idx]\n };\n });\n return items.sort(function (a, b) { return a.z - b.z; }).map(function (item) { return item.path; });\n}\n;\nfunction defaultDividePath(param) {\n return split(param.path, param.count);\n}\nfunction createEmptyReturn() {\n return {\n fromIndividuals: [],\n toIndividuals: [],\n count: 0\n };\n}\nexport function combineMorph(fromList, toPath, animationOpts) {\n var fromPathList = [];\n function addFromPath(fromList) {\n for (var i = 0; i < fromList.length; i++) {\n var from = fromList[i];\n if (isCombineMorphing(from)) {\n addFromPath(from.childrenRef());\n }\n else if (from instanceof Path) {\n fromPathList.push(from);\n }\n }\n }\n addFromPath(fromList);\n var separateCount = fromPathList.length;\n if (!separateCount) {\n return createEmptyReturn();\n }\n var dividePath = animationOpts.dividePath || defaultDividePath;\n var toSubPathList = dividePath({\n path: toPath, count: separateCount\n });\n if (toSubPathList.length !== separateCount) {\n console.error('Invalid morphing: unmatched splitted path');\n return createEmptyReturn();\n }\n fromPathList = sortPaths(fromPathList);\n toSubPathList = sortPaths(toSubPathList);\n var oldDone = animationOpts.done;\n var oldDuring = animationOpts.during;\n var individualDelay = animationOpts.individualDelay;\n var identityTransform = new Transformable();\n for (var i = 0; i < separateCount; i++) {\n var from = fromPathList[i];\n var to = toSubPathList[i];\n to.parent = toPath;\n to.copyTransform(identityTransform);\n if (!individualDelay) {\n prepareMorphPath(from, to);\n }\n }\n toPath.__isCombineMorphing = true;\n toPath.childrenRef = function () {\n return toSubPathList;\n };\n function addToSubPathListToZr(zr) {\n for (var i = 0; i < toSubPathList.length; i++) {\n toSubPathList[i].addSelfToZr(zr);\n }\n }\n saveAndModifyMethod(toPath, 'addSelfToZr', {\n after: function (zr) {\n addToSubPathListToZr(zr);\n }\n });\n saveAndModifyMethod(toPath, 'removeSelfFromZr', {\n after: function (zr) {\n for (var i = 0; i < toSubPathList.length; i++) {\n toSubPathList[i].removeSelfFromZr(zr);\n }\n }\n });\n function restoreToPath() {\n toPath.__isCombineMorphing = false;\n toPath.__morphT = -1;\n toPath.childrenRef = null;\n restoreMethod(toPath, 'addSelfToZr');\n restoreMethod(toPath, 'removeSelfFromZr');\n }\n var toLen = toSubPathList.length;\n if (individualDelay) {\n var animating_1 = toLen;\n var eachDone = function () {\n animating_1--;\n if (animating_1 === 0) {\n restoreToPath();\n oldDone && oldDone();\n }\n };\n for (var i = 0; i < toLen; i++) {\n var indivdualAnimationOpts = individualDelay ? defaults({\n delay: (animationOpts.delay || 0) + individualDelay(i, toLen, fromPathList[i], toSubPathList[i]),\n done: eachDone\n }, animationOpts) : animationOpts;\n morphPath(fromPathList[i], toSubPathList[i], indivdualAnimationOpts);\n }\n }\n else {\n toPath.__morphT = 0;\n toPath.animateTo({\n __morphT: 1\n }, defaults({\n during: function (p) {\n for (var i = 0; i < toLen; i++) {\n var child = toSubPathList[i];\n child.__morphT = toPath.__morphT;\n child.dirtyShape();\n }\n oldDuring && oldDuring(p);\n },\n done: function () {\n restoreToPath();\n for (var i = 0; i < fromList.length; i++) {\n restoreMethod(fromList[i], 'updateTransform');\n }\n oldDone && oldDone();\n }\n }, animationOpts));\n }\n if (toPath.__zr) {\n addToSubPathListToZr(toPath.__zr);\n }\n return {\n fromIndividuals: fromPathList,\n toIndividuals: toSubPathList,\n count: toLen\n };\n}\nexport function separateMorph(fromPath, toPathList, animationOpts) {\n var toLen = toPathList.length;\n var fromPathList = [];\n var dividePath = animationOpts.dividePath || defaultDividePath;\n function addFromPath(fromList) {\n for (var i = 0; i < fromList.length; i++) {\n var from = fromList[i];\n if (isCombineMorphing(from)) {\n addFromPath(from.childrenRef());\n }\n else if (from instanceof Path) {\n fromPathList.push(from);\n }\n }\n }\n if (isCombineMorphing(fromPath)) {\n addFromPath(fromPath.childrenRef());\n var fromLen = fromPathList.length;\n if (fromLen < toLen) {\n var k = 0;\n for (var i = fromLen; i < toLen; i++) {\n fromPathList.push(clonePath(fromPathList[k++ % fromLen]));\n }\n }\n fromPathList.length = toLen;\n }\n else {\n fromPathList = dividePath({ path: fromPath, count: toLen });\n var fromPathTransform = fromPath.getComputedTransform();\n for (var i = 0; i < fromPathList.length; i++) {\n fromPathList[i].setLocalTransform(fromPathTransform);\n }\n if (fromPathList.length !== toLen) {\n console.error('Invalid morphing: unmatched splitted path');\n return createEmptyReturn();\n }\n }\n fromPathList = sortPaths(fromPathList);\n toPathList = sortPaths(toPathList);\n var individualDelay = animationOpts.individualDelay;\n for (var i = 0; i < toLen; i++) {\n var indivdualAnimationOpts = individualDelay ? defaults({\n delay: (animationOpts.delay || 0) + individualDelay(i, toLen, fromPathList[i], toPathList[i])\n }, animationOpts) : animationOpts;\n morphPath(fromPathList[i], toPathList[i], indivdualAnimationOpts);\n }\n return {\n fromIndividuals: fromPathList,\n toIndividuals: toPathList,\n count: toPathList.length\n };\n}\nexport { split as defaultDividePath };\n", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { separateMorph, combineMorph, morphPath, isCombineMorphing } from 'zrender/lib/tool/morphPath.js';\nimport { Path } from '../util/graphic.js';\nimport { defaults, isArray } from 'zrender/lib/core/util.js';\nimport { getAnimationConfig } from './basicTransition.js';\nimport { clonePath } from 'zrender/lib/tool/path.js';\nfunction isMultiple(elements) {\n return isArray(elements[0]);\n}\nfunction prepareMorphBatches(one, many) {\n var batches = [];\n var batchCount = one.length;\n for (var i = 0; i < batchCount; i++) {\n batches.push({\n one: one[i],\n many: []\n });\n }\n for (var i = 0; i < many.length; i++) {\n var len = many[i].length;\n var k = void 0;\n for (k = 0; k < len; k++) {\n batches[k % batchCount].many.push(many[i][k]);\n }\n }\n var off = 0;\n // If one has more paths than each one of many. average them.\n for (var i = batchCount - 1; i >= 0; i--) {\n if (!batches[i].many.length) {\n var moveFrom = batches[off].many;\n if (moveFrom.length <= 1) {\n // Not enough\n // Start from the first one.\n if (off) {\n off = 0;\n } else {\n return batches;\n }\n }\n var len = moveFrom.length;\n var mid = Math.ceil(len / 2);\n batches[i].many = moveFrom.slice(mid, len);\n batches[off].many = moveFrom.slice(0, mid);\n off++;\n }\n }\n return batches;\n}\nvar pathDividers = {\n clone: function (params) {\n var ret = [];\n // Fitting the alpha\n var approxOpacity = 1 - Math.pow(1 - params.path.style.opacity, 1 / params.count);\n for (var i = 0; i < params.count; i++) {\n var cloned = clonePath(params.path);\n cloned.setStyle('opacity', approxOpacity);\n ret.push(cloned);\n }\n return ret;\n },\n // Use the default divider\n split: null\n};\nexport function applyMorphAnimation(from, to, divideShape, seriesModel, dataIndex, animateOtherProps) {\n if (!from.length || !to.length) {\n return;\n }\n var updateAnimationCfg = getAnimationConfig('update', seriesModel, dataIndex);\n if (!(updateAnimationCfg && updateAnimationCfg.duration > 0)) {\n return;\n }\n var animationDelay = seriesModel.getModel('universalTransition').get('delay');\n var animationCfg = Object.assign({\n // Need to setToFinal so the further calculation based on the style can be correct.\n // Like emphasis color.\n setToFinal: true\n }, updateAnimationCfg);\n var many;\n var one;\n if (isMultiple(from)) {\n // manyToOne\n many = from;\n one = to;\n }\n if (isMultiple(to)) {\n // oneToMany\n many = to;\n one = from;\n }\n function morphOneBatch(batch, fromIsMany, animateIndex, animateCount, forceManyOne) {\n var batchMany = batch.many;\n var batchOne = batch.one;\n if (batchMany.length === 1 && !forceManyOne) {\n // Is one to one\n var batchFrom = fromIsMany ? batchMany[0] : batchOne;\n var batchTo = fromIsMany ? batchOne : batchMany[0];\n if (isCombineMorphing(batchFrom)) {\n // Keep doing combine animation.\n morphOneBatch({\n many: [batchFrom],\n one: batchTo\n }, true, animateIndex, animateCount, true);\n } else {\n var individualAnimationCfg = animationDelay ? defaults({\n delay: animationDelay(animateIndex, animateCount)\n }, animationCfg) : animationCfg;\n morphPath(batchFrom, batchTo, individualAnimationCfg);\n animateOtherProps(batchFrom, batchTo, batchFrom, batchTo, individualAnimationCfg);\n }\n } else {\n var separateAnimationCfg = defaults({\n dividePath: pathDividers[divideShape],\n individualDelay: animationDelay && function (idx, count, fromPath, toPath) {\n return animationDelay(idx + animateIndex, animateCount);\n }\n }, animationCfg);\n var _a = fromIsMany ? combineMorph(batchMany, batchOne, separateAnimationCfg) : separateMorph(batchOne, batchMany, separateAnimationCfg),\n fromIndividuals = _a.fromIndividuals,\n toIndividuals = _a.toIndividuals;\n var count = fromIndividuals.length;\n for (var k = 0; k < count; k++) {\n var individualAnimationCfg = animationDelay ? defaults({\n delay: animationDelay(k, count)\n }, animationCfg) : animationCfg;\n animateOtherProps(fromIndividuals[k], toIndividuals[k], fromIsMany ? batchMany[k] : batch.one, fromIsMany ? batch.one : batchMany[k], individualAnimationCfg);\n }\n }\n }\n var fromIsMany = many ? many === from\n // Is one to one. If the path number not match. also needs do merge and separate morphing.\n : from.length > to.length;\n var morphBatches = many ? prepareMorphBatches(one, many) : prepareMorphBatches(fromIsMany ? to : from, [fromIsMany ? from : to]);\n var animateCount = 0;\n for (var i = 0; i < morphBatches.length; i++) {\n animateCount += morphBatches[i].many.length;\n }\n var animateIndex = 0;\n for (var i = 0; i < morphBatches.length; i++) {\n morphOneBatch(morphBatches[i], fromIsMany, animateIndex, animateCount);\n animateIndex += morphBatches[i].many.length;\n }\n}\nexport function getPathList(elements) {\n if (!elements) {\n return [];\n }\n if (isArray(elements)) {\n var pathList_1 = [];\n for (var i = 0; i < elements.length; i++) {\n pathList_1.push(getPathList(elements[i]));\n }\n return pathList_1;\n }\n var pathList = [];\n elements.traverse(function (el) {\n if (el instanceof Path && !el.disableMorphing && !el.invisible && !el.ignore) {\n pathList.push(el);\n }\n });\n return pathList;\n}", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Universal transitions that can animate between any shapes(series) and any properties in any amounts.\nimport { SERIES_UNIVERSAL_TRANSITION_PROP } from '../model/Series.js';\nimport { createHashMap, each, map, filter, isArray, extend } from 'zrender/lib/core/util.js';\nimport { applyMorphAnimation, getPathList } from './morphTransitionHelper.js';\nimport Path from 'zrender/lib/graphic/Path.js';\nimport { initProps } from '../util/graphic.js';\nimport DataDiffer from '../data/DataDiffer.js';\nimport { makeInner, normalizeToArray } from '../util/model.js';\nimport { warn } from '../util/log.js';\nimport { getAnimationConfig, getOldStyle } from './basicTransition.js';\nimport Displayable from 'zrender/lib/graphic/Displayable.js';\nvar DATA_COUNT_THRESHOLD = 1e4;\nvar TRANSITION_NONE = 0;\nvar TRANSITION_P2C = 1;\nvar TRANSITION_C2P = 2;\n;\nvar getUniversalTransitionGlobalStore = makeInner();\nfunction getDimension(data, visualDimension) {\n var dimensions = data.dimensions;\n for (var i = 0; i < dimensions.length; i++) {\n var dimInfo = data.getDimensionInfo(dimensions[i]);\n if (dimInfo && dimInfo.otherDims[visualDimension] === 0) {\n return dimensions[i];\n }\n }\n}\n// get value by dimension. (only get value of itemGroupId or childGroupId, so convert it to string)\nfunction getValueByDimension(data, dataIndex, dimension) {\n var dimInfo = data.getDimensionInfo(dimension);\n var dimOrdinalMeta = dimInfo && dimInfo.ordinalMeta;\n if (dimInfo) {\n var value = data.get(dimInfo.name, dataIndex);\n if (dimOrdinalMeta) {\n return dimOrdinalMeta.categories[value] || value + '';\n }\n return value + '';\n }\n}\nfunction getGroupId(data, dataIndex, dataGroupId, isChild) {\n // try to get groupId from encode\n var visualDimension = isChild ? 'itemChildGroupId' : 'itemGroupId';\n var groupIdDim = getDimension(data, visualDimension);\n if (groupIdDim) {\n var groupId = getValueByDimension(data, dataIndex, groupIdDim);\n return groupId;\n }\n // try to get groupId from raw data item\n var rawDataItem = data.getRawDataItem(dataIndex);\n var property = isChild ? 'childGroupId' : 'groupId';\n if (rawDataItem && rawDataItem[property]) {\n return rawDataItem[property] + '';\n }\n // fallback\n if (isChild) {\n return;\n }\n // try to use series.dataGroupId as groupId, otherwise use dataItem's id as groupId\n return dataGroupId || data.getId(dataIndex);\n}\n// flatten all data items from different serieses into one arrary\nfunction flattenDataDiffItems(list) {\n var items = [];\n each(list, function (seriesInfo) {\n var data = seriesInfo.data;\n var dataGroupId = seriesInfo.dataGroupId;\n if (data.count() > DATA_COUNT_THRESHOLD) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Universal transition is disabled on large data > 10k.');\n }\n return;\n }\n var indices = data.getIndices();\n for (var dataIndex = 0; dataIndex < indices.length; dataIndex++) {\n items.push({\n data: data,\n groupId: getGroupId(data, dataIndex, dataGroupId, false),\n childGroupId: getGroupId(data, dataIndex, dataGroupId, true),\n divide: seriesInfo.divide,\n dataIndex: dataIndex\n });\n }\n });\n return items;\n}\nfunction fadeInElement(newEl, newSeries, newIndex) {\n newEl.traverse(function (el) {\n if (el instanceof Path) {\n // TODO use fade in animation for target element.\n initProps(el, {\n style: {\n opacity: 0\n }\n }, newSeries, {\n dataIndex: newIndex,\n isFrom: true\n });\n }\n });\n}\nfunction removeEl(el) {\n if (el.parent) {\n // Bake parent transform to element.\n // So it can still have proper transform to transition after it's removed.\n var computedTransform = el.getComputedTransform();\n el.setLocalTransform(computedTransform);\n el.parent.remove(el);\n }\n}\nfunction stopAnimation(el) {\n el.stopAnimation();\n if (el.isGroup) {\n el.traverse(function (child) {\n child.stopAnimation();\n });\n }\n}\nfunction animateElementStyles(el, dataIndex, seriesModel) {\n var animationConfig = getAnimationConfig('update', seriesModel, dataIndex);\n animationConfig && el.traverse(function (child) {\n if (child instanceof Displayable) {\n var oldStyle = getOldStyle(child);\n if (oldStyle) {\n child.animateFrom({\n style: oldStyle\n }, animationConfig);\n }\n }\n });\n}\nfunction isAllIdSame(oldDiffItems, newDiffItems) {\n var len = oldDiffItems.length;\n if (len !== newDiffItems.length) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var oldItem = oldDiffItems[i];\n var newItem = newDiffItems[i];\n if (oldItem.data.getId(oldItem.dataIndex) !== newItem.data.getId(newItem.dataIndex)) {\n return false;\n }\n }\n return true;\n}\nfunction transitionBetween(oldList, newList, api) {\n var oldDiffItems = flattenDataDiffItems(oldList);\n var newDiffItems = flattenDataDiffItems(newList);\n function updateMorphingPathProps(from, to, rawFrom, rawTo, animationCfg) {\n if (rawFrom || from) {\n to.animateFrom({\n style: rawFrom && rawFrom !== from\n // dividingMethod like clone may override the style(opacity)\n // So extend it to raw style.\n ? extend(extend({}, rawFrom.style), from.style) : from.style\n }, animationCfg);\n }\n }\n var hasMorphAnimation = false;\n /**\n * With groupId and childGroupId, we can build parent-child relationships between dataItems.\n * However, we should mind the parent-child \"direction\" between old and new options.\n *\n * For example, suppose we have two dataItems from two series.data:\n *\n * dataA: [ dataB: [\n * { {\n * value: 5, value: 3,\n * groupId: 'creatures', groupId: 'animals',\n * childGroupId: 'animals' childGroupId: 'dogs'\n * }, },\n * ... ...\n * ] ]\n *\n * where dataA is belong to optionA and dataB is belong to optionB.\n *\n * When we `setOption(optionB)` from optionA, we choose childGroupId of dataItemA and groupId of\n * dataItemB as keys so the two keys are matched (both are 'animals'), then universalTransition\n * will work. This derection is \"parent -> child\".\n *\n * If we `setOption(optionA)` from optionB, we also choose groupId of dataItemB and childGroupId\n * of dataItemA as keys and universalTransition will work. This derection is \"child -> parent\".\n *\n * If there is no childGroupId specified, which means no multiLevelDrillDown/Up is needed and no\n * parent-child relationship exists. This direction is \"none\".\n *\n * So we need to know whether to use groupId or childGroupId as the key when we call the keyGetter\n * functions. Thus, we need to decide the direction first.\n *\n * The rule is:\n *\n * if (all childGroupIds in oldDiffItems and all groupIds in newDiffItems have common value) {\n * direction = 'parent -> child';\n * } else if (all groupIds in oldDiffItems and all childGroupIds in newDiffItems have common value) {\n * direction = 'child -> parent';\n * } else {\n * direction = 'none';\n * }\n */\n var direction = TRANSITION_NONE;\n // find all groupIds and childGroupIds from oldDiffItems\n var oldGroupIds = createHashMap();\n var oldChildGroupIds = createHashMap();\n oldDiffItems.forEach(function (item) {\n item.groupId && oldGroupIds.set(item.groupId, true);\n item.childGroupId && oldChildGroupIds.set(item.childGroupId, true);\n });\n // traverse newDiffItems and decide the direction according to the rule\n for (var i = 0; i < newDiffItems.length; i++) {\n var newGroupId = newDiffItems[i].groupId;\n if (oldChildGroupIds.get(newGroupId)) {\n direction = TRANSITION_P2C;\n break;\n }\n var newChildGroupId = newDiffItems[i].childGroupId;\n if (newChildGroupId && oldGroupIds.get(newChildGroupId)) {\n direction = TRANSITION_C2P;\n break;\n }\n }\n function createKeyGetter(isOld, onlyGetId) {\n return function (diffItem) {\n var data = diffItem.data;\n var dataIndex = diffItem.dataIndex;\n // TODO if specified dim\n if (onlyGetId) {\n return data.getId(dataIndex);\n }\n if (isOld) {\n return direction === TRANSITION_P2C ? diffItem.childGroupId : diffItem.groupId;\n } else {\n return direction === TRANSITION_C2P ? diffItem.childGroupId : diffItem.groupId;\n }\n };\n }\n // Use id if it's very likely to be an one to one animation\n // It's more robust than groupId\n // TODO Check if key dimension is specified.\n var useId = isAllIdSame(oldDiffItems, newDiffItems);\n var isElementStillInChart = {};\n if (!useId) {\n // We may have different diff strategy with basicTransition if we use other dimension as key.\n // If so, we can't simply check if oldEl is same with newEl. We need a map to check if oldEl is still being used in the new chart.\n // We can't use the elements that already being morphed. Let it keep it's original basic transition.\n for (var i = 0; i < newDiffItems.length; i++) {\n var newItem = newDiffItems[i];\n var el = newItem.data.getItemGraphicEl(newItem.dataIndex);\n if (el) {\n isElementStillInChart[el.id] = true;\n }\n }\n }\n function updateOneToOne(newIndex, oldIndex) {\n var oldItem = oldDiffItems[oldIndex];\n var newItem = newDiffItems[newIndex];\n var newSeries = newItem.data.hostModel;\n // TODO Mark this elements is morphed and don't morph them anymore\n var oldEl = oldItem.data.getItemGraphicEl(oldItem.dataIndex);\n var newEl = newItem.data.getItemGraphicEl(newItem.dataIndex);\n // Can't handle same elements.\n if (oldEl === newEl) {\n newEl && animateElementStyles(newEl, newItem.dataIndex, newSeries);\n return;\n }\n if (\n // We can't use the elements that already being morphed\n oldEl && isElementStillInChart[oldEl.id]) {\n return;\n }\n if (newEl) {\n // TODO: If keep animating the group in case\n // some of the elements don't want to be morphed.\n // TODO Label?\n stopAnimation(newEl);\n if (oldEl) {\n stopAnimation(oldEl);\n // If old element is doing leaving animation. stop it and remove it immediately.\n removeEl(oldEl);\n hasMorphAnimation = true;\n applyMorphAnimation(getPathList(oldEl), getPathList(newEl), newItem.divide, newSeries, newIndex, updateMorphingPathProps);\n } else {\n fadeInElement(newEl, newSeries, newIndex);\n }\n }\n // else keep oldEl leaving animation.\n }\n\n new DataDiffer(oldDiffItems, newDiffItems, createKeyGetter(true, useId), createKeyGetter(false, useId), null, 'multiple').update(updateOneToOne).updateManyToOne(function (newIndex, oldIndices) {\n var newItem = newDiffItems[newIndex];\n var newData = newItem.data;\n var newSeries = newData.hostModel;\n var newEl = newData.getItemGraphicEl(newItem.dataIndex);\n var oldElsList = filter(map(oldIndices, function (idx) {\n return oldDiffItems[idx].data.getItemGraphicEl(oldDiffItems[idx].dataIndex);\n }), function (oldEl) {\n return oldEl && oldEl !== newEl && !isElementStillInChart[oldEl.id];\n });\n if (newEl) {\n stopAnimation(newEl);\n if (oldElsList.length) {\n // If old element is doing leaving animation. stop it and remove it immediately.\n each(oldElsList, function (oldEl) {\n stopAnimation(oldEl);\n removeEl(oldEl);\n });\n hasMorphAnimation = true;\n applyMorphAnimation(getPathList(oldElsList), getPathList(newEl), newItem.divide, newSeries, newIndex, updateMorphingPathProps);\n } else {\n fadeInElement(newEl, newSeries, newItem.dataIndex);\n }\n }\n // else keep oldEl leaving animation.\n }).updateOneToMany(function (newIndices, oldIndex) {\n var oldItem = oldDiffItems[oldIndex];\n var oldEl = oldItem.data.getItemGraphicEl(oldItem.dataIndex);\n // We can't use the elements that already being morphed\n if (oldEl && isElementStillInChart[oldEl.id]) {\n return;\n }\n var newElsList = filter(map(newIndices, function (idx) {\n return newDiffItems[idx].data.getItemGraphicEl(newDiffItems[idx].dataIndex);\n }), function (el) {\n return el && el !== oldEl;\n });\n var newSeris = newDiffItems[newIndices[0]].data.hostModel;\n if (newElsList.length) {\n each(newElsList, function (newEl) {\n return stopAnimation(newEl);\n });\n if (oldEl) {\n stopAnimation(oldEl);\n // If old element is doing leaving animation. stop it and remove it immediately.\n removeEl(oldEl);\n hasMorphAnimation = true;\n applyMorphAnimation(getPathList(oldEl), getPathList(newElsList), oldItem.divide,\n // Use divide on old.\n newSeris, newIndices[0], updateMorphingPathProps);\n } else {\n each(newElsList, function (newEl) {\n return fadeInElement(newEl, newSeris, newIndices[0]);\n });\n }\n }\n // else keep oldEl leaving animation.\n }).updateManyToMany(function (newIndices, oldIndices) {\n // If two data are same and both have groupId.\n // Normally they should be diff by id.\n new DataDiffer(oldIndices, newIndices, function (rawIdx) {\n return oldDiffItems[rawIdx].data.getId(oldDiffItems[rawIdx].dataIndex);\n }, function (rawIdx) {\n return newDiffItems[rawIdx].data.getId(newDiffItems[rawIdx].dataIndex);\n }).update(function (newIndex, oldIndex) {\n // Use the original index\n updateOneToOne(newIndices[newIndex], oldIndices[oldIndex]);\n }).execute();\n }).execute();\n if (hasMorphAnimation) {\n each(newList, function (_a) {\n var data = _a.data;\n var seriesModel = data.hostModel;\n var view = seriesModel && api.getViewOfSeriesModel(seriesModel);\n var animationCfg = getAnimationConfig('update', seriesModel, 0); // use 0 index.\n if (view && seriesModel.isAnimationEnabled() && animationCfg && animationCfg.duration > 0) {\n view.group.traverse(function (el) {\n if (el instanceof Path && !el.animators.length) {\n // We can't accept there still exists element that has no animation\n // if universalTransition is enabled\n el.animateFrom({\n style: {\n opacity: 0\n }\n }, animationCfg);\n }\n });\n }\n });\n }\n}\nfunction getSeriesTransitionKey(series) {\n var seriesKey = series.getModel('universalTransition').get('seriesKey');\n if (!seriesKey) {\n // Use series id by default.\n return series.id;\n }\n return seriesKey;\n}\nfunction convertArraySeriesKeyToString(seriesKey) {\n if (isArray(seriesKey)) {\n // Order independent.\n return seriesKey.sort().join(',');\n }\n return seriesKey;\n}\nfunction getDivideShapeFromData(data) {\n if (data.hostModel) {\n return data.hostModel.getModel('universalTransition').get('divideShape');\n }\n}\nfunction findTransitionSeriesBatches(globalStore, params) {\n var updateBatches = createHashMap();\n var oldDataMap = createHashMap();\n // Map that only store key in array seriesKey.\n // Which is used to query the old data when transition from one to multiple series.\n var oldDataMapForSplit = createHashMap();\n each(globalStore.oldSeries, function (series, idx) {\n var oldDataGroupId = globalStore.oldDataGroupIds[idx];\n var oldData = globalStore.oldData[idx];\n var transitionKey = getSeriesTransitionKey(series);\n var transitionKeyStr = convertArraySeriesKeyToString(transitionKey);\n oldDataMap.set(transitionKeyStr, {\n dataGroupId: oldDataGroupId,\n data: oldData\n });\n if (isArray(transitionKey)) {\n // Same key can't in different array seriesKey.\n each(transitionKey, function (key) {\n oldDataMapForSplit.set(key, {\n key: transitionKeyStr,\n dataGroupId: oldDataGroupId,\n data: oldData\n });\n });\n }\n });\n function checkTransitionSeriesKeyDuplicated(transitionKeyStr) {\n if (updateBatches.get(transitionKeyStr)) {\n warn(\"Duplicated seriesKey in universalTransition \" + transitionKeyStr);\n }\n }\n each(params.updatedSeries, function (series) {\n if (series.isUniversalTransitionEnabled() && series.isAnimationEnabled()) {\n var newDataGroupId = series.get('dataGroupId');\n var newData = series.getData();\n var transitionKey = getSeriesTransitionKey(series);\n var transitionKeyStr = convertArraySeriesKeyToString(transitionKey);\n // Only transition between series with same id.\n var oldData = oldDataMap.get(transitionKeyStr);\n // string transition key is the best match.\n if (oldData) {\n if (process.env.NODE_ENV !== 'production') {\n checkTransitionSeriesKeyDuplicated(transitionKeyStr);\n }\n // TODO check if data is same?\n updateBatches.set(transitionKeyStr, {\n oldSeries: [{\n dataGroupId: oldData.dataGroupId,\n divide: getDivideShapeFromData(oldData.data),\n data: oldData.data\n }],\n newSeries: [{\n dataGroupId: newDataGroupId,\n divide: getDivideShapeFromData(newData),\n data: newData\n }]\n });\n } else {\n // Transition from multiple series.\n // e.g. 'female', 'male' -> ['female', 'male']\n if (isArray(transitionKey)) {\n if (process.env.NODE_ENV !== 'production') {\n checkTransitionSeriesKeyDuplicated(transitionKeyStr);\n }\n var oldSeries_1 = [];\n each(transitionKey, function (key) {\n var oldData = oldDataMap.get(key);\n if (oldData.data) {\n oldSeries_1.push({\n dataGroupId: oldData.dataGroupId,\n divide: getDivideShapeFromData(oldData.data),\n data: oldData.data\n });\n }\n });\n if (oldSeries_1.length) {\n updateBatches.set(transitionKeyStr, {\n oldSeries: oldSeries_1,\n newSeries: [{\n dataGroupId: newDataGroupId,\n data: newData,\n divide: getDivideShapeFromData(newData)\n }]\n });\n }\n } else {\n // Try transition to multiple series.\n // e.g. ['female', 'male'] -> 'female', 'male'\n var oldData_1 = oldDataMapForSplit.get(transitionKey);\n if (oldData_1) {\n var batch = updateBatches.get(oldData_1.key);\n if (!batch) {\n batch = {\n oldSeries: [{\n dataGroupId: oldData_1.dataGroupId,\n data: oldData_1.data,\n divide: getDivideShapeFromData(oldData_1.data)\n }],\n newSeries: []\n };\n updateBatches.set(oldData_1.key, batch);\n }\n batch.newSeries.push({\n dataGroupId: newDataGroupId,\n data: newData,\n divide: getDivideShapeFromData(newData)\n });\n }\n }\n }\n }\n });\n return updateBatches;\n}\nfunction querySeries(series, finder) {\n for (var i = 0; i < series.length; i++) {\n var found = finder.seriesIndex != null && finder.seriesIndex === series[i].seriesIndex || finder.seriesId != null && finder.seriesId === series[i].id;\n if (found) {\n return i;\n }\n }\n}\nfunction transitionSeriesFromOpt(transitionOpt, globalStore, params, api) {\n var from = [];\n var to = [];\n each(normalizeToArray(transitionOpt.from), function (finder) {\n var idx = querySeries(globalStore.oldSeries, finder);\n if (idx >= 0) {\n from.push({\n dataGroupId: globalStore.oldDataGroupIds[idx],\n data: globalStore.oldData[idx],\n // TODO can specify divideShape in transition.\n divide: getDivideShapeFromData(globalStore.oldData[idx]),\n groupIdDim: finder.dimension\n });\n }\n });\n each(normalizeToArray(transitionOpt.to), function (finder) {\n var idx = querySeries(params.updatedSeries, finder);\n if (idx >= 0) {\n var data = params.updatedSeries[idx].getData();\n to.push({\n dataGroupId: globalStore.oldDataGroupIds[idx],\n data: data,\n divide: getDivideShapeFromData(data),\n groupIdDim: finder.dimension\n });\n }\n });\n if (from.length > 0 && to.length > 0) {\n transitionBetween(from, to, api);\n }\n}\nexport function installUniversalTransition(registers) {\n registers.registerUpdateLifecycle('series:beforeupdate', function (ecMOdel, api, params) {\n each(normalizeToArray(params.seriesTransition), function (transOpt) {\n each(normalizeToArray(transOpt.to), function (finder) {\n var series = params.updatedSeries;\n for (var i = 0; i < series.length; i++) {\n if (finder.seriesIndex != null && finder.seriesIndex === series[i].seriesIndex || finder.seriesId != null && finder.seriesId === series[i].id) {\n series[i][SERIES_UNIVERSAL_TRANSITION_PROP] = true;\n }\n }\n });\n });\n });\n registers.registerUpdateLifecycle('series:transition', function (ecModel, api, params) {\n // TODO api provide an namespace that can save stuff per instance\n var globalStore = getUniversalTransitionGlobalStore(api);\n // TODO multiple to multiple series.\n if (globalStore.oldSeries && params.updatedSeries && params.optionChanged) {\n // TODO transitionOpt was used in an old implementation and can be removed now\n // Use give transition config if its' give;\n var transitionOpt = params.seriesTransition;\n if (transitionOpt) {\n each(normalizeToArray(transitionOpt), function (opt) {\n transitionSeriesFromOpt(opt, globalStore, params, api);\n });\n } else {\n // Else guess from series based on transition series key.\n var updateBatches_1 = findTransitionSeriesBatches(globalStore, params);\n each(updateBatches_1.keys(), function (key) {\n var batch = updateBatches_1.get(key);\n transitionBetween(batch.oldSeries, batch.newSeries, api);\n });\n }\n // Reset\n each(params.updatedSeries, function (series) {\n // Reset;\n if (series[SERIES_UNIVERSAL_TRANSITION_PROP]) {\n series[SERIES_UNIVERSAL_TRANSITION_PROP] = false;\n }\n });\n }\n // Save all series of current update. Not only the updated one.\n var allSeries = ecModel.getSeries();\n var savedSeries = globalStore.oldSeries = [];\n var savedDataGroupIds = globalStore.oldDataGroupIds = [];\n var savedData = globalStore.oldData = [];\n for (var i = 0; i < allSeries.length; i++) {\n var data = allSeries[i].getData();\n // Only save the data that can have transition.\n // Avoid large data costing too much extra memory\n if (data.count() < DATA_COUNT_THRESHOLD) {\n savedSeries.push(allSeries[i]);\n savedDataGroupIds.push(allSeries[i].get('dataGroupId'));\n savedData.push(data);\n }\n }\n });\n}", "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { use } from './lib/extension.js';\nexport * from './lib/export/core.js';\n// ----------------------------------------------\n// All of the modules that are allowed to be\n// imported are listed below.\n//\n// Users MUST NOT import other modules that are\n// not included in this list.\n// ----------------------------------------------\nimport { SVGRenderer, CanvasRenderer } from './lib/export/renderers.js';\nimport { LineChart, BarChart, PieChart, ScatterChart, RadarChart, MapChart, TreeChart, TreemapChart, GraphChart, GaugeChart, FunnelChart, ParallelChart, SankeyChart, BoxplotChart, CandlestickChart, EffectScatterChart, LinesChart, HeatmapChart, PictorialBarChart, ThemeRiverChart, SunburstChart, CustomChart } from './lib/export/charts.js';\nimport { GridComponent, PolarComponent, GeoComponent, SingleAxisComponent, ParallelComponent, CalendarComponent, GraphicComponent, ToolboxComponent, TooltipComponent, AxisPointerComponent, BrushComponent, TitleComponent, TimelineComponent, MarkPointComponent, MarkLineComponent, MarkAreaComponent, LegendComponent, DataZoomComponent, DataZoomInsideComponent, DataZoomSliderComponent, VisualMapComponent, VisualMapContinuousComponent, VisualMapPiecewiseComponent, AriaComponent, DatasetComponent, TransformComponent } from './lib/export/components.js';\nimport { UniversalTransition, LabelLayout } from './lib/export/features.js';\n// -----------------\n// Render engines\n// -----------------\n// Render via Canvas.\n// echarts.init(dom, null, { renderer: 'canvas' })\nuse([CanvasRenderer]);\n// Render via SVG.\n// echarts.init(dom, null, { renderer: 'svg' })\nuse([SVGRenderer]);\n// ----------------\n// Charts (series)\n// ----------------\n// All of the series types, for example:\n// chart.setOption({\n// series: [{\n// type: 'line' // or 'bar', 'pie', ...\n// }]\n// });\nuse([LineChart, BarChart, PieChart, ScatterChart, RadarChart, MapChart, TreeChart, TreemapChart, GraphChart, GaugeChart, FunnelChart, ParallelChart, SankeyChart, BoxplotChart, CandlestickChart, EffectScatterChart, LinesChart, HeatmapChart, PictorialBarChart, ThemeRiverChart, SunburstChart, CustomChart]);\n// -------------------\n// Coordinate systems\n// -------------------\n// All of the axis modules have been included in the\n// coordinate system module below, do not need to\n// make extra import.\n// `cartesian` coordinate system. For some historical\n// reasons, it is named as grid, for example:\n// chart.setOption({\n// grid: {...},\n// xAxis: {...},\n// yAxis: {...},\n// series: [{...}]\n// });\nuse(GridComponent);\n// `polar` coordinate system, for example:\n// chart.setOption({\n// polar: {...},\n// radiusAxis: {...},\n// angleAxis: {...},\n// series: [{\n// coordinateSystem: 'polar'\n// }]\n// });\nuse(PolarComponent);\n// `geo` coordinate system, for example:\n// chart.setOption({\n// geo: {...},\n// series: [{\n// coordinateSystem: 'geo'\n// }]\n// });\nuse(GeoComponent);\n// `singleAxis` coordinate system (notice, it is a coordinate system\n// with only one axis, work for chart like theme river), for example:\n// chart.setOption({\n// singleAxis: {...}\n// series: [{type: 'themeRiver', ...}]\n// });\nuse(SingleAxisComponent);\n// `parallel` coordinate system, only work for parallel series, for example:\n// chart.setOption({\n// parallel: {...},\n// parallelAxis: [{...}, ...],\n// series: [{\n// type: 'parallel'\n// }]\n// });\nuse(ParallelComponent);\n// `calendar` coordinate system. for example,\n// chart.setOption({\n// calendar: {...},\n// series: [{\n// coordinateSystem: 'calendar'\n// }]\n// );\nuse(CalendarComponent);\n// ------------------\n// Other components\n// ------------------\n// `graphic` component, for example:\n// chart.setOption({\n// graphic: {...}\n// });\nuse(GraphicComponent);\n// `toolbox` component, for example:\n// chart.setOption({\n// toolbox: {...}\n// });\nuse(ToolboxComponent);\n// `tooltip` component, for example:\n// chart.setOption({\n// tooltip: {...}\n// });\nuse(TooltipComponent);\n// `axisPointer` component, for example:\n// chart.setOption({\n// tooltip: {axisPointer: {...}, ...}\n// });\n// Or\n// chart.setOption({\n// axisPointer: {...}\n// });\nuse(AxisPointerComponent);\n// `brush` component, for example:\n// chart.setOption({\n// brush: {...}\n// });\n// Or\n// chart.setOption({\n// tooltip: {feature: {brush: {...}}\n// })\nuse(BrushComponent);\n// `title` component, for example:\n// chart.setOption({\n// title: {...}\n// });\nuse(TitleComponent);\n// `timeline` component, for example:\n// chart.setOption({\n// timeline: {...}\n// });\nuse(TimelineComponent);\n// `markPoint` component, for example:\n// chart.setOption({\n// series: [{markPoint: {...}}]\n// });\nuse(MarkPointComponent);\n// `markLine` component, for example:\n// chart.setOption({\n// series: [{markLine: {...}}]\n// });\nuse(MarkLineComponent);\n// `markArea` component, for example:\n// chart.setOption({\n// series: [{markArea: {...}}]\n// });\nuse(MarkAreaComponent);\n// `legend` component not scrollable. for example:\n// chart.setOption({\n// legend: {...}\n// });\nuse(LegendComponent);\n// `dataZoom` component including both `dataZoomInside` and `dataZoomSlider`.\nuse(DataZoomComponent);\n// `dataZoom` component providing drag, pinch, wheel behaviors\n// inside coordinate system, for example:\n// chart.setOption({\n// dataZoom: {type: 'inside'}\n// });\nuse(DataZoomInsideComponent);\n// `dataZoom` component providing a slider bar, for example:\n// chart.setOption({\n// dataZoom: {type: 'slider'}\n// });\nuse(DataZoomSliderComponent);\n// `visualMap` component including both `visualMapContinuous` and `visualMapPiecewise`.\nuse(VisualMapComponent);\n// `visualMap` component providing continuous bar, for example:\n// chart.setOption({\n// visualMap: {type: 'continuous'}\n// });\nuse(VisualMapContinuousComponent);\n// `visualMap` component providing pieces bar, for example:\n// chart.setOption({\n// visualMap: {type: 'piecewise'}\n// });\nuse(VisualMapPiecewiseComponent);\n// `aria` component providing aria, for example:\n// chart.setOption({\n// aria: {...}\n// });\nuse(AriaComponent);\n// dataset transform\n// chart.setOption({\n// dataset: {\n// transform: []\n// }\n// });\nuse(TransformComponent);\nuse(DatasetComponent);\n// universal transition\n// chart.setOption({\n// series: {\n// universalTransition: { enabled: true }\n// }\n// })\nuse(UniversalTransition);\n// label layout\n// chart.setOption({\n// series: {\n// labelLayout: { hideOverlap: true }\n// }\n// })\nuse(LabelLayout);"], - "mappings": "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", + "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAI,MAAM,kBAAU;AACpB,SAAS,YAAY,GAAG,GAAG;AACvB,SAAO,KAAK,IAAI,IAAI,CAAC,IAAI;AAC7B;AACO,SAAS,mBAAmB,MAAM;AACrC,MAAI,OAAO,KAAK;AAChB,MAAI,MAAM,KAAK,IAAI;AACnB,MAAI,oBAAoB,CAAC;AACzB,MAAI;AACJ,MAAI,KAAK;AACT,MAAI,KAAK;AACT,MAAI,KAAK;AACT,MAAI,KAAK;AACT,WAAS,iBAAiB,GAAG,GAAG;AAC5B,QAAI,kBAAkB,eAAe,SAAS,GAAG;AAC7C,wBAAkB,KAAK,cAAc;AAAA,IACzC;AACA,qBAAiB,CAAC,GAAG,CAAC;AAAA,EAC1B;AACA,WAAS,QAAQA,KAAIC,KAAIC,KAAIC,KAAI;AAC7B,QAAI,EAAE,YAAYH,KAAIE,GAAE,KAAK,YAAYD,KAAIE,GAAE,IAAI;AAC/C,qBAAe,KAAKH,KAAIC,KAAIC,KAAIC,KAAID,KAAIC,GAAE;AAAA,IAC9C;AAAA,EACJ;AACA,WAAS,OAAOC,aAAYC,WAAUC,KAAIC,KAAIC,KAAIC,KAAI;AAClD,QAAI,QAAQ,KAAK,IAAIJ,YAAWD,WAAU;AAC1C,QAAIM,OAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,IAAI;AACpC,QAAI,MAAML,YAAWD,cAAa,KAAK;AACvC,QAAI,KAAK,KAAK,IAAIA,WAAU;AAC5B,QAAI,KAAK,KAAK,IAAIA,WAAU;AAC5B,QAAI,KAAK,KAAK,IAAIC,SAAQ;AAC1B,QAAI,KAAK,KAAK,IAAIA,SAAQ;AAC1B,QAAIH,MAAK,KAAKM,MAAKF;AACnB,QAAIH,MAAK,KAAKM,MAAKF;AACnB,QAAI,KAAK,KAAKC,MAAKF;AACnB,QAAI,KAAK,KAAKG,MAAKF;AACnB,QAAI,KAAKC,MAAKE,OAAM;AACpB,QAAI,KAAKD,MAAKC,OAAM;AACpB,mBAAe,KAAKR,MAAK,KAAK,IAAIC,MAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE;AAAA,EACtF;AACA,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,WAAS,IAAI,GAAG,IAAI,OAAM;AACtB,QAAI,MAAM,KAAK,GAAG;AAClB,QAAI,UAAU,MAAM;AACpB,QAAI,SAAS;AACT,WAAK,KAAK,CAAC;AACX,WAAK,KAAK,IAAI,CAAC;AACf,WAAK;AACL,WAAK;AACL,UAAI,QAAQ,IAAI,KAAK,QAAQ,IAAI,KAAK,QAAQ,IAAI,GAAG;AACjD,yBAAiB,CAAC,IAAI,EAAE;AAAA,MAC5B;AAAA,IACJ;AACA,YAAQ,KAAK;AAAA,MACT,KAAK,IAAI;AACL,aAAK,KAAK,KAAK,GAAG;AAClB,aAAK,KAAK,KAAK,GAAG;AAClB,yBAAiB,IAAI,EAAE;AACvB;AAAA,MACJ,KAAK,IAAI;AACL,aAAK,KAAK,GAAG;AACb,aAAK,KAAK,GAAG;AACb,gBAAQ,IAAI,IAAI,IAAI,EAAE;AACtB,aAAK;AACL,aAAK;AACL;AAAA,MACJ,KAAK,IAAI;AACL,uBAAe,KAAK,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;AAC9F;AAAA,MACJ,KAAK,IAAI;AACL,aAAK,KAAK,GAAG;AACb,aAAK,KAAK,GAAG;AACb,aAAK,KAAK,GAAG;AACb,aAAK,KAAK,GAAG;AACb,uBAAe,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE;AAC1H,aAAK;AACL,aAAK;AACL;AAAA,MACJ,KAAK,IAAI;AACL,YAAI,KAAK,KAAK,GAAG;AACjB,YAAI,KAAK,KAAK,GAAG;AACjB,YAAI,KAAK,KAAK,GAAG;AACjB,YAAI,KAAK,KAAK,GAAG;AACjB,YAAI,aAAa,KAAK,GAAG;AACzB,YAAI,WAAW,KAAK,GAAG,IAAI;AAC3B,aAAK;AACL,YAAI,gBAAgB,CAAC,KAAK,GAAG;AAC7B,aAAK,KAAK,IAAI,UAAU,IAAI,KAAK;AACjC,aAAK,KAAK,IAAI,UAAU,IAAI,KAAK;AACjC,YAAI,SAAS;AACT,eAAK;AACL,eAAK;AACL,2BAAiB,IAAI,EAAE;AAAA,QAC3B,OACK;AACD,kBAAQ,IAAI,IAAI,IAAI,EAAE;AAAA,QAC1B;AACA,aAAK,KAAK,IAAI,QAAQ,IAAI,KAAK;AAC/B,aAAK,KAAK,IAAI,QAAQ,IAAI,KAAK;AAC/B,YAAI,QAAQ,gBAAgB,KAAK,KAAK,KAAK,KAAK;AAChD,iBAAS,QAAQ,YAAY,gBAAgB,QAAQ,WAAW,QAAQ,UAAU,SAAS,MAAM;AAC7F,cAAI,YAAY,gBAAgB,KAAK,IAAI,QAAQ,MAAM,QAAQ,IACzD,KAAK,IAAI,QAAQ,MAAM,QAAQ;AACrC,iBAAO,OAAO,WAAW,IAAI,IAAI,IAAI,EAAE;AAAA,QAC3C;AACA;AAAA,MACJ,KAAK,IAAI;AACL,aAAK,KAAK,KAAK,GAAG;AAClB,aAAK,KAAK,KAAK,GAAG;AAClB,aAAK,KAAK,KAAK,GAAG;AAClB,aAAK,KAAK,KAAK,GAAG;AAClB,yBAAiB,IAAI,EAAE;AACvB,gBAAQ,IAAI,IAAI,IAAI,EAAE;AACtB,gBAAQ,IAAI,IAAI,IAAI,EAAE;AACtB,gBAAQ,IAAI,IAAI,IAAI,EAAE;AACtB,gBAAQ,IAAI,IAAI,IAAI,EAAE;AACtB;AAAA,MACJ,KAAK,IAAI;AACL,0BAAkB,QAAQ,IAAI,IAAI,IAAI,EAAE;AACxC,aAAK;AACL,aAAK;AACL;AAAA,IACR;AAAA,EACJ;AACA,MAAI,kBAAkB,eAAe,SAAS,GAAG;AAC7C,sBAAkB,KAAK,cAAc;AAAA,EACzC;AACA,SAAO;AACX;AACA,SAAS,eAAe,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,OAAO;AAChE,MAAI,YAAY,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,GAAG;AAC1F,QAAI,KAAK,IAAI,EAAE;AACf;AAAA,EACJ;AACA,MAAI,iBAAiB,IAAI;AACzB,MAAI,qBAAqB,iBAAiB;AAC1C,MAAI,KAAK,KAAK;AACd,MAAI,KAAK,KAAK;AACd,MAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AACnC,QAAM;AACN,QAAM;AACN,MAAI,MAAM,KAAK;AACf,MAAI,MAAM,KAAK;AACf,MAAI,MAAM,KAAK;AACf,MAAI,MAAM,KAAK;AACf,MAAI,YAAY,MAAM,MAAM,MAAM;AAClC,MAAI,YAAY,MAAM,MAAM,MAAM;AAClC,MAAI,YAAY,sBAAsB,YAAY,oBAAoB;AAClE,QAAI,KAAK,IAAI,EAAE;AACf;AAAA,EACJ;AACA,MAAI,WAAW,KAAK,MAAM,KAAK;AAC/B,MAAI,WAAW,CAAC,KAAK,MAAM,KAAK;AAChC,MAAI,QAAQ,YAAY,WAAW;AACnC,MAAI,QAAQ,YAAY,WAAW;AACnC,MAAI,QAAQ,sBAAsB,YAAY,KACvC,QAAQ,sBAAsB,YAAY,GAAG;AAChD,QAAI,KAAK,IAAI,EAAE;AACf;AAAA,EACJ;AACA,MAAI,UAAU,CAAC;AACf,MAAI,UAAU,CAAC;AACf,iBAAe,IAAI,IAAI,IAAI,IAAI,KAAK,OAAO;AAC3C,iBAAe,IAAI,IAAI,IAAI,IAAI,KAAK,OAAO;AAC3C,iBAAe,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,KAAK,KAAK;AACzH,iBAAe,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,KAAK,KAAK;AAC7H;AACO,SAAS,eAAe,MAAM,OAAO;AACxC,MAAI,oBAAoB,mBAAmB,IAAI;AAC/C,MAAI,WAAW,CAAC;AAChB,UAAQ,SAAS;AACjB,WAAS,IAAI,GAAG,IAAI,kBAAkB,QAAQ,KAAK;AAC/C,QAAI,UAAU,kBAAkB,CAAC;AACjC,QAAI,UAAU,CAAC;AACf,QAAI,KAAK,QAAQ,CAAC;AAClB,QAAI,KAAK,QAAQ,CAAC;AAClB,YAAQ,KAAK,IAAI,EAAE;AACnB,aAAS,IAAI,GAAG,IAAI,QAAQ,UAAS;AACjC,UAAI,KAAK,QAAQ,GAAG;AACpB,UAAI,KAAK,QAAQ,GAAG;AACpB,UAAI,KAAK,QAAQ,GAAG;AACpB,UAAI,KAAK,QAAQ,GAAG;AACpB,UAAI,KAAK,QAAQ,GAAG;AACpB,UAAI,KAAK,QAAQ,GAAG;AACpB,qBAAe,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,KAAK;AAC7D,WAAK;AACL,WAAK;AAAA,IACT;AACA,aAAS,KAAK,OAAO;AAAA,EACzB;AACA,SAAO;AACX;;;AC3LA,SAAS,iBAAiB,SAAS,QAAQ,OAAO;AAC9C,MAAI,UAAU,QAAQ,MAAM;AAC5B,MAAI,aAAa,QAAQ,IAAI,MAAM;AACnC,MAAI,QAAQ,KAAK,IAAI,UAAU,UAAU;AACzC,MAAI,WAAW,KAAK,KAAK,KAAK,KAAK,QAAQ,KAAK,CAAC;AACjD,MAAI,cAAc,KAAK,MAAM,QAAQ,QAAQ;AAC7C,MAAI,gBAAgB,GAAG;AACnB,kBAAc;AACd,eAAW;AAAA,EACf;AACA,MAAI,QAAQ,CAAC;AACb,WAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,UAAM,KAAK,WAAW;AAAA,EAC1B;AACA,MAAI,eAAe,WAAW;AAC9B,MAAI,WAAW,QAAQ;AACvB,MAAI,WAAW,GAAG;AACd,aAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,YAAM,IAAI,QAAQ,KAAK;AAAA,IAC3B;AAAA,EACJ;AACA,SAAO;AACX;AACA,SAAS,aAAa,aAAa,OAAO,WAAW;AACjD,MAAI,KAAK,YAAY;AACrB,MAAI,IAAI,YAAY;AACpB,MAAI,aAAa,YAAY;AAC7B,MAAI,WAAW,YAAY;AAC3B,MAAI,QAAQ,KAAK,IAAI,WAAW,UAAU;AAC1C,MAAI,SAAS,QAAQ;AACrB,MAAI,SAAS,IAAI;AACjB,MAAI,aAAa,SAAS,KAAK,IAAI,MAAM;AACzC,MAAI,QAAQ,iBAAiB,CAAC,QAAQ,MAAM,GAAG,aAAa,IAAI,GAAG,KAAK;AACxE,MAAI,WAAW,aAAa,QAAQ,UAAU,MAAM;AACpD,WAAS,MAAM,GAAG,MAAM,MAAM,QAAQ,OAAO;AACzC,QAAI,cAAc,aAAa,SAAS,SAAS,MAAM,GAAG;AAC1D,aAAS,SAAS,GAAG,SAAS,MAAM,GAAG,GAAG,UAAU;AAChD,UAAI,WAAW,CAAC;AAChB,UAAI,YAAY;AACZ,iBAAS,aAAa,aAAa,UAAU;AAC7C,iBAAS,WAAW,aAAa,WAAW,MAAM;AAClD,iBAAS,KAAK,KAAK,aAAa;AAChC,iBAAS,IAAI,KAAK,cAAc,SAAS;AAAA,MAC7C,OACK;AACD,iBAAS,aAAa,aAAa,aAAa;AAChD,iBAAS,WAAW,aAAa,cAAc,SAAS;AACxD,iBAAS,KAAK,KAAK,UAAU;AAC7B,iBAAS,IAAI,KAAK,WAAW,MAAM;AAAA,MACvC;AACA,eAAS,YAAY,YAAY;AACjC,eAAS,KAAK,YAAY;AAC1B,eAAS,KAAK,YAAY;AAC1B,gBAAU,KAAK,QAAQ;AAAA,IAC3B;AAAA,EACJ;AACJ;AACA,SAAS,WAAW,WAAW,OAAO,WAAW;AAC7C,MAAI,QAAQ,UAAU;AACtB,MAAI,SAAS,UAAU;AACvB,MAAI,kBAAkB,QAAQ;AAC9B,MAAI,QAAQ,iBAAiB,CAAC,OAAO,MAAM,GAAG,kBAAkB,IAAI,GAAG,KAAK;AAC5E,MAAI,aAAa,kBAAkB,UAAU;AAC7C,MAAI,gBAAgB,kBAAkB,WAAW;AACjD,MAAI,SAAS,kBAAkB,MAAM;AACrC,MAAI,YAAY,kBAAkB,MAAM;AACxC,MAAI,UAAU,UAAU,UAAU,IAAI,MAAM;AAC5C,WAAS,MAAM,GAAG,MAAM,MAAM,QAAQ,OAAO;AACzC,QAAI,aAAa,UAAU,aAAa,IAAI,MAAM,GAAG;AACrD,aAAS,SAAS,GAAG,SAAS,MAAM,GAAG,GAAG,UAAU;AAChD,UAAI,WAAW,CAAC;AAChB,eAAS,MAAM,IAAI,MAAM;AACzB,eAAS,SAAS,IAAI,SAAS;AAC/B,eAAS,UAAU,IAAI;AACvB,eAAS,aAAa,IAAI;AAC1B,eAAS,KAAK,UAAU;AACxB,eAAS,KAAK,UAAU;AACxB,gBAAU,KAAK,QAAQ;AAAA,IAC3B;AAAA,EACJ;AACJ;AACA,SAAS,eAAe,IAAI,IAAI,IAAI,IAAI;AACpC,SAAO,KAAK,KAAK,KAAK;AAC1B;AACA,SAAS,kBAAkB,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK;AAC/D,MAAI,KAAK,MAAM;AACf,MAAI,KAAK,MAAM;AACf,MAAI,KAAK,MAAM;AACf,MAAI,KAAK,MAAM;AACf,MAAI,iBAAiB,eAAe,IAAI,IAAI,IAAI,EAAE;AAClD,MAAI,KAAK,IAAI,cAAc,IAAI,MAAM;AACjC,WAAO;AAAA,EACX;AACA,MAAI,QAAQ,MAAM;AAClB,MAAI,QAAQ,MAAM;AAClB,MAAI,IAAI,eAAe,OAAO,OAAO,IAAI,EAAE,IAAI;AAC/C,MAAI,IAAI,KAAK,IAAI,GAAG;AAChB,WAAO;AAAA,EACX;AACA,SAAO,IAAI,cAAM,IAAI,KAAK,KAAK,IAAI,KAAK,GAAG;AAC/C;AACA,SAAS,aAAa,IAAI,OAAO,OAAO;AACpC,MAAI,MAAM,IAAI,cAAM;AACpB,gBAAM,IAAI,KAAK,OAAO,KAAK;AAC3B,MAAI,UAAU;AACd,MAAI,OAAO,IAAI,cAAM;AACrB,gBAAM,IAAI,MAAM,IAAI,KAAK;AACzB,MAAI,MAAM,KAAK,IAAI,GAAG;AACtB,SAAO;AACX;AACA,SAAS,UAAU,MAAM,IAAI;AACzB,MAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAC/B,MAAI,QAAQ,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG;AAChD;AAAA,EACJ;AACA,OAAK,KAAK,EAAE;AAChB;AACA,SAAS,mBAAmB,QAAQ,OAAO,OAAO;AAC9C,MAAI,MAAM,OAAO;AACjB,MAAI,gBAAgB,CAAC;AACrB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC1B,QAAI,KAAK,OAAO,CAAC;AACjB,QAAI,KAAK,QAAQ,IAAI,KAAK,GAAG;AAC7B,QAAI,iBAAiB,kBAAkB,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrG,QAAI,gBAAgB;AAChB,oBAAc,KAAK;AAAA,QACf,QAAQ,aAAa,gBAAgB,OAAO,KAAK;AAAA,QACjD,IAAI;AAAA,QACJ,KAAK;AAAA,MACT,CAAC;AAAA,IACL;AAAA,EACJ;AACA,MAAI,cAAc,SAAS,GAAG;AAC1B,WAAO,CAAC,EAAE,OAAe,GAAG,EAAE,OAAe,CAAC;AAAA,EAClD;AACA,gBAAc,KAAK,SAAU,GAAG,GAAG;AAC/B,WAAO,EAAE,SAAS,EAAE;AAAA,EACxB,CAAC;AACD,MAAI,WAAW,cAAc,CAAC;AAC9B,MAAI,WAAW,cAAc,cAAc,SAAS,CAAC;AACrD,MAAI,SAAS,MAAM,SAAS,KAAK;AAC7B,QAAI,MAAM;AACV,eAAW;AACX,eAAW;AAAA,EACf;AACA,MAAI,cAAc,CAAC,SAAS,GAAG,GAAG,SAAS,GAAG,CAAC;AAC/C,MAAI,cAAc,CAAC,SAAS,GAAG,GAAG,SAAS,GAAG,CAAC;AAC/C,MAAI,WAAW,CAAC,WAAW;AAC3B,MAAI,WAAW,CAAC,WAAW;AAC3B,WAAS,IAAI,SAAS,MAAM,GAAG,KAAK,SAAS,KAAK,KAAK;AACnD,cAAU,UAAU,OAAO,CAAC,EAAE,MAAM,CAAC;AAAA,EACzC;AACA,YAAU,UAAU,WAAW;AAC/B,YAAU,UAAU,WAAW;AAC/B,WAAS,IAAI,SAAS,MAAM,GAAG,KAAK,SAAS,MAAM,KAAK,KAAK;AACzD,cAAU,UAAU,OAAO,IAAI,GAAG,EAAE,MAAM,CAAC;AAAA,EAC/C;AACA,YAAU,UAAU,WAAW;AAC/B,YAAU,UAAU,WAAW;AAC/B,SAAO,CAAC;AAAA,IACA,QAAQ;AAAA,EACZ,GAAG;AAAA,IACC,QAAQ;AAAA,EACZ,CAAC;AACT;AACA,SAAS,oBAAoB,cAAc;AACvC,MAAI,SAAS,aAAa;AAC1B,MAAI,MAAM,CAAC;AACX,MAAI,MAAM,CAAC;AACX,aAAW,QAAQ,KAAK,GAAG;AAC3B,MAAI,eAAe,IAAI,qBAAa,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACpF,MAAI,QAAQ,aAAa;AACzB,MAAI,SAAS,aAAa;AAC1B,MAAI,IAAI,aAAa;AACrB,MAAI,IAAI,aAAa;AACrB,MAAI,MAAM,IAAI,cAAM;AACpB,MAAI,MAAM,IAAI,cAAM;AACpB,MAAI,QAAQ,QAAQ;AAChB,QAAI,IAAI,IAAI,IAAI,IAAI,QAAQ;AAC5B,QAAI,IAAI;AACR,QAAI,IAAI,IAAI;AAAA,EAChB,OACK;AACD,QAAI,IAAI,IAAI,IAAI,IAAI,SAAS;AAC7B,QAAI,IAAI;AACR,QAAI,IAAI,IAAI;AAAA,EAChB;AACA,SAAO,mBAAmB,QAAQ,KAAK,GAAG;AAC9C;AACA,SAAS,sBAAsB,SAAS,OAAO,OAAO,KAAK;AACvD,MAAI,UAAU,GAAG;AACb,QAAI,KAAK,KAAK;AAAA,EAClB,OACK;AACD,QAAI,MAAM,KAAK,MAAM,QAAQ,CAAC;AAC9B,QAAI,MAAM,QAAQ,KAAK;AACvB,0BAAsB,SAAS,IAAI,CAAC,GAAG,KAAK,GAAG;AAC/C,0BAAsB,SAAS,IAAI,CAAC,GAAG,QAAQ,KAAK,GAAG;AAAA,EAC3D;AACA,SAAO;AACX;AACO,SAAS,MAAM,MAAM,OAAO;AAC/B,MAAI,QAAQ,CAAC;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC5B,UAAM,KAAK,UAAU,IAAI,CAAC;AAAA,EAC9B;AACA,SAAO;AACX;AACA,SAAS,cAAc,QAAQ,QAAQ;AACnC,SAAO,SAAS,OAAO,KAAK;AAC5B,SAAO,IAAI,OAAO;AAClB,SAAO,KAAK,OAAO;AACnB,SAAO,SAAS,OAAO;AAC3B;AACA,SAAS,eAAe,QAAQ;AAC5B,MAAI,MAAM,CAAC;AACX,WAAS,IAAI,GAAG,IAAI,OAAO,UAAS;AAChC,QAAI,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;AAAA,EACvC;AACA,SAAO;AACX;AACO,SAAS,MAAM,MAAM,OAAO;AAC/B,MAAI,YAAY,CAAC;AACjB,MAAI,QAAQ,KAAK;AACjB,MAAI;AACJ,UAAQ,KAAK,MAAM;AAAA,IACf,KAAK;AACD,iBAAW,OAAO,OAAO,SAAS;AAClC,qBAAe;AACf;AAAA,IACJ,KAAK;AACD,mBAAa,OAAO,OAAO,SAAS;AACpC,qBAAe;AACf;AAAA,IACJ,KAAK;AACD,mBAAa;AAAA,QACT,IAAI;AAAA,QAAG,GAAG,MAAM;AAAA,QAAG,YAAY;AAAA,QAAG,UAAU,KAAK,KAAK;AAAA,QACtD,IAAI,MAAM;AAAA,QAAI,IAAI,MAAM;AAAA,MAC5B,GAAG,OAAO,SAAS;AACnB,qBAAe;AACf;AAAA,IACJ;AACI,UAAI,IAAI,KAAK,qBAAqB;AAClC,UAAI,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;AAC5F,UAAI,WAAW,IAAI,eAAe,KAAK,oBAAoB,GAAG,KAAK,GAAG,SAAU,MAAM;AAAE,eAAO,eAAe,IAAI;AAAA,MAAG,CAAC;AACtH,UAAI,eAAe,SAAS;AAC5B,UAAI,iBAAiB,GAAG;AACpB,8BAAsB,qBAAqB;AAAA,UACvC,QAAQ,SAAS,CAAC;AAAA,QACtB,GAAG,OAAO,SAAS;AAAA,MACvB,WACS,iBAAiB,OAAO;AAC7B,iBAAS,IAAI,GAAG,IAAI,cAAc,KAAK;AACnC,oBAAU,KAAK;AAAA,YACX,QAAQ,SAAS,CAAC;AAAA,UACtB,CAAC;AAAA,QACL;AAAA,MACJ,OACK;AACD,YAAI,cAAc;AAClB,YAAI,QAAQ,IAAI,UAAU,SAAU,MAAM;AACtC,cAAI,MAAM,CAAC;AACX,cAAI,MAAM,CAAC;AACX,qBAAW,MAAM,KAAK,GAAG;AACzB,cAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9C,yBAAe;AACf,iBAAO,EAAE,MAAY,KAAW;AAAA,QACpC,CAAC;AACD,cAAM,KAAK,SAAU,GAAG,GAAG;AAAE,iBAAO,EAAE,OAAO,EAAE;AAAA,QAAM,CAAC;AACtD,YAAI,OAAO;AACX,iBAAS,IAAI,GAAG,IAAI,cAAc,KAAK;AACnC,cAAI,OAAO,MAAM,CAAC;AAClB,cAAI,QAAQ,GAAG;AACX;AAAA,UACJ;AACA,cAAI,YAAY,MAAM,eAAe,IAC/B,OACA,KAAK,KAAK,KAAK,OAAO,cAAc,KAAK;AAC/C,cAAI,YAAY,GAAG;AACf;AAAA,UACJ;AACA,gCAAsB,qBAAqB;AAAA,YACvC,QAAQ,KAAK;AAAA,UACjB,GAAG,WAAW,SAAS;AACvB,kBAAQ;AAAA,QACZ;AACA;AAAA,MACJ;AACA,qBAAe;AACf;AAAA,EACR;AACA,MAAI,CAAC,cAAc;AACf,WAAO,MAAM,MAAM,KAAK;AAAA,EAC5B;AACA,MAAI,MAAM,CAAC;AACX,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACvC,QAAI,UAAU,IAAI,aAAa;AAC/B,YAAQ,SAAS,UAAU,CAAC,CAAC;AAC7B,kBAAc,MAAM,OAAO;AAC3B,QAAI,KAAK,OAAO;AAAA,EACpB;AACA,SAAO;AACX;;;AC/SA,SAAS,aAAa,UAAU,UAAU;AACtC,MAAI,OAAO,SAAS;AACpB,MAAI,OAAO,SAAS;AACpB,MAAI,SAAS,MAAM;AACf,WAAO,CAAC,UAAU,QAAQ;AAAA,EAC9B;AACA,MAAI,UAAU,CAAC;AACf,MAAI,UAAU,CAAC;AACf,MAAI,cAAc,OAAO,OAAO,WAAW;AAC3C,MAAI,aAAa,KAAK,IAAI,MAAM,IAAI;AACpC,MAAI,OAAO,KAAK,IAAI,OAAO,IAAI,IAAI;AACnC,MAAI,sBAAsB,aAAa,KAAK;AAC5C,MAAI,uBAAuB,KAAK,KAAK,OAAO,kBAAkB,IAAI;AAClE,MAAI,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC;AAChD,MAAI,WAAW;AACf,WAAS,IAAI,GAAG,IAAI,cAAa;AAC7B,QAAI,KAAK,YAAY,IAAI,CAAC;AAC1B,QAAI,KAAK,YAAY,IAAI,CAAC;AAC1B,QAAI,KAAK,YAAY,GAAG;AACxB,QAAI,KAAK,YAAY,GAAG;AACxB,QAAI,KAAK,YAAY,GAAG;AACxB,QAAI,KAAK,YAAY,GAAG;AACxB,QAAI,KAAK,YAAY,GAAG;AACxB,QAAI,KAAK,YAAY,GAAG;AACxB,QAAI,YAAY,GAAG;AACf,iBAAW,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AACtC;AAAA,IACJ;AACA,QAAI,oBAAoB,KAAK,IAAI,UAAU,uBAAuB,CAAC,IAAI;AACvE,aAAS,IAAI,GAAG,KAAK,mBAAmB,KAAK;AACzC,UAAI,IAAI,IAAI;AACZ,qBAAe,IAAI,IAAI,IAAI,IAAI,GAAG,OAAO;AACzC,qBAAe,IAAI,IAAI,IAAI,IAAI,GAAG,OAAO;AACzC,WAAK,QAAQ,CAAC;AACd,WAAK,QAAQ,CAAC;AACd,iBAAW,KAAK,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE;AACtE,WAAK,QAAQ,CAAC;AACd,WAAK,QAAQ,CAAC;AACd,WAAK,QAAQ,CAAC;AACd,WAAK,QAAQ,CAAC;AAAA,IAClB;AACA,gBAAY,oBAAoB;AAAA,EACpC;AACA,SAAO,gBAAgB,WAAW,CAAC,YAAY,QAAQ,IAAI,CAAC,UAAU,UAAU;AACpF;AACA,SAAS,cAAc,oBAAoB,cAAc;AACrD,MAAI,MAAM,mBAAmB;AAC7B,MAAI,QAAQ,mBAAmB,MAAM,CAAC;AACtC,MAAI,QAAQ,mBAAmB,MAAM,CAAC;AACtC,MAAI,aAAa,CAAC;AAClB,WAAS,IAAI,GAAG,IAAI,aAAa,UAAS;AACtC,eAAW,GAAG,IAAI;AAClB,eAAW,GAAG,IAAI;AAAA,EACtB;AACA,SAAO;AACX;AACO,SAAS,kBAAkB,QAAQ,QAAQ;AAC9C,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,YAAY,CAAC;AACjB,MAAI,YAAY,CAAC;AACjB,WAAS,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,QAAQ,OAAO,MAAM,GAAG,KAAK;AAC7D,QAAI,WAAW,OAAO,CAAC;AACvB,QAAI,WAAW,OAAO,CAAC;AACvB,QAAI,cAAc;AAClB,QAAI,cAAc;AAClB,QAAI,CAAC,UAAU;AACX,oBAAc,cAAc,gBAAgB,UAAU,QAAQ;AAC9D,oBAAc;AAAA,IAClB,WACS,CAAC,UAAU;AAChB,oBAAc,cAAc,gBAAgB,UAAU,QAAQ;AAC9D,oBAAc;AAAA,IAClB,OACK;AACD,WAAK,aAAa,UAAU,QAAQ,GAAG,cAAc,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC;AAC9E,qBAAe;AACf,qBAAe;AAAA,IACnB;AACA,cAAU,KAAK,WAAW;AAC1B,cAAU,KAAK,WAAW;AAAA,EAC9B;AACA,SAAO,CAAC,WAAW,SAAS;AAChC;AACO,SAAS,SAAS,OAAO;AAC5B,MAAI,aAAa;AACjB,MAAI,KAAK;AACT,MAAI,KAAK;AACT,MAAI,MAAM,MAAM;AAChB,WAAS,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,KAAK,GAAG;AACjD,QAAI,KAAK,MAAM,CAAC;AAChB,QAAI,KAAK,MAAM,IAAI,CAAC;AACpB,QAAI,KAAK,MAAM,CAAC;AAChB,QAAI,KAAK,MAAM,IAAI,CAAC;AACpB,QAAI,IAAI,KAAK,KAAK,KAAK;AACvB,kBAAc;AACd,WAAO,KAAK,MAAM;AAClB,WAAO,KAAK,MAAM;AAAA,EACtB;AACA,MAAI,eAAe,GAAG;AAClB,WAAO,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAAA,EACxC;AACA,SAAO,CAAC,KAAK,aAAa,GAAG,KAAK,aAAa,GAAG,UAAU;AAChE;AACA,SAAS,mBAAmB,gBAAgB,cAAc,QAAQ,MAAM;AACpE,MAAI,eAAe,eAAe,SAAS,KAAK;AAChD,MAAI,YAAY;AAChB,MAAI,aAAa;AACjB,MAAI,MAAM,eAAe;AACzB,MAAI,OAAO,MAAM;AACjB,WAAS,SAAS,GAAG,SAAS,aAAa,UAAU;AACjD,QAAI,eAAe,SAAS;AAC5B,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7B,UAAI,MAAM,MAAM,IAAI,gBAAiB,eAAe,IAAI,KAAK,OAAO;AACpE,UAAI,KAAK,eAAe,GAAG,IAAI,OAAO,CAAC;AACvC,UAAI,KAAK,eAAe,MAAM,CAAC,IAAI,OAAO,CAAC;AAC3C,UAAI,KAAK,aAAa,CAAC,IAAI,KAAK,CAAC;AACjC,UAAI,KAAK,aAAa,IAAI,CAAC,IAAI,KAAK,CAAC;AACrC,UAAI,KAAK,KAAK;AACd,UAAI,KAAK,KAAK;AACd,eAAS,KAAK,KAAK,KAAK;AAAA,IAC5B;AACA,QAAI,QAAQ,WAAW;AACnB,kBAAY;AACZ,mBAAa;AAAA,IACjB;AAAA,EACJ;AACA,SAAO;AACX;AACA,SAAS,QAAQ,OAAO;AACpB,MAAI,SAAS,CAAC;AACd,MAAI,MAAM,MAAM;AAChB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7B,WAAO,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC;AAC7B,WAAO,IAAI,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC;AAAA,EACrC;AACA,SAAO;AACX;AACA,SAAS,yBAAyB,SAAS,OAAO,sBAAsB,kBAAkB;AACtF,MAAI,SAAS,CAAC;AACd,MAAI;AACJ,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,QAAI,oBAAoB,QAAQ,CAAC;AACjC,QAAI,kBAAkB,MAAM,CAAC;AAC7B,QAAI,SAAS,SAAS,iBAAiB;AACvC,QAAI,OAAO,SAAS,eAAe;AACnC,QAAI,oBAAoB,MAAM;AAC1B,yBAAmB,OAAO,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI;AAAA,IACnD;AACA,QAAI,uBAAuB,CAAC;AAC5B,QAAI,qBAAqB,CAAC;AAC1B,QAAI,YAAY;AAChB,QAAI,YAAY;AAChB,QAAI,SAAS,CAAC;AACd,QAAI,MAAM,kBAAkB;AAC5B,QAAI,kBAAkB;AAClB,0BAAoB,QAAQ,iBAAiB;AAAA,IACjD;AACA,QAAI,SAAS,mBAAmB,mBAAmB,iBAAiB,QAAQ,IAAI,IAAI;AACpF,QAAI,OAAO,MAAM;AACjB,aAAS,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG;AAC9B,UAAI,OAAO,SAAS,KAAK,OAAO;AAChC,2BAAqB,IAAI,CAAC,IAAI,kBAAkB,GAAG,IAAI,OAAO,CAAC;AAC/D,2BAAqB,IAAI,CAAC,IAAI,kBAAkB,MAAM,CAAC,IAAI,OAAO,CAAC;AAAA,IACvE;AACA,yBAAqB,CAAC,IAAI,kBAAkB,MAAM,IAAI,OAAO,CAAC;AAC9D,yBAAqB,CAAC,IAAI,kBAAkB,SAAS,CAAC,IAAI,OAAO,CAAC;AAClE,QAAI,uBAAuB,GAAG;AAC1B,UAAI,OAAO,mBAAmB;AAC9B,eAAS,QAAQ,CAAC,mBAAmB,GAAG,SAAS,mBAAmB,GAAG,SAAS,MAAM;AAClF,YAAI,KAAK,KAAK,IAAI,KAAK;AACvB,YAAI,KAAK,KAAK,IAAI,KAAK;AACvB,YAAI,QAAQ;AACZ,iBAAS,IAAI,GAAG,IAAI,kBAAkB,QAAQ,KAAK,GAAG;AAClD,cAAI,KAAK,qBAAqB,CAAC;AAC/B,cAAI,KAAK,qBAAqB,IAAI,CAAC;AACnC,cAAI,KAAK,gBAAgB,CAAC,IAAI,KAAK,CAAC;AACpC,cAAI,KAAK,gBAAgB,IAAI,CAAC,IAAI,KAAK,CAAC;AACxC,cAAI,QAAQ,KAAK,KAAK,KAAK;AAC3B,cAAI,QAAQ,KAAK,KAAK,KAAK;AAC3B,iBAAO,CAAC,IAAI;AACZ,iBAAO,IAAI,CAAC,IAAI;AAChB,cAAI,KAAK,QAAQ;AACjB,cAAI,KAAK,QAAQ;AACjB,mBAAS,KAAK,KAAK,KAAK;AAAA,QAC5B;AACA,YAAI,QAAQ,WAAW;AACnB,sBAAY;AACZ,sBAAY;AACZ,mBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACpC,+BAAmB,CAAC,IAAI,OAAO,CAAC;AAAA,UACpC;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,OACK;AACD,eAAS,MAAM,GAAG,MAAM,KAAK,OAAO,GAAG;AACnC,2BAAmB,GAAG,IAAI,gBAAgB,GAAG,IAAI,KAAK,CAAC;AACvD,2BAAmB,MAAM,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,KAAK,CAAC;AAAA,MACnE;AAAA,IACJ;AACA,WAAO,KAAK;AAAA,MACR,MAAM;AAAA,MACN,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU,CAAC;AAAA,IACf,CAAC;AAAA,EACL;AACA,SAAO;AACX;AACO,SAAS,kBAAkB,MAAM;AACpC,SAAO,KAAK;AAChB;AAIA,IAAI,sBAAsB;AAC1B,SAAS,oBAAoB,KAAK,YAAY,WAAW;AACrD,MAAI,kBAAkB,sBAAsB;AAC5C,MAAI,iBAAiB,IAAI,eAAe,KAAK,IAAI,UAAU;AAC3D,MAAI,CAAC,IAAI,eAAe,GAAG;AACvB,QAAI,eAAe,IAAI,IAAI,UAAU;AAAA,EACzC;AACA,MAAI,UAAU,UAAU;AACxB,MAAI,QAAQ,UAAU;AACtB,MAAI,SAAS,UAAU;AACvB,MAAI,UAAU,IAAI,WAAY;AAC1B,QAAI,OAAO;AACX,QAAI;AACJ,cAAU,OAAO,MAAM,MAAM,IAAI;AACjC,QAAI,SAAS;AACT,YAAM,QAAQ,MAAM,MAAM,IAAI;AAAA,IAClC,OACK;AACD,YAAM,eAAe,MAAM,MAAM,IAAI;AAAA,IACzC;AACA,aAAS,MAAM,MAAM,MAAM,IAAI;AAC/B,WAAO;AAAA,EACX;AACJ;AACA,SAAS,cAAc,KAAK,YAAY;AACpC,MAAI,kBAAkB,sBAAsB;AAC5C,MAAI,IAAI,eAAe,GAAG;AACtB,QAAI,UAAU,IAAI,IAAI,eAAe;AACrC,QAAI,eAAe,IAAI;AAAA,EAC3B;AACJ;AACA,SAAS,wBAAwB,cAAc,IAAI;AAC/C,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC1C,QAAI,aAAa,aAAa,CAAC;AAC/B,aAAS,IAAI,GAAG,IAAI,WAAW,UAAS;AACpC,UAAI,IAAI,WAAW,CAAC;AACpB,UAAI,IAAI,WAAW,IAAI,CAAC;AACxB,iBAAW,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;AAC9C,iBAAW,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;AAAA,IAClD;AAAA,EACJ;AACJ;AACA,SAAS,iBAAiB,UAAU,QAAQ;AACxC,MAAI,gBAAgB,SAAS,oBAAoB;AACjD,MAAI,cAAc,OAAO,oBAAoB;AAC7C,MAAI,KAAK,kBAAkB,mBAAmB,aAAa,GAAG,mBAAmB,WAAW,CAAC,GAAG,mBAAmB,GAAG,CAAC,GAAG,iBAAiB,GAAG,CAAC;AAC/I,MAAI,oBAAoB,SAAS,qBAAqB;AACtD,MAAI,kBAAkB,OAAO,qBAAqB;AAClD,WAAS,0BAA0B;AAC/B,SAAK,YAAY;AAAA,EACrB;AACA,uBAAqB,wBAAwB,kBAAkB,iBAAiB;AAChF,qBAAmB,wBAAwB,gBAAgB,eAAe;AAC1E,sBAAoB,QAAQ,mBAAmB,EAAE,SAAS,wBAAwB,CAAC;AACnF,SAAO,YAAY;AACnB,MAAI,eAAe,yBAAyB,kBAAkB,gBAAgB,IAAI,KAAK,EAAE;AACzF,MAAI,SAAS,CAAC;AACd,sBAAoB,QAAQ,aAAa,EAAE,SAAS,SAAU,MAAM;AAC5D,QAAI,IAAI,OAAO;AACf,QAAI,OAAO,IAAI;AACf,QAAI,QAAQ,CAAC;AACb,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC1C,UAAI,OAAO,aAAa,CAAC;AACzB,UAAI,OAAO,KAAK;AAChB,UAAI,KAAK,KAAK;AACd,UAAI,QAAQ,KAAK,WAAW;AAC5B,UAAI,SAAS,KAAK;AAClB,UAAI,OAAO,KAAK;AAChB,UAAI,KAAK,KAAK,IAAI,KAAK;AACvB,UAAI,KAAK,KAAK,IAAI,KAAK;AACvB,WAAK,OAAO,QAAQ,MAAM,CAAC;AAC3B,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACrC,YAAI,OAAO,KAAK,CAAC;AACjB,YAAI,OAAO,KAAK,IAAI,CAAC;AACrB,YAAI,KAAK,GAAG,CAAC;AACb,YAAI,KAAK,GAAG,IAAI,CAAC;AACjB,YAAI,IAAI,OAAO,OAAO,KAAK;AAC3B,YAAI,IAAI,OAAO,OAAO,KAAK;AAC3B,eAAO,CAAC,IAAK,IAAI,KAAK,IAAI,KAAM,MAAM,CAAC;AACvC,eAAO,IAAI,CAAC,IAAK,IAAI,KAAK,IAAI,KAAM,MAAM,CAAC;AAAA,MAC/C;AACA,UAAI,KAAK,OAAO,CAAC;AACjB,UAAI,KAAK,OAAO,CAAC;AACjB,WAAK,OAAO,IAAI,EAAE;AAClB,eAAS,IAAI,GAAG,IAAI,KAAK,UAAS;AAC9B,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,IAAI;AAClD,eAAK,OAAO,IAAI,EAAE;AAAA,QACtB,OACK;AACD,eAAK,cAAc,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAAA,QAC7C;AACA,aAAK;AACL,aAAK;AAAA,MACT;AAAA,IACJ;AAAA,EACJ,EAAE,CAAC;AACX;AACO,SAAS,UAAU,UAAU,QAAQ,eAAe;AACvD,MAAI,CAAC,YAAY,CAAC,QAAQ;AACtB,WAAO;AAAA,EACX;AACA,MAAI,UAAU,cAAc;AAC5B,MAAI,YAAY,cAAc;AAC9B,mBAAiB,UAAU,MAAM;AACjC,SAAO,WAAW;AAClB,WAAS,gBAAgB;AACrB,kBAAc,QAAQ,WAAW;AACjC,kBAAc,QAAQ,iBAAiB;AACvC,WAAO,WAAW;AAClB,WAAO,gBAAgB;AACvB,WAAO,WAAW;AAAA,EACtB;AACA,SAAO,UAAU;AAAA,IACb,UAAU;AAAA,EACd,GAAG,SAAS;AAAA,IACR,QAAQ,SAAU,GAAG;AACjB,aAAO,WAAW;AAClB,mBAAa,UAAU,CAAC;AAAA,IAC5B;AAAA,IACA,MAAM,WAAY;AACd,oBAAc;AACd,iBAAW,QAAQ;AAAA,IACvB;AAAA,EACJ,GAAG,aAAa,CAAC;AACjB,SAAO;AACX;AACA,SAAS,QAAQ,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM;AAC3C,MAAI,OAAO;AACX,MAAK,SAAS,OAAQ,IAAI,KAAK,MAAM,SAAS,IAAI,SAAS,OAAO,KAAK;AACvE,MAAK,SAAS,OAAQ,IAAI,KAAK,MAAM,SAAS,IAAI,SAAS,OAAO,KAAK;AACvE,MAAI,IAAI;AACR,MAAI;AACJ,WAAS,KAAK,KAAK,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG;AACzC,QAAI,KAAK;AACT,QAAI,KAAK;AACT,SAAK,IAAI,KAAK,GAAG;AACb,WAAK;AAAA,IACT;AACA,SAAK,IAAI,KAAK,GAAG;AACb,WAAK;AAAA,IACT;AACA,SAAK,IAAI,KAAM,IAAI,KAAM;AACzB,QAAI,OAAO,GAAG;AACV,UAAI,OAAO,GAAG;AACV,YAAI,IAAI,IAAI;AACZ,YAAI,IAAI,IAAI;AAAA,MAChB;AACA,YAAM;AACN,UAAI;AACJ,UAAI;AAAA,IACR;AAAA,EACJ;AACA,SAAO;AACX;AACA,SAAS,UAAU,UAAU;AACzB,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,MAAM,IAAI,UAAU,SAAU,MAAM;AACpC,QAAI,OAAO,KAAK,gBAAgB;AAChC,QAAI,IAAI,KAAK,qBAAqB;AAClC,QAAI,IAAI,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,EAAE,CAAC,IAAI;AAC9C,QAAI,IAAI,KAAK,IAAI,KAAK,SAAS,KAAK,IAAI,EAAE,CAAC,IAAI;AAC/C,WAAO,KAAK,IAAI,GAAG,IAAI;AACvB,WAAO,KAAK,IAAI,GAAG,IAAI;AACvB,WAAO,KAAK,IAAI,GAAG,IAAI;AACvB,WAAO,KAAK,IAAI,GAAG,IAAI;AACvB,WAAO,CAAC,GAAG,CAAC;AAAA,EAChB,CAAC;AACD,MAAI,QAAQ,IAAI,KAAK,SAAU,IAAI,KAAK;AACpC,WAAO;AAAA,MACH;AAAA,MACA,GAAG,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,MAAM,MAAM,IAAI;AAAA,MAC/C,MAAM,SAAS,GAAG;AAAA,IACtB;AAAA,EACJ,CAAC;AACD,SAAO,MAAM,KAAK,SAAU,GAAG,GAAG;AAAE,WAAO,EAAE,IAAI,EAAE;AAAA,EAAG,CAAC,EAAE,IAAI,SAAU,MAAM;AAAE,WAAO,KAAK;AAAA,EAAM,CAAC;AACtG;AAEA,SAAS,kBAAkB,OAAO;AAC9B,SAAO,MAAM,MAAM,MAAM,MAAM,KAAK;AACxC;AACA,SAAS,oBAAoB;AACzB,SAAO;AAAA,IACH,iBAAiB,CAAC;AAAA,IAClB,eAAe,CAAC;AAAA,IAChB,OAAO;AAAA,EACX;AACJ;AACO,SAAS,aAAa,UAAU,QAAQ,eAAe;AAC1D,MAAI,eAAe,CAAC;AACpB,WAAS,YAAYQ,WAAU;AAC3B,aAASC,KAAI,GAAGA,KAAID,UAAS,QAAQC,MAAK;AACtC,UAAIC,QAAOF,UAASC,EAAC;AACrB,UAAI,kBAAkBC,KAAI,GAAG;AACzB,oBAAYA,MAAK,YAAY,CAAC;AAAA,MAClC,WACSA,iBAAgB,cAAM;AAC3B,qBAAa,KAAKA,KAAI;AAAA,MAC1B;AAAA,IACJ;AAAA,EACJ;AACA,cAAY,QAAQ;AACpB,MAAI,gBAAgB,aAAa;AACjC,MAAI,CAAC,eAAe;AAChB,WAAO,kBAAkB;AAAA,EAC7B;AACA,MAAI,aAAa,cAAc,cAAc;AAC7C,MAAI,gBAAgB,WAAW;AAAA,IAC3B,MAAM;AAAA,IAAQ,OAAO;AAAA,EACzB,CAAC;AACD,MAAI,cAAc,WAAW,eAAe;AACxC,YAAQ,MAAM,2CAA2C;AACzD,WAAO,kBAAkB;AAAA,EAC7B;AACA,iBAAe,UAAU,YAAY;AACrC,kBAAgB,UAAU,aAAa;AACvC,MAAI,UAAU,cAAc;AAC5B,MAAI,YAAY,cAAc;AAC9B,MAAI,kBAAkB,cAAc;AACpC,MAAI,oBAAoB,IAAI,sBAAc;AAC1C,WAAS,IAAI,GAAG,IAAI,eAAe,KAAK;AACpC,QAAI,OAAO,aAAa,CAAC;AACzB,QAAI,KAAK,cAAc,CAAC;AACxB,OAAG,SAAS;AACZ,OAAG,cAAc,iBAAiB;AAClC,QAAI,CAAC,iBAAiB;AAClB,uBAAiB,MAAM,EAAE;AAAA,IAC7B;AAAA,EACJ;AACA,SAAO,sBAAsB;AAC7B,SAAO,cAAc,WAAY;AAC7B,WAAO;AAAA,EACX;AACA,WAAS,qBAAqB,IAAI;AAC9B,aAASD,KAAI,GAAGA,KAAI,cAAc,QAAQA,MAAK;AAC3C,oBAAcA,EAAC,EAAE,YAAY,EAAE;AAAA,IACnC;AAAA,EACJ;AACA,sBAAoB,QAAQ,eAAe;AAAA,IACvC,OAAO,SAAU,IAAI;AACjB,2BAAqB,EAAE;AAAA,IAC3B;AAAA,EACJ,CAAC;AACD,sBAAoB,QAAQ,oBAAoB;AAAA,IAC5C,OAAO,SAAU,IAAI;AACjB,eAASA,KAAI,GAAGA,KAAI,cAAc,QAAQA,MAAK;AAC3C,sBAAcA,EAAC,EAAE,iBAAiB,EAAE;AAAA,MACxC;AAAA,IACJ;AAAA,EACJ,CAAC;AACD,WAAS,gBAAgB;AACrB,WAAO,sBAAsB;AAC7B,WAAO,WAAW;AAClB,WAAO,cAAc;AACrB,kBAAc,QAAQ,aAAa;AACnC,kBAAc,QAAQ,kBAAkB;AAAA,EAC5C;AACA,MAAI,QAAQ,cAAc;AAC1B,MAAI,iBAAiB;AACjB,QAAI,cAAc;AAClB,QAAI,WAAW,WAAY;AACvB;AACA,UAAI,gBAAgB,GAAG;AACnB,sBAAc;AACd,mBAAW,QAAQ;AAAA,MACvB;AAAA,IACJ;AACA,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC5B,UAAI,yBAAyB,kBAAkB,SAAS;AAAA,QACpD,QAAQ,cAAc,SAAS,KAAK,gBAAgB,GAAG,OAAO,aAAa,CAAC,GAAG,cAAc,CAAC,CAAC;AAAA,QAC/F,MAAM;AAAA,MACV,GAAG,aAAa,IAAI;AACpB,gBAAU,aAAa,CAAC,GAAG,cAAc,CAAC,GAAG,sBAAsB;AAAA,IACvE;AAAA,EACJ,OACK;AACD,WAAO,WAAW;AAClB,WAAO,UAAU;AAAA,MACb,UAAU;AAAA,IACd,GAAG,SAAS;AAAA,MACR,QAAQ,SAAU,GAAG;AACjB,iBAASA,KAAI,GAAGA,KAAI,OAAOA,MAAK;AAC5B,cAAI,QAAQ,cAAcA,EAAC;AAC3B,gBAAM,WAAW,OAAO;AACxB,gBAAM,WAAW;AAAA,QACrB;AACA,qBAAa,UAAU,CAAC;AAAA,MAC5B;AAAA,MACA,MAAM,WAAY;AACd,sBAAc;AACd,iBAASA,KAAI,GAAGA,KAAI,SAAS,QAAQA,MAAK;AACtC,wBAAc,SAASA,EAAC,GAAG,iBAAiB;AAAA,QAChD;AACA,mBAAW,QAAQ;AAAA,MACvB;AAAA,IACJ,GAAG,aAAa,CAAC;AAAA,EACrB;AACA,MAAI,OAAO,MAAM;AACb,yBAAqB,OAAO,IAAI;AAAA,EACpC;AACA,SAAO;AAAA,IACH,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,OAAO;AAAA,EACX;AACJ;AACO,SAAS,cAAc,UAAU,YAAY,eAAe;AAC/D,MAAI,QAAQ,WAAW;AACvB,MAAI,eAAe,CAAC;AACpB,MAAI,aAAa,cAAc,cAAc;AAC7C,WAAS,YAAY,UAAU;AAC3B,aAASA,KAAI,GAAGA,KAAI,SAAS,QAAQA,MAAK;AACtC,UAAI,OAAO,SAASA,EAAC;AACrB,UAAI,kBAAkB,IAAI,GAAG;AACzB,oBAAY,KAAK,YAAY,CAAC;AAAA,MAClC,WACS,gBAAgB,cAAM;AAC3B,qBAAa,KAAK,IAAI;AAAA,MAC1B;AAAA,IACJ;AAAA,EACJ;AACA,MAAI,kBAAkB,QAAQ,GAAG;AAC7B,gBAAY,SAAS,YAAY,CAAC;AAClC,QAAI,UAAU,aAAa;AAC3B,QAAI,UAAU,OAAO;AACjB,UAAI,IAAI;AACR,eAAS,IAAI,SAAS,IAAI,OAAO,KAAK;AAClC,qBAAa,KAAK,UAAU,aAAa,MAAM,OAAO,CAAC,CAAC;AAAA,MAC5D;AAAA,IACJ;AACA,iBAAa,SAAS;AAAA,EAC1B,OACK;AACD,mBAAe,WAAW,EAAE,MAAM,UAAU,OAAO,MAAM,CAAC;AAC1D,QAAI,oBAAoB,SAAS,qBAAqB;AACtD,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC1C,mBAAa,CAAC,EAAE,kBAAkB,iBAAiB;AAAA,IACvD;AACA,QAAI,aAAa,WAAW,OAAO;AAC/B,cAAQ,MAAM,2CAA2C;AACzD,aAAO,kBAAkB;AAAA,IAC7B;AAAA,EACJ;AACA,iBAAe,UAAU,YAAY;AACrC,eAAa,UAAU,UAAU;AACjC,MAAI,kBAAkB,cAAc;AACpC,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC5B,QAAI,yBAAyB,kBAAkB,SAAS;AAAA,MACpD,QAAQ,cAAc,SAAS,KAAK,gBAAgB,GAAG,OAAO,aAAa,CAAC,GAAG,WAAW,CAAC,CAAC;AAAA,IAChG,GAAG,aAAa,IAAI;AACpB,cAAU,aAAa,CAAC,GAAG,WAAW,CAAC,GAAG,sBAAsB;AAAA,EACpE;AACA,SAAO;AAAA,IACH,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,OAAO,WAAW;AAAA,EACtB;AACJ;;;AChiBA,SAAS,WAAW,UAAU;AAC5B,SAAO,QAAQ,SAAS,CAAC,CAAC;AAC5B;AACA,SAAS,oBAAoB,KAAK,MAAM;AACtC,MAAI,UAAU,CAAC;AACf,MAAI,aAAa,IAAI;AACrB,WAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,YAAQ,KAAK;AAAA,MACX,KAAK,IAAI,CAAC;AAAA,MACV,MAAM,CAAC;AAAA,IACT,CAAC;AAAA,EACH;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,QAAI,MAAM,KAAK,CAAC,EAAE;AAClB,QAAI,IAAI;AACR,SAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACxB,cAAQ,IAAI,UAAU,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;AAAA,IAC9C;AAAA,EACF;AACA,MAAI,MAAM;AAEV,WAAS,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK;AACxC,QAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ;AAC3B,UAAI,WAAW,QAAQ,GAAG,EAAE;AAC5B,UAAI,SAAS,UAAU,GAAG;AAGxB,YAAI,KAAK;AACP,gBAAM;AAAA,QACR,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,MAAM,SAAS;AACnB,UAAI,MAAM,KAAK,KAAK,MAAM,CAAC;AAC3B,cAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,KAAK,GAAG;AACzC,cAAQ,GAAG,EAAE,OAAO,SAAS,MAAM,GAAG,GAAG;AACzC;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AACA,IAAI,eAAe;AAAA,EACjB,OAAO,SAAU,QAAQ;AACvB,QAAI,MAAM,CAAC;AAEX,QAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,SAAS,IAAI,OAAO,KAAK;AAChF,aAAS,IAAI,GAAG,IAAI,OAAO,OAAO,KAAK;AACrC,UAAI,SAAS,UAAU,OAAO,IAAI;AAClC,aAAO,SAAS,WAAW,aAAa;AACxC,UAAI,KAAK,MAAM;AAAA,IACjB;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAEA,OAAO;AACT;AACO,SAAS,oBAAoB,MAAM,IAAI,aAAa,aAAa,WAAW,mBAAmB;AACpG,MAAI,CAAC,KAAK,UAAU,CAAC,GAAG,QAAQ;AAC9B;AAAA,EACF;AACA,MAAI,qBAAqB,mBAAmB,UAAU,aAAa,SAAS;AAC5E,MAAI,EAAE,sBAAsB,mBAAmB,WAAW,IAAI;AAC5D;AAAA,EACF;AACA,MAAI,iBAAiB,YAAY,SAAS,qBAAqB,EAAE,IAAI,OAAO;AAC5E,MAAI,eAAe,OAAO,OAAO;AAAA;AAAA;AAAA,IAG/B,YAAY;AAAA,EACd,GAAG,kBAAkB;AACrB,MAAI;AACJ,MAAI;AACJ,MAAI,WAAW,IAAI,GAAG;AAEpB,WAAO;AACP,UAAM;AAAA,EACR;AACA,MAAI,WAAW,EAAE,GAAG;AAElB,WAAO;AACP,UAAM;AAAA,EACR;AACA,WAAS,cAAc,OAAOE,aAAYC,eAAcC,eAAc,cAAc;AAClF,QAAI,YAAY,MAAM;AACtB,QAAI,WAAW,MAAM;AACrB,QAAI,UAAU,WAAW,KAAK,CAAC,cAAc;AAE3C,UAAI,YAAYF,cAAa,UAAU,CAAC,IAAI;AAC5C,UAAI,UAAUA,cAAa,WAAW,UAAU,CAAC;AACjD,UAAI,kBAAkB,SAAS,GAAG;AAEhC,sBAAc;AAAA,UACZ,MAAM,CAAC,SAAS;AAAA,UAChB,KAAK;AAAA,QACP,GAAG,MAAMC,eAAcC,eAAc,IAAI;AAAA,MAC3C,OAAO;AACL,YAAI,yBAAyB,iBAAiB,SAAS;AAAA,UACrD,OAAO,eAAeD,eAAcC,aAAY;AAAA,QAClD,GAAG,YAAY,IAAI;AACnB,kBAAU,WAAW,SAAS,sBAAsB;AACpD,0BAAkB,WAAW,SAAS,WAAW,SAAS,sBAAsB;AAAA,MAClF;AAAA,IACF,OAAO;AACL,UAAI,uBAAuB,SAAS;AAAA,QAClC,YAAY,aAAa,WAAW;AAAA,QACpC,iBAAiB,kBAAkB,SAAU,KAAKC,QAAO,UAAU,QAAQ;AACzE,iBAAO,eAAe,MAAMF,eAAcC,aAAY;AAAA,QACxD;AAAA,MACF,GAAG,YAAY;AACf,UAAI,KAAKF,cAAa,aAAa,WAAW,UAAU,oBAAoB,IAAI,cAAc,UAAU,WAAW,oBAAoB,GACrI,kBAAkB,GAAG,iBACrB,gBAAgB,GAAG;AACrB,UAAI,QAAQ,gBAAgB;AAC5B,eAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,YAAI,yBAAyB,iBAAiB,SAAS;AAAA,UACrD,OAAO,eAAe,GAAG,KAAK;AAAA,QAChC,GAAG,YAAY,IAAI;AACnB,0BAAkB,gBAAgB,CAAC,GAAG,cAAc,CAAC,GAAGA,cAAa,UAAU,CAAC,IAAI,MAAM,KAAKA,cAAa,MAAM,MAAM,UAAU,CAAC,GAAG,sBAAsB;AAAA,MAC9J;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa,OAAO,SAAS,OAE/B,KAAK,SAAS,GAAG;AACnB,MAAI,eAAe,OAAO,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,aAAa,KAAK,MAAM,CAAC,aAAa,OAAO,EAAE,CAAC;AAC/H,MAAI,eAAe;AACnB,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,oBAAgB,aAAa,CAAC,EAAE,KAAK;AAAA,EACvC;AACA,MAAI,eAAe;AACnB,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,kBAAc,aAAa,CAAC,GAAG,YAAY,cAAc,YAAY;AACrE,oBAAgB,aAAa,CAAC,EAAE,KAAK;AAAA,EACvC;AACF;AACO,SAAS,YAAY,UAAU;AACpC,MAAI,CAAC,UAAU;AACb,WAAO,CAAC;AAAA,EACV;AACA,MAAI,QAAQ,QAAQ,GAAG;AACrB,QAAI,aAAa,CAAC;AAClB,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,iBAAW,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AACA,MAAI,WAAW,CAAC;AAChB,WAAS,SAAS,SAAU,IAAI;AAC9B,QAAI,cAAc,gBAAQ,CAAC,GAAG,mBAAmB,CAAC,GAAG,aAAa,CAAC,GAAG,QAAQ;AAC5E,eAAS,KAAK,EAAE;AAAA,IAClB;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACpJA,IAAI,uBAAuB;AAC3B,IAAI,kBAAkB;AACtB,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AAErB,IAAI,oCAAoC,UAAU;AAClD,SAAS,aAAa,MAAM,iBAAiB;AAC3C,MAAI,aAAa,KAAK;AACtB,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,QAAI,UAAU,KAAK,iBAAiB,WAAW,CAAC,CAAC;AACjD,QAAI,WAAW,QAAQ,UAAU,eAAe,MAAM,GAAG;AACvD,aAAO,WAAW,CAAC;AAAA,IACrB;AAAA,EACF;AACF;AAEA,SAAS,oBAAoB,MAAM,WAAW,WAAW;AACvD,MAAI,UAAU,KAAK,iBAAiB,SAAS;AAC7C,MAAI,iBAAiB,WAAW,QAAQ;AACxC,MAAI,SAAS;AACX,QAAI,QAAQ,KAAK,IAAI,QAAQ,MAAM,SAAS;AAC5C,QAAI,gBAAgB;AAClB,aAAO,eAAe,WAAW,KAAK,KAAK,QAAQ;AAAA,IACrD;AACA,WAAO,QAAQ;AAAA,EACjB;AACF;AACA,SAAS,WAAW,MAAM,WAAW,aAAa,SAAS;AAEzD,MAAI,kBAAkB,UAAU,qBAAqB;AACrD,MAAI,aAAa,aAAa,MAAM,eAAe;AACnD,MAAI,YAAY;AACd,QAAI,UAAU,oBAAoB,MAAM,WAAW,UAAU;AAC7D,WAAO;AAAA,EACT;AAEA,MAAI,cAAc,KAAK,eAAe,SAAS;AAC/C,MAAI,WAAW,UAAU,iBAAiB;AAC1C,MAAI,eAAe,YAAY,QAAQ,GAAG;AACxC,WAAO,YAAY,QAAQ,IAAI;AAAA,EACjC;AAEA,MAAI,SAAS;AACX;AAAA,EACF;AAEA,SAAO,eAAe,KAAK,MAAM,SAAS;AAC5C;AAEA,SAAS,qBAAqB,MAAM;AAClC,MAAI,QAAQ,CAAC;AACb,OAAK,MAAM,SAAU,YAAY;AAC/B,QAAI,OAAO,WAAW;AACtB,QAAI,cAAc,WAAW;AAC7B,QAAI,KAAK,MAAM,IAAI,sBAAsB;AACvC,UAAI,MAAuC;AACzC,aAAK,uDAAuD;AAAA,MAC9D;AACA;AAAA,IACF;AACA,QAAI,UAAU,KAAK,WAAW;AAC9B,aAAS,YAAY,GAAG,YAAY,QAAQ,QAAQ,aAAa;AAC/D,YAAM,KAAK;AAAA,QACT;AAAA,QACA,SAAS,WAAW,MAAM,WAAW,aAAa,KAAK;AAAA,QACvD,cAAc,WAAW,MAAM,WAAW,aAAa,IAAI;AAAA,QAC3D,QAAQ,WAAW;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACA,SAAS,cAAc,OAAO,WAAW,UAAU;AACjD,QAAM,SAAS,SAAU,IAAI;AAC3B,QAAI,cAAc,cAAM;AAEtB,gBAAU,IAAI;AAAA,QACZ,OAAO;AAAA,UACL,SAAS;AAAA,QACX;AAAA,MACF,GAAG,WAAW;AAAA,QACZ,WAAW;AAAA,QACX,QAAQ;AAAA,MACV,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AACA,SAAS,SAAS,IAAI;AACpB,MAAI,GAAG,QAAQ;AAGb,QAAI,oBAAoB,GAAG,qBAAqB;AAChD,OAAG,kBAAkB,iBAAiB;AACtC,OAAG,OAAO,OAAO,EAAE;AAAA,EACrB;AACF;AACA,SAAS,cAAc,IAAI;AACzB,KAAG,cAAc;AACjB,MAAI,GAAG,SAAS;AACd,OAAG,SAAS,SAAU,OAAO;AAC3B,YAAM,cAAc;AAAA,IACtB,CAAC;AAAA,EACH;AACF;AACA,SAAS,qBAAqB,IAAI,WAAW,aAAa;AACxD,MAAI,kBAAkB,mBAAmB,UAAU,aAAa,SAAS;AACzE,qBAAmB,GAAG,SAAS,SAAU,OAAO;AAC9C,QAAI,iBAAiB,qBAAa;AAChC,UAAI,WAAW,YAAY,KAAK;AAChC,UAAI,UAAU;AACZ,cAAM,YAAY;AAAA,UAChB,OAAO;AAAA,QACT,GAAG,eAAe;AAAA,MACpB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AACA,SAAS,YAAY,cAAc,cAAc;AAC/C,MAAI,MAAM,aAAa;AACvB,MAAI,QAAQ,aAAa,QAAQ;AAC/B,WAAO;AAAA,EACT;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,QAAI,UAAU,aAAa,CAAC;AAC5B,QAAI,UAAU,aAAa,CAAC;AAC5B,QAAI,QAAQ,KAAK,MAAM,QAAQ,SAAS,MAAM,QAAQ,KAAK,MAAM,QAAQ,SAAS,GAAG;AACnF,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,kBAAkB,SAAS,SAAS,KAAK;AAChD,MAAI,eAAe,qBAAqB,OAAO;AAC/C,MAAI,eAAe,qBAAqB,OAAO;AAC/C,WAAS,wBAAwB,MAAM,IAAI,SAAS,OAAO,cAAc;AACvE,QAAI,WAAW,MAAM;AACnB,SAAG,YAAY;AAAA,QACb,OAAO,WAAW,YAAY,OAG5B,OAAO,OAAO,CAAC,GAAG,QAAQ,KAAK,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,MACzD,GAAG,YAAY;AAAA,IACjB;AAAA,EACF;AACA,MAAI,oBAAoB;AAyCxB,MAAI,YAAY;AAEhB,MAAI,cAAc,cAAc;AAChC,MAAI,mBAAmB,cAAc;AACrC,eAAa,QAAQ,SAAU,MAAM;AACnC,SAAK,WAAW,YAAY,IAAI,KAAK,SAAS,IAAI;AAClD,SAAK,gBAAgB,iBAAiB,IAAI,KAAK,cAAc,IAAI;AAAA,EACnE,CAAC;AAED,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,QAAI,aAAa,aAAa,CAAC,EAAE;AACjC,QAAI,iBAAiB,IAAI,UAAU,GAAG;AACpC,kBAAY;AACZ;AAAA,IACF;AACA,QAAI,kBAAkB,aAAa,CAAC,EAAE;AACtC,QAAI,mBAAmB,YAAY,IAAI,eAAe,GAAG;AACvD,kBAAY;AACZ;AAAA,IACF;AAAA,EACF;AACA,WAAS,gBAAgB,OAAO,WAAW;AACzC,WAAO,SAAU,UAAU;AACzB,UAAI,OAAO,SAAS;AACpB,UAAI,YAAY,SAAS;AAEzB,UAAI,WAAW;AACb,eAAO,KAAK,MAAM,SAAS;AAAA,MAC7B;AACA,UAAI,OAAO;AACT,eAAO,cAAc,iBAAiB,SAAS,eAAe,SAAS;AAAA,MACzE,OAAO;AACL,eAAO,cAAc,iBAAiB,SAAS,eAAe,SAAS;AAAA,MACzE;AAAA,IACF;AAAA,EACF;AAIA,MAAI,QAAQ,YAAY,cAAc,YAAY;AAClD,MAAI,wBAAwB,CAAC;AAC7B,MAAI,CAAC,OAAO;AAIV,aAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,UAAI,UAAU,aAAa,CAAC;AAC5B,UAAI,KAAK,QAAQ,KAAK,iBAAiB,QAAQ,SAAS;AACxD,UAAI,IAAI;AACN,8BAAsB,GAAG,EAAE,IAAI;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AACA,WAAS,eAAe,UAAU,UAAU;AAC1C,QAAI,UAAU,aAAa,QAAQ;AACnC,QAAII,WAAU,aAAa,QAAQ;AACnC,QAAI,YAAYA,SAAQ,KAAK;AAE7B,QAAI,QAAQ,QAAQ,KAAK,iBAAiB,QAAQ,SAAS;AAC3D,QAAI,QAAQA,SAAQ,KAAK,iBAAiBA,SAAQ,SAAS;AAE3D,QAAI,UAAU,OAAO;AACnB,eAAS,qBAAqB,OAAOA,SAAQ,WAAW,SAAS;AACjE;AAAA,IACF;AACA;AAAA;AAAA,MAEA,SAAS,sBAAsB,MAAM,EAAE;AAAA,MAAG;AACxC;AAAA,IACF;AACA,QAAI,OAAO;AAIT,oBAAc,KAAK;AACnB,UAAI,OAAO;AACT,sBAAc,KAAK;AAEnB,iBAAS,KAAK;AACd,4BAAoB;AACpB,4BAAoB,YAAY,KAAK,GAAG,YAAY,KAAK,GAAGA,SAAQ,QAAQ,WAAW,UAAU,uBAAuB;AAAA,MAC1H,OAAO;AACL,sBAAc,OAAO,WAAW,QAAQ;AAAA,MAC1C;AAAA,IACF;AAAA,EAEF;AAEA,MAAI,mBAAW,cAAc,cAAc,gBAAgB,MAAM,KAAK,GAAG,gBAAgB,OAAO,KAAK,GAAG,MAAM,UAAU,EAAE,OAAO,cAAc,EAAE,gBAAgB,SAAU,UAAU,YAAY;AAC/L,QAAIA,WAAU,aAAa,QAAQ;AACnC,QAAI,UAAUA,SAAQ;AACtB,QAAI,YAAY,QAAQ;AACxB,QAAI,QAAQ,QAAQ,iBAAiBA,SAAQ,SAAS;AACtD,QAAI,aAAa,OAAO,IAAI,YAAY,SAAU,KAAK;AACrD,aAAO,aAAa,GAAG,EAAE,KAAK,iBAAiB,aAAa,GAAG,EAAE,SAAS;AAAA,IAC5E,CAAC,GAAG,SAAU,OAAO;AACnB,aAAO,SAAS,UAAU,SAAS,CAAC,sBAAsB,MAAM,EAAE;AAAA,IACpE,CAAC;AACD,QAAI,OAAO;AACT,oBAAc,KAAK;AACnB,UAAI,WAAW,QAAQ;AAErB,aAAK,YAAY,SAAU,OAAO;AAChC,wBAAc,KAAK;AACnB,mBAAS,KAAK;AAAA,QAChB,CAAC;AACD,4BAAoB;AACpB,4BAAoB,YAAY,UAAU,GAAG,YAAY,KAAK,GAAGA,SAAQ,QAAQ,WAAW,UAAU,uBAAuB;AAAA,MAC/H,OAAO;AACL,sBAAc,OAAO,WAAWA,SAAQ,SAAS;AAAA,MACnD;AAAA,IACF;AAAA,EAEF,CAAC,EAAE,gBAAgB,SAAU,YAAY,UAAU;AACjD,QAAI,UAAU,aAAa,QAAQ;AACnC,QAAI,QAAQ,QAAQ,KAAK,iBAAiB,QAAQ,SAAS;AAE3D,QAAI,SAAS,sBAAsB,MAAM,EAAE,GAAG;AAC5C;AAAA,IACF;AACA,QAAI,aAAa,OAAO,IAAI,YAAY,SAAU,KAAK;AACrD,aAAO,aAAa,GAAG,EAAE,KAAK,iBAAiB,aAAa,GAAG,EAAE,SAAS;AAAA,IAC5E,CAAC,GAAG,SAAUC,KAAI;AAChB,aAAOA,OAAMA,QAAO;AAAA,IACtB,CAAC;AACD,QAAI,WAAW,aAAa,WAAW,CAAC,CAAC,EAAE,KAAK;AAChD,QAAI,WAAW,QAAQ;AACrB,WAAK,YAAY,SAAU,OAAO;AAChC,eAAO,cAAc,KAAK;AAAA,MAC5B,CAAC;AACD,UAAI,OAAO;AACT,sBAAc,KAAK;AAEnB,iBAAS,KAAK;AACd,4BAAoB;AACpB;AAAA,UAAoB,YAAY,KAAK;AAAA,UAAG,YAAY,UAAU;AAAA,UAAG,QAAQ;AAAA;AAAA,UAEzE;AAAA,UAAU,WAAW,CAAC;AAAA,UAAG;AAAA,QAAuB;AAAA,MAClD,OAAO;AACL,aAAK,YAAY,SAAU,OAAO;AAChC,iBAAO,cAAc,OAAO,UAAU,WAAW,CAAC,CAAC;AAAA,QACrD,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EAEF,CAAC,EAAE,iBAAiB,SAAU,YAAY,YAAY;AAGpD,QAAI,mBAAW,YAAY,YAAY,SAAU,QAAQ;AACvD,aAAO,aAAa,MAAM,EAAE,KAAK,MAAM,aAAa,MAAM,EAAE,SAAS;AAAA,IACvE,GAAG,SAAU,QAAQ;AACnB,aAAO,aAAa,MAAM,EAAE,KAAK,MAAM,aAAa,MAAM,EAAE,SAAS;AAAA,IACvE,CAAC,EAAE,OAAO,SAAU,UAAU,UAAU;AAEtC,qBAAe,WAAW,QAAQ,GAAG,WAAW,QAAQ,CAAC;AAAA,IAC3D,CAAC,EAAE,QAAQ;AAAA,EACb,CAAC,EAAE,QAAQ;AACX,MAAI,mBAAmB;AACrB,SAAK,SAAS,SAAU,IAAI;AAC1B,UAAI,OAAO,GAAG;AACd,UAAI,cAAc,KAAK;AACvB,UAAI,OAAO,eAAe,IAAI,qBAAqB,WAAW;AAC9D,UAAI,eAAe,mBAAmB,UAAU,aAAa,CAAC;AAC9D,UAAI,QAAQ,YAAY,mBAAmB,KAAK,gBAAgB,aAAa,WAAW,GAAG;AACzF,aAAK,MAAM,SAAS,SAAUA,KAAI;AAChC,cAAIA,eAAc,gBAAQ,CAACA,IAAG,UAAU,QAAQ;AAG9C,YAAAA,IAAG,YAAY;AAAA,cACb,OAAO;AAAA,gBACL,SAAS;AAAA,cACX;AAAA,YACF,GAAG,YAAY;AAAA,UACjB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACF;AACA,SAAS,uBAAuB,QAAQ;AACtC,MAAI,YAAY,OAAO,SAAS,qBAAqB,EAAE,IAAI,WAAW;AACtE,MAAI,CAAC,WAAW;AAEd,WAAO,OAAO;AAAA,EAChB;AACA,SAAO;AACT;AACA,SAAS,8BAA8B,WAAW;AAChD,MAAI,QAAQ,SAAS,GAAG;AAEtB,WAAO,UAAU,KAAK,EAAE,KAAK,GAAG;AAAA,EAClC;AACA,SAAO;AACT;AACA,SAAS,uBAAuB,MAAM;AACpC,MAAI,KAAK,WAAW;AAClB,WAAO,KAAK,UAAU,SAAS,qBAAqB,EAAE,IAAI,aAAa;AAAA,EACzE;AACF;AACA,SAAS,4BAA4B,aAAa,QAAQ;AACxD,MAAI,gBAAgB,cAAc;AAClC,MAAI,aAAa,cAAc;AAG/B,MAAI,qBAAqB,cAAc;AACvC,OAAK,YAAY,WAAW,SAAU,QAAQ,KAAK;AACjD,QAAI,iBAAiB,YAAY,gBAAgB,GAAG;AACpD,QAAI,UAAU,YAAY,QAAQ,GAAG;AACrC,QAAI,gBAAgB,uBAAuB,MAAM;AACjD,QAAI,mBAAmB,8BAA8B,aAAa;AAClE,eAAW,IAAI,kBAAkB;AAAA,MAC/B,aAAa;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AACD,QAAI,QAAQ,aAAa,GAAG;AAE1B,WAAK,eAAe,SAAU,KAAK;AACjC,2BAAmB,IAAI,KAAK;AAAA,UAC1B,KAAK;AAAA,UACL,aAAa;AAAA,UACb,MAAM;AAAA,QACR,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,WAAS,mCAAmC,kBAAkB;AAC5D,QAAI,cAAc,IAAI,gBAAgB,GAAG;AACvC,WAAK,iDAAiD,gBAAgB;AAAA,IACxE;AAAA,EACF;AACA,OAAK,OAAO,eAAe,SAAU,QAAQ;AAC3C,QAAI,OAAO,6BAA6B,KAAK,OAAO,mBAAmB,GAAG;AACxE,UAAI,iBAAiB,OAAO,IAAI,aAAa;AAC7C,UAAI,UAAU,OAAO,QAAQ;AAC7B,UAAI,gBAAgB,uBAAuB,MAAM;AACjD,UAAI,mBAAmB,8BAA8B,aAAa;AAElE,UAAI,UAAU,WAAW,IAAI,gBAAgB;AAE7C,UAAI,SAAS;AACX,YAAI,MAAuC;AACzC,6CAAmC,gBAAgB;AAAA,QACrD;AAEA,sBAAc,IAAI,kBAAkB;AAAA,UAClC,WAAW,CAAC;AAAA,YACV,aAAa,QAAQ;AAAA,YACrB,QAAQ,uBAAuB,QAAQ,IAAI;AAAA,YAC3C,MAAM,QAAQ;AAAA,UAChB,CAAC;AAAA,UACD,WAAW,CAAC;AAAA,YACV,aAAa;AAAA,YACb,QAAQ,uBAAuB,OAAO;AAAA,YACtC,MAAM;AAAA,UACR,CAAC;AAAA,QACH,CAAC;AAAA,MACH,OAAO;AAGL,YAAI,QAAQ,aAAa,GAAG;AAC1B,cAAI,MAAuC;AACzC,+CAAmC,gBAAgB;AAAA,UACrD;AACA,cAAI,cAAc,CAAC;AACnB,eAAK,eAAe,SAAU,KAAK;AACjC,gBAAIC,WAAU,WAAW,IAAI,GAAG;AAChC,gBAAIA,SAAQ,MAAM;AAChB,0BAAY,KAAK;AAAA,gBACf,aAAaA,SAAQ;AAAA,gBACrB,QAAQ,uBAAuBA,SAAQ,IAAI;AAAA,gBAC3C,MAAMA,SAAQ;AAAA,cAChB,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AACD,cAAI,YAAY,QAAQ;AACtB,0BAAc,IAAI,kBAAkB;AAAA,cAClC,WAAW;AAAA,cACX,WAAW,CAAC;AAAA,gBACV,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,QAAQ,uBAAuB,OAAO;AAAA,cACxC,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,QACF,OAAO;AAGL,cAAI,YAAY,mBAAmB,IAAI,aAAa;AACpD,cAAI,WAAW;AACb,gBAAI,QAAQ,cAAc,IAAI,UAAU,GAAG;AAC3C,gBAAI,CAAC,OAAO;AACV,sBAAQ;AAAA,gBACN,WAAW,CAAC;AAAA,kBACV,aAAa,UAAU;AAAA,kBACvB,MAAM,UAAU;AAAA,kBAChB,QAAQ,uBAAuB,UAAU,IAAI;AAAA,gBAC/C,CAAC;AAAA,gBACD,WAAW,CAAC;AAAA,cACd;AACA,4BAAc,IAAI,UAAU,KAAK,KAAK;AAAA,YACxC;AACA,kBAAM,UAAU,KAAK;AAAA,cACnB,aAAa;AAAA,cACb,MAAM;AAAA,cACN,QAAQ,uBAAuB,OAAO;AAAA,YACxC,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACA,SAAS,YAAY,QAAQ,QAAQ;AACnC,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,QAAQ,OAAO,eAAe,QAAQ,OAAO,gBAAgB,OAAO,CAAC,EAAE,eAAe,OAAO,YAAY,QAAQ,OAAO,aAAa,OAAO,CAAC,EAAE;AACnJ,QAAI,OAAO;AACT,aAAO;AAAA,IACT;AAAA,EACF;AACF;AACA,SAAS,wBAAwB,eAAe,aAAa,QAAQ,KAAK;AACxE,MAAI,OAAO,CAAC;AACZ,MAAI,KAAK,CAAC;AACV,OAAK,iBAAiB,cAAc,IAAI,GAAG,SAAU,QAAQ;AAC3D,QAAI,MAAM,YAAY,YAAY,WAAW,MAAM;AACnD,QAAI,OAAO,GAAG;AACZ,WAAK,KAAK;AAAA,QACR,aAAa,YAAY,gBAAgB,GAAG;AAAA,QAC5C,MAAM,YAAY,QAAQ,GAAG;AAAA;AAAA,QAE7B,QAAQ,uBAAuB,YAAY,QAAQ,GAAG,CAAC;AAAA,QACvD,YAAY,OAAO;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,OAAK,iBAAiB,cAAc,EAAE,GAAG,SAAU,QAAQ;AACzD,QAAI,MAAM,YAAY,OAAO,eAAe,MAAM;AAClD,QAAI,OAAO,GAAG;AACZ,UAAI,OAAO,OAAO,cAAc,GAAG,EAAE,QAAQ;AAC7C,SAAG,KAAK;AAAA,QACN,aAAa,YAAY,gBAAgB,GAAG;AAAA,QAC5C;AAAA,QACA,QAAQ,uBAAuB,IAAI;AAAA,QACnC,YAAY,OAAO;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,MAAI,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG;AACpC,sBAAkB,MAAM,IAAI,GAAG;AAAA,EACjC;AACF;AACO,SAAS,2BAA2B,WAAW;AACpD,YAAU,wBAAwB,uBAAuB,SAAU,SAAS,KAAK,QAAQ;AACvF,SAAK,iBAAiB,OAAO,gBAAgB,GAAG,SAAU,UAAU;AAClE,WAAK,iBAAiB,SAAS,EAAE,GAAG,SAAU,QAAQ;AACpD,YAAI,SAAS,OAAO;AACpB,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAI,OAAO,eAAe,QAAQ,OAAO,gBAAgB,OAAO,CAAC,EAAE,eAAe,OAAO,YAAY,QAAQ,OAAO,aAAa,OAAO,CAAC,EAAE,IAAI;AAC7I,mBAAO,CAAC,EAAE,gCAAgC,IAAI;AAAA,UAChD;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACD,YAAU,wBAAwB,qBAAqB,SAAU,SAAS,KAAK,QAAQ;AAErF,QAAI,cAAc,kCAAkC,GAAG;AAEvD,QAAI,YAAY,aAAa,OAAO,iBAAiB,OAAO,eAAe;AAGzE,UAAI,gBAAgB,OAAO;AAC3B,UAAI,eAAe;AACjB,aAAK,iBAAiB,aAAa,GAAG,SAAU,KAAK;AACnD,kCAAwB,KAAK,aAAa,QAAQ,GAAG;AAAA,QACvD,CAAC;AAAA,MACH,OAAO;AAEL,YAAI,kBAAkB,4BAA4B,aAAa,MAAM;AACrE,aAAK,gBAAgB,KAAK,GAAG,SAAU,KAAK;AAC1C,cAAI,QAAQ,gBAAgB,IAAI,GAAG;AACnC,4BAAkB,MAAM,WAAW,MAAM,WAAW,GAAG;AAAA,QACzD,CAAC;AAAA,MACH;AAEA,WAAK,OAAO,eAAe,SAAU,QAAQ;AAE3C,YAAI,OAAO,gCAAgC,GAAG;AAC5C,iBAAO,gCAAgC,IAAI;AAAA,QAC7C;AAAA,MACF,CAAC;AAAA,IACH;AAEA,QAAI,YAAY,QAAQ,UAAU;AAClC,QAAI,cAAc,YAAY,YAAY,CAAC;AAC3C,QAAI,oBAAoB,YAAY,kBAAkB,CAAC;AACvD,QAAI,YAAY,YAAY,UAAU,CAAC;AACvC,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,UAAI,OAAO,UAAU,CAAC,EAAE,QAAQ;AAGhC,UAAI,KAAK,MAAM,IAAI,sBAAsB;AACvC,oBAAY,KAAK,UAAU,CAAC,CAAC;AAC7B,0BAAkB,KAAK,UAAU,CAAC,EAAE,IAAI,aAAa,CAAC;AACtD,kBAAU,KAAK,IAAI;AAAA,MACrB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AC5kBA,IAAI,CAACC,SAAc,CAAC;AAGpB,IAAI,CAACA,SAAW,CAAC;AAUjB,IAAI,CAAC,SAAWA,UAAUA,UAAUA,UAAcA,UAAYA,UAAUA,UAAWA,UAAcA,WAAYA,WAAYA,WAAaA,WAAeA,WAAaA,WAAcA,WAAkBA,WAAoBA,WAAYA,WAAcA,WAAmBA,WAAiBA,WAAeA,SAAW,CAAC;AAe/S,IAAIA,SAAa;AAUjB,IAAIA,SAAc;AAQlB,IAAIA,QAAY;AAOhB,IAAIA,SAAmB;AASvB,IAAIA,SAAiB;AAQrB,IAAIA,SAAiB;AAQrB,IAAIA,SAAgB;AAKpB,IAAIA,SAAgB;AAKpB,IAAIA,SAAgB;AASpB,IAAIA,SAAoB;AASxB,IAAIA,SAAc;AAKlB,IAAIA,SAAc;AAKlB,IAAIA,SAAiB;AAKrB,IAAIA,SAAkB;AAKtB,IAAIA,SAAiB;AAKrB,IAAIA,SAAiB;AAKrB,IAAIA,SAAe;AAEnB,IAAIA,SAAiB;AAMrB,IAAIA,SAAuB;AAK3B,IAAIA,SAAuB;AAE3B,IAAIA,SAAkB;AAKtB,IAAIA,SAA4B;AAKhC,IAAIA,SAA2B;AAK/B,IAAIA,SAAa;AAOjB,IAAIA,SAAkB;AACtB,IAAIA,SAAgB;AAOpB,IAAI,0BAAmB;AAOvB,IAAI,kBAAW;", "names": ["x0", "y0", "x1", "y1", "startAngle", "endAngle", "cx", "cy", "rx", "ry", "len", "fromList", "i", "from", "fromIsMany", "animateIndex", "animateCount", "count", "newItem", "el", "oldData", "install"] } diff --git a/node_modules/.vite/deps/echarts_charts.js b/node_modules/.vite/deps/echarts_charts.js index 5a9c0509..bc5f33a1 100644 --- a/node_modules/.vite/deps/echarts_charts.js +++ b/node_modules/.vite/deps/echarts_charts.js @@ -21,15 +21,15 @@ import { install7, install8, install9 -} from "./chunk-ND6EB7CF.js"; -import "./chunk-F5M4HOVH.js"; -import "./chunk-VW272IHF.js"; +} from "./chunk-TWPUBDXC.js"; +import "./chunk-WRWLNY4R.js"; +import "./chunk-GORRBXQH.js"; import "./chunk-QAR3K42R.js"; -import "./chunk-LEHUY6WA.js"; -import "./chunk-X5CQ556A.js"; -import "./chunk-NF6IA4AL.js"; -import "./chunk-QJLIGECE.js"; -import "./chunk-GVYX3QQL.js"; +import "./chunk-NWTUODUO.js"; +import "./chunk-LMKTAN4E.js"; +import "./chunk-V45EMKQW.js"; +import "./chunk-ZCOAJCG3.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; export { install2 as BarChart, diff --git a/node_modules/.vite/deps/echarts_components.js b/node_modules/.vite/deps/echarts_components.js index af5edcd7..b83588d5 100644 --- a/node_modules/.vite/deps/echarts_components.js +++ b/node_modules/.vite/deps/echarts_components.js @@ -1,83 +1,83 @@ import { - install as install2, - install10 as install14, - install11 as install15, - install12 as install19, - install13 as install20, - install14 as install21, - install15 as install22, - install16 as install23, - install17 as install24, - install18 as install25, - install19 as install26, - install2 as install3, - install20 as install27, - install21 as install28, - install22 as install29, - install3 as install4, - install4 as install7, - install5 as install9, - install6 as install10, - install7 as install11, - install8 as install12, - install9 as install13 -} from "./chunk-NMP246CO.js"; + install as install6, + install10 as install15, + install11 as install16, + install12 as install20, + install13 as install21, + install14 as install22, + install15 as install23, + install16 as install24, + install17 as install25, + install18 as install26, + install19 as install27, + install2 as install7, + install20 as install28, + install21 as install29, + install22 as install30, + install3 as install8, + install4 as install9, + install5 as install10, + install6 as install11, + install7 as install12, + install8 as install13, + install9 as install14 +} from "./chunk-AUPWZZDD.js"; import { - install as install17 -} from "./chunk-P7FEEIEF.js"; + install as install19 +} from "./chunk-PRCWTGNB.js"; import { install as install18 -} from "./chunk-QQGFJP25.js"; +} from "./chunk-X72D7ZPW.js"; import { - install as install16 -} from "./chunk-D6WD7HPM.js"; -import "./chunk-FGVL4PGJ.js"; + install as install17 +} from "./chunk-XNXAGDXI.js"; +import "./chunk-EM6SBCMK.js"; import { install, - install2 as install5, - install3 as install6, - install4 as install8 -} from "./chunk-F5M4HOVH.js"; -import "./chunk-VW272IHF.js"; + install2, + install3, + install4 +} from "./chunk-WRWLNY4R.js"; +import "./chunk-GORRBXQH.js"; import "./chunk-QAR3K42R.js"; -import "./chunk-LEHUY6WA.js"; +import "./chunk-NWTUODUO.js"; import { - install as install30 -} from "./chunk-XNS7XN3L.js"; -import "./chunk-NF6IA4AL.js"; -import "./chunk-QJLIGECE.js"; -import "./chunk-GVYX3QQL.js"; + install as install5 +} from "./chunk-OBFEZ4QG.js"; +import "./chunk-V45EMKQW.js"; +import "./chunk-ZCOAJCG3.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; export { - install28 as AriaComponent, - install2 as AxisPointerComponent, - install13 as BrushComponent, - install9 as CalendarComponent, - install24 as DataZoomComponent, - install22 as DataZoomInsideComponent, - install23 as DataZoomSliderComponent, - install30 as DatasetComponent, - install6 as GeoComponent, - install10 as GraphicComponent, - install3 as GridComponent, + install29 as AriaComponent, + install6 as AxisPointerComponent, + install14 as BrushComponent, + install10 as CalendarComponent, + install25 as DataZoomComponent, + install23 as DataZoomInsideComponent, + install24 as DataZoomSliderComponent, + install5 as DatasetComponent, + install3 as GeoComponent, + install11 as GraphicComponent, + install7 as GridComponent, install as GridSimpleComponent, - install21 as LegendComponent, - install19 as LegendPlainComponent, - install20 as LegendScrollComponent, - install18 as MarkAreaComponent, - install17 as MarkLineComponent, - install16 as MarkPointComponent, - install8 as ParallelComponent, - install4 as PolarComponent, - install5 as RadarComponent, - install7 as SingleAxisComponent, - install15 as TimelineComponent, - install14 as TitleComponent, - install11 as ToolboxComponent, - install12 as TooltipComponent, - install29 as TransformComponent, - install27 as VisualMapComponent, - install25 as VisualMapContinuousComponent, - install26 as VisualMapPiecewiseComponent + install22 as LegendComponent, + install20 as LegendPlainComponent, + install21 as LegendScrollComponent, + install19 as MarkAreaComponent, + install18 as MarkLineComponent, + install17 as MarkPointComponent, + install4 as ParallelComponent, + install8 as PolarComponent, + install2 as RadarComponent, + install9 as SingleAxisComponent, + install16 as TimelineComponent, + install15 as TitleComponent, + install12 as ToolboxComponent, + install13 as TooltipComponent, + install30 as TransformComponent, + install28 as VisualMapComponent, + install26 as VisualMapContinuousComponent, + install27 as VisualMapPiecewiseComponent }; //# sourceMappingURL=echarts_components.js.map diff --git a/node_modules/.vite/deps/echarts_core.js b/node_modules/.vite/deps/echarts_core.js index a15afe21..43534777 100644 --- a/node_modules/.vite/deps/echarts_core.js +++ b/node_modules/.vite/deps/echarts_core.js @@ -9,12 +9,12 @@ import { number_exports, time_exports, util_exports as util_exports2 -} from "./chunk-2TFNBWBF.js"; -import "./chunk-X5CQ556A.js"; +} from "./chunk-M56X7I32.js"; +import "./chunk-LMKTAN4E.js"; import { Axis_default, parseGeoJSON -} from "./chunk-NF6IA4AL.js"; +} from "./chunk-V45EMKQW.js"; import { Chart_default, Component_default, @@ -52,7 +52,7 @@ import { throttle, use, version -} from "./chunk-QJLIGECE.js"; +} from "./chunk-ZCOAJCG3.js"; import { brushSingle, color_exports, @@ -62,13 +62,13 @@ import { util_exports, vector_exports, zrender_exports -} from "./chunk-GVYX3QQL.js"; +} from "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; export { Axis_default as Axis, Chart_default as ChartView, - Component_default2 as ComponentModel, - Component_default as ComponentView, + Component_default as ComponentModel, + Component_default2 as ComponentView, SeriesData_default as List, Model_default as Model, PRIORITY, diff --git a/node_modules/.vite/deps/echarts_lib_component_markArea.js b/node_modules/.vite/deps/echarts_lib_component_markArea.js index 6037f925..b2e1a57e 100644 --- a/node_modules/.vite/deps/echarts_lib_component_markArea.js +++ b/node_modules/.vite/deps/echarts_lib_component_markArea.js @@ -1,12 +1,12 @@ import { install -} from "./chunk-QQGFJP25.js"; -import "./chunk-FGVL4PGJ.js"; +} from "./chunk-PRCWTGNB.js"; +import "./chunk-EM6SBCMK.js"; import "./chunk-QAR3K42R.js"; import { use -} from "./chunk-QJLIGECE.js"; -import "./chunk-GVYX3QQL.js"; +} from "./chunk-ZCOAJCG3.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/markArea.js diff --git a/node_modules/.vite/deps/echarts_lib_component_markLine.js b/node_modules/.vite/deps/echarts_lib_component_markLine.js index 79e19aba..08f256ee 100644 --- a/node_modules/.vite/deps/echarts_lib_component_markLine.js +++ b/node_modules/.vite/deps/echarts_lib_component_markLine.js @@ -1,13 +1,13 @@ import { install -} from "./chunk-P7FEEIEF.js"; -import "./chunk-FGVL4PGJ.js"; -import "./chunk-VW272IHF.js"; +} from "./chunk-X72D7ZPW.js"; +import "./chunk-EM6SBCMK.js"; +import "./chunk-GORRBXQH.js"; import "./chunk-QAR3K42R.js"; import { use -} from "./chunk-QJLIGECE.js"; -import "./chunk-GVYX3QQL.js"; +} from "./chunk-ZCOAJCG3.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/markLine.js diff --git a/node_modules/.vite/deps/echarts_lib_component_markPoint.js b/node_modules/.vite/deps/echarts_lib_component_markPoint.js index d64f1435..908c3aa2 100644 --- a/node_modules/.vite/deps/echarts_lib_component_markPoint.js +++ b/node_modules/.vite/deps/echarts_lib_component_markPoint.js @@ -1,12 +1,12 @@ import { install -} from "./chunk-D6WD7HPM.js"; -import "./chunk-FGVL4PGJ.js"; -import "./chunk-LEHUY6WA.js"; +} from "./chunk-XNXAGDXI.js"; +import "./chunk-EM6SBCMK.js"; +import "./chunk-NWTUODUO.js"; import { use -} from "./chunk-QJLIGECE.js"; -import "./chunk-GVYX3QQL.js"; +} from "./chunk-ZCOAJCG3.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; // node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/markPoint.js diff --git a/node_modules/.vite/deps/echarts_renderers.js b/node_modules/.vite/deps/echarts_renderers.js index b94d63d8..12c58ada 100644 --- a/node_modules/.vite/deps/echarts_renderers.js +++ b/node_modules/.vite/deps/echarts_renderers.js @@ -1,10 +1,10 @@ import { install as install2 -} from "./chunk-2I4JXH7Q.js"; +} from "./chunk-6JA6BRXS.js"; import { install -} from "./chunk-KJFX5ANN.js"; -import "./chunk-GVYX3QQL.js"; +} from "./chunk-KNIVXUEF.js"; +import "./chunk-IWFMEAQB.js"; import "./chunk-GFT2G5UO.js"; export { install as CanvasRenderer, diff --git a/node_modules/.vite/deps/element-plus.js b/node_modules/.vite/deps/element-plus.js index a80fe3cc..5bd4e874 100644 --- a/node_modules/.vite/deps/element-plus.js +++ b/node_modules/.vite/deps/element-plus.js @@ -453,7 +453,7 @@ import { virtualizedScrollbarProps, watermarkProps, zIndexContextKey -} from "./chunk-QM5QNHIO.js"; +} from "./chunk-IRFI6G53.js"; import { genFileId, uploadBaseProps, @@ -481,9 +481,9 @@ import "./chunk-LROEKXT5.js"; import "./chunk-O7KFMITO.js"; import "./chunk-YNRHTVZR.js"; import "./chunk-67TUTJCN.js"; +import "./chunk-7BPWZNUD.js"; import "./chunk-ULX5FOVL.js"; import "./chunk-GTWINWNV.js"; -import "./chunk-7BPWZNUD.js"; import "./chunk-GFT2G5UO.js"; var export_dayjs = import_dayjs.default; export { diff --git a/node_modules/.vite/deps/element-plus_es.js b/node_modules/.vite/deps/element-plus_es.js index f921f6bd..cd2b745f 100644 --- a/node_modules/.vite/deps/element-plus_es.js +++ b/node_modules/.vite/deps/element-plus_es.js @@ -453,7 +453,7 @@ import { virtualizedScrollbarProps, watermarkProps, zIndexContextKey -} from "./chunk-QM5QNHIO.js"; +} from "./chunk-IRFI6G53.js"; import { genFileId, uploadBaseProps, @@ -481,9 +481,9 @@ import "./chunk-LROEKXT5.js"; import "./chunk-O7KFMITO.js"; import "./chunk-YNRHTVZR.js"; import "./chunk-67TUTJCN.js"; +import "./chunk-7BPWZNUD.js"; import "./chunk-ULX5FOVL.js"; import "./chunk-GTWINWNV.js"; -import "./chunk-7BPWZNUD.js"; import "./chunk-GFT2G5UO.js"; var export_dayjs = import_dayjs.default; export { diff --git a/node_modules/.vite/deps/element-plus_es_components_autocomplete_style_css.js b/node_modules/.vite/deps/element-plus_es_components_autocomplete_style_css.js index d508dfb9..4552b383 100644 --- a/node_modules/.vite/deps/element-plus_es_components_autocomplete_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_autocomplete_style_css.js @@ -1,6 +1,6 @@ import "./chunk-5MJQOEES.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; //# sourceMappingURL=element-plus_es_components_autocomplete_style_css.js.map diff --git a/node_modules/.vite/deps/element-plus_es_components_cascader_style_css.js b/node_modules/.vite/deps/element-plus_es_components_cascader_style_css.js index e19054a8..681145f3 100644 --- a/node_modules/.vite/deps/element-plus_es_components_cascader_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_cascader_style_css.js @@ -1,9 +1,9 @@ import "./chunk-HZRC7S76.js"; import "./chunk-NZR6SVVT.js"; -import "./chunk-C47PGQGR.js"; -import "./chunk-HODVN2HK.js"; -import "./chunk-3N2VGZJ2.js"; import "./chunk-7EBAVFZW.js"; +import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; +import "./chunk-3N2VGZJ2.js"; import "./chunk-VLWH5T2T.js"; import "./chunk-5TRUIT6X.js"; //# sourceMappingURL=element-plus_es_components_cascader_style_css.js.map diff --git a/node_modules/.vite/deps/element-plus_es_components_date-picker_style_css.js b/node_modules/.vite/deps/element-plus_es_components_date-picker_style_css.js index d8fa7721..96ff1d56 100644 --- a/node_modules/.vite/deps/element-plus_es_components_date-picker_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_date-picker_style_css.js @@ -1,7 +1,7 @@ import "./chunk-THZSTYZP.js"; import "./chunk-DB6OWVVK.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; //# sourceMappingURL=element-plus_es_components_date-picker_style_css.js.map diff --git a/node_modules/.vite/deps/element-plus_es_components_pagination_style_css.js b/node_modules/.vite/deps/element-plus_es_components_pagination_style_css.js index 4a280b4d..042ea234 100644 --- a/node_modules/.vite/deps/element-plus_es_components_pagination_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_pagination_style_css.js @@ -2,8 +2,8 @@ import "./chunk-MC27QSJL.js"; import "./chunk-UUC56VKA.js"; import "./chunk-HGRMPKRI.js"; import "./chunk-NZR6SVVT.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; diff --git a/node_modules/.vite/deps/element-plus_es_components_select-v2_style_css.js b/node_modules/.vite/deps/element-plus_es_components_select-v2_style_css.js index 9b725322..e409d6f2 100644 --- a/node_modules/.vite/deps/element-plus_es_components_select-v2_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_select-v2_style_css.js @@ -1,7 +1,7 @@ import "./chunk-OKMHUHKP.js"; import "./chunk-NZR6SVVT.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; diff --git a/node_modules/.vite/deps/element-plus_es_components_slider_style_css.js b/node_modules/.vite/deps/element-plus_es_components_slider_style_css.js index fea59608..422e35d2 100644 --- a/node_modules/.vite/deps/element-plus_es_components_slider_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_slider_style_css.js @@ -1,7 +1,7 @@ import "./chunk-WTG273Z3.js"; import "./chunk-MGTDGDA4.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-T6DOWK6H.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; //# sourceMappingURL=element-plus_es_components_slider_style_css.js.map diff --git a/node_modules/.vite/deps/element-plus_es_components_table_style_css.js b/node_modules/.vite/deps/element-plus_es_components_table_style_css.js index ae8645f0..a88c984c 100644 --- a/node_modules/.vite/deps/element-plus_es_components_table_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_table_style_css.js @@ -1,7 +1,7 @@ -import "./chunk-HODVN2HK.js"; import "./chunk-T6DOWK6H.js"; -import "./chunk-3N2VGZJ2.js"; import "./chunk-7EBAVFZW.js"; +import "./chunk-HODVN2HK.js"; +import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; // node_modules/.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/table/style/css.mjs diff --git a/node_modules/.vite/deps/element-plus_es_components_time-picker_style_css.js b/node_modules/.vite/deps/element-plus_es_components_time-picker_style_css.js index 0fe504c9..d7b0e27e 100644 --- a/node_modules/.vite/deps/element-plus_es_components_time-picker_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_time-picker_style_css.js @@ -1,6 +1,6 @@ import "./chunk-FRMPVTTW.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; //# sourceMappingURL=element-plus_es_components_time-picker_style_css.js.map diff --git a/node_modules/.vite/deps/element-plus_es_components_time-select_style_css.js b/node_modules/.vite/deps/element-plus_es_components_time-select_style_css.js index 034543cc..b6934bee 100644 --- a/node_modules/.vite/deps/element-plus_es_components_time-select_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_time-select_style_css.js @@ -2,8 +2,8 @@ import "./chunk-MC27QSJL.js"; import "./chunk-UUC56VKA.js"; import "./chunk-HGRMPKRI.js"; import "./chunk-NZR6SVVT.js"; -import "./chunk-C47PGQGR.js"; import "./chunk-HODVN2HK.js"; +import "./chunk-C47PGQGR.js"; import "./chunk-3N2VGZJ2.js"; import "./chunk-5TRUIT6X.js"; diff --git a/node_modules/.vite/deps/element-plus_es_components_transfer_style_css.js b/node_modules/.vite/deps/element-plus_es_components_transfer_style_css.js index 48660f72..bf4a83d2 100644 --- a/node_modules/.vite/deps/element-plus_es_components_transfer_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_transfer_style_css.js @@ -1,7 +1,7 @@ +import "./chunk-7EBAVFZW.js"; +import "./chunk-JQ2IYF3Y.js"; import "./chunk-DB6OWVVK.js"; import "./chunk-C47PGQGR.js"; -import "./chunk-JQ2IYF3Y.js"; -import "./chunk-7EBAVFZW.js"; import "./chunk-5TRUIT6X.js"; // node_modules/.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/transfer/style/css.mjs diff --git a/node_modules/.vite/deps/element-plus_es_components_tree-select_style_css.js b/node_modules/.vite/deps/element-plus_es_components_tree-select_style_css.js index 70c1057d..659ba76f 100644 --- a/node_modules/.vite/deps/element-plus_es_components_tree-select_style_css.js +++ b/node_modules/.vite/deps/element-plus_es_components_tree-select_style_css.js @@ -3,9 +3,9 @@ import "./chunk-MC27QSJL.js"; import "./chunk-UUC56VKA.js"; import "./chunk-HGRMPKRI.js"; import "./chunk-NZR6SVVT.js"; +import "./chunk-7EBAVFZW.js"; import "./chunk-HODVN2HK.js"; import "./chunk-3N2VGZJ2.js"; -import "./chunk-7EBAVFZW.js"; import "./chunk-5TRUIT6X.js"; // node_modules/.pnpm/element-plus@2.9.1_vue@3.5.12_typescript@5.3.3_/node_modules/element-plus/es/components/tree-select/style/css.mjs diff --git a/node_modules/.vite/deps/markmap-lib.js b/node_modules/.vite/deps/markmap-lib.js index a9eb29c6..ab3d58a9 100644 --- a/node_modules/.vite/deps/markmap-lib.js +++ b/node_modules/.vite/deps/markmap-lib.js @@ -1,3 +1,13 @@ +import { + Hook, + UrlBuilder, + buildCSSItem, + buildJSItem, + loadJS, + noop, + walkTree, + wrapFunction +} from "./chunk-UGLGEV52.js"; import { BinTrieFlags, DecodingMode, @@ -11,16 +21,6 @@ import { fromCodePoint, replaceCodePoint } from "./chunk-QK75OLN6.js"; -import { - Hook, - UrlBuilder, - buildCSSItem, - buildJSItem, - loadJS, - noop, - walkTree, - wrapFunction -} from "./chunk-UGLGEV52.js"; import { __commonJS, __export, diff --git a/src/api/crm/circulate/index.ts b/src/api/crm/circulate/index.ts index da0b2ad7..a811cc0d 100644 --- a/src/api/crm/circulate/index.ts +++ b/src/api/crm/circulate/index.ts @@ -6,6 +6,8 @@ export interface CirculateRecordVO { customerId: number // 客户ID type: number // 1:客户池,2:公海池 3:线索池 typeId: number // 根据type来判断,例:type=1,则typeid是客户ID + creator: string // 创建人 + createTime: string // 创建时间 } // 流转记录 API diff --git a/src/api/crm/config/Followlabel/index.ts b/src/api/crm/config/Followlabel/index.ts index ab882cbe..c342a3f5 100644 --- a/src/api/crm/config/Followlabel/index.ts +++ b/src/api/crm/config/Followlabel/index.ts @@ -15,6 +15,10 @@ export const FollowLabelApi = { return await request.get({ url: `/crm/follow-label/page`, params }) }, + getFollowLabelList: async (params: any) => { + return await request.get({ url: `/crm/follow-label/list`, params }) + }, + // 查询跟进标签详情 getFollowLabel: async (id: number) => { return await request.get({ url: `/crm/follow-label/get?id=` + id }) diff --git a/src/api/crm/config/customerlabel/index.ts b/src/api/crm/config/customerlabel/index.ts index 8d243f9f..2759fe75 100644 --- a/src/api/crm/config/customerlabel/index.ts +++ b/src/api/crm/config/customerlabel/index.ts @@ -14,6 +14,10 @@ export const CustomerLabelApi = { return await request.get({ url: `/crm/customer-label/page`, params }) }, + getCustomerLabelList: async (params: any) => { + return await request.get({ url: `/crm/customer-label/list`, params }) + }, + // 查询客户标签详情 getCustomerLabel: async (id: number) => { return await request.get({ url: `/crm/customer-label/get?id=` + id }) diff --git a/src/api/crm/config/customerlabels.ts b/src/api/crm/config/customerlabels.ts new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/src/api/crm/config/customerlabels.ts @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/api/crm/follw/index.ts b/src/api/crm/follw/index.ts index 7a770a3d..483adfef 100644 --- a/src/api/crm/follw/index.ts +++ b/src/api/crm/follw/index.ts @@ -7,6 +7,7 @@ export interface FollwRecordVO { content: string // 跟进内容 createTime: string // 创建时间 creator: string // 创建人 + userId: string // 客户经理 } // 跟进记录 API @@ -16,32 +17,8 @@ export const FollwRecordApi = { return await request.get({ url: `/crm/follw-record/page`, params }) }, - getFollwRecordList: async (params: any) => { - return await request.get({ url: `/crm/follw-record/list`, params }) - }, - // 查询跟进记录详情 getFollwRecord: async (id: number) => { return await request.get({ url: `/crm/follw-record/get?id=` + id }) }, - - // 新增跟进记录 - createFollwRecord: async (data: FollwRecordVO) => { - return await request.post({ url: `/crm/follw-record/create`, data }) - }, - - // 修改跟进记录 - updateFollwRecord: async (data: FollwRecordVO) => { - return await request.put({ url: `/crm/follw-record/update`, data }) - }, - - // 删除跟进记录 - deleteFollwRecord: async (id: number) => { - return await request.delete({ url: `/crm/follw-record/delete?id=` + id }) - }, - - // 导出跟进记录 Excel - exportFollwRecord: async (params) => { - return await request.download({ url: `/crm/follw-record/export-excel`, params }) - } } \ No newline at end of file diff --git a/src/store/modules/crm.ts b/src/store/modules/crm.ts new file mode 100644 index 00000000..fd8a5eca --- /dev/null +++ b/src/store/modules/crm.ts @@ -0,0 +1,112 @@ +import { defineStore } from 'pinia' +import { ImportLevelApi, type ImportLevelVO } from '@/api/crm/config/Importlevel' +import { ChannelApi, type ChannelVO } from '@/api/crm/config/channel' +import { FollowStatusApi, type FollowStatusVO } from '@/api/crm/config/followstatus' +import { CustomerSourceApi } from '@/api/crm/config/customersource' +import { CustomerTypeApi } from '@/api/crm/config/customertype' +import { OpenSeaApi, type OpenSeaVO } from '@/api/crm/opensea/index' +import { CustomerLabelApi } from '@/api/crm/config/customerlabel' +import { FollowLabelApi } from '@/api/crm/config/Followlabel' +import * as UserApi from '@/api/system/user' +import * as DepApi from '@/api/system/dept' +import { UserVO } from '@/api/system/user' +import { DeptVO } from '@/api/system/dept' + + +export const useCrmStore = defineStore('crm', { + state: () => ({ + importLevelList: [] as ImportLevelVO[], + channelList: [] as ChannelVO[], + followStatusList: [] as FollowStatusVO[], + customerSourceList: [] as any[], + customerTypeList: [] as any[], + userList: [] as UserVO[], + depList: [] as DeptVO[], + openSeaList: [] as OpenSeaVO[], + customerLabelList: [] as any[], + followLabelList: [] as any[] + }), + actions: { + async getImportLevelList() { + if (this.importLevelList.length > 0) { + return this.importLevelList + } + const data = await ImportLevelApi.getImportLevelList(null) + this.importLevelList = data + return this.importLevelList + }, + async getChannelList() { + if (this.channelList.length > 0) { + return this.channelList + } + const data = await ChannelApi.getChannelList(null) + this.channelList = data + return this.channelList + }, + async getFollowStatusList() { + if (this.followStatusList.length > 0) { + return this.followStatusList + } + const data = await FollowStatusApi.getFollowStatusList(null) + this.followStatusList = data + return this.followStatusList + }, + async getCustomerSourceList() { + if (this.customerSourceList.length > 0) { + return this.customerSourceList + } + const data = await CustomerSourceApi.getCustomerSourceList(null) + this.customerSourceList = data + return this.customerSourceList + }, + async getCustomerTypeList() { + if (this.customerTypeList.length > 0) { + return this.customerTypeList + } + const data = await CustomerTypeApi.getCustomerTypeList(null) + this.customerTypeList = data + return this.customerTypeList + }, + async getUserList() { + const data = await UserApi.getSimpleUsertList() + this.userList = data + return this.userList + }, + async getDepList() { + const data = await DepApi.getSimpleDeptList() + this.depList = data + return this.depList + }, + async getDepListByCurUser() { + const data = await DepApi.getDeptListByCurUser() + this.depList = data + return this.depList + }, + async getOpenSeaList() { + const data = await OpenSeaApi.getOpenSeaList(null) + this.openSeaList = data + return this.openSeaList + }, + async getOpenSeaListByCurUser() { + const data = await OpenSeaApi.getOpenSeaListByCurUser() + this.openSeaList = data + return this.openSeaList + }, + async getCustomerLabelList() { + if (this.customerLabelList.length > 0) { + return this.customerLabelList + } + const data = await CustomerLabelApi.getCustomerLabelList(null) + this.customerLabelList = data + return this.customerLabelList + }, + async getFollowLabelList() { + if (this.followLabelList.length > 0) { + return this.followLabelList + } + const data = await FollowLabelApi.getFollowLabelList(null) + this.followLabelList = data + return this.followLabelList + } + } +}) \ No newline at end of file diff --git a/src/types/auto-components.d.ts b/src/types/auto-components.d.ts index a84211dc..d975f696 100644 --- a/src/types/auto-components.d.ts +++ b/src/types/auto-components.d.ts @@ -7,6 +7,11 @@ export {} declare module 'vue' { export interface GlobalComponents { + 2: typeof import('./../views/crm/customer/dep/tables/all copy 2.vue')['default'] + 3: typeof import('./../views/crm/customer/dep/tables/all copy 3.vue')['default'] + 4: typeof import('./../views/crm/customer/dep/tables/all copy 4.vue')['default'] + 5: typeof import('./../views/crm/customer/my/tables/all copy 5.vue')['default'] + All: typeof import('./../views/crm/customer/my/tables/all.vue')['default'] Allcustomer: typeof import('./../views/crm/customer/customerlist/allcustomer/index.vue')['default'] Allocate: typeof import('./../api/crm/allocate/index.ts')['default'] AllocateForm: typeof import('./../views/crm/components/Allocate/AllocateForm.vue')['default'] @@ -29,20 +34,23 @@ declare module 'vue' { ContentDetailWrap: typeof import('./../components/ContentDetailWrap/src/ContentDetailWrap.vue')['default'] ContentWrap: typeof import('./../components/ContentWrap/src/ContentWrap.vue')['default'] CopperModal: typeof import('./../components/Cropper/src/CopperModal.vue')['default'] - copy: typeof import('./../views/crm/opensea/customer/myopensea copy.vue')['default'] + copy: typeof import('./../views/crm/components/Customer/Infor copy.vue')['default'] CopyTaskNode: typeof import('./../components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue')['default'] CopyTaskNodeConfig: typeof import('./../components/SimpleProcessDesignerV2/src/nodes-config/CopyTaskNodeConfig.vue')['default'] CountTo: typeof import('./../components/CountTo/src/CountTo.vue')['default'] - Crm: typeof import('./../router/modules/crm.ts')['default'] + Crm: typeof import('./../store/modules/crm.ts')['default'] Crontab: typeof import('./../components/Crontab/src/Crontab.vue')['default'] Cropper: typeof import('./../components/Cropper/src/Cropper.vue')['default'] CropperAvatar: typeof import('./../components/Cropper/src/CropperAvatar.vue')['default'] Cule: typeof import('./../views/crm/customer/cule/index.vue')['default'] Culecustomer: typeof import('./../api/crm/customer/culecustomer/index.ts')['default'] - Customer: typeof import('./../api/crm/customer/customer/index.ts')['default'] - CustomerBaseInfo: typeof import('./../views/crm/components/CustomerDetail/customerBaseInfor/CustomerBaseInfo.vue')['default'] - CustomerDetail: typeof import('./../views/crm/components/CustomerDetail/CustomerDetail.vue')['default'] + Customer: typeof import('./../api/crm/customer/customer.ts')['default'] + CustomerBaseInfo: typeof import('./../views/crm/components/CustomerDetail/CustomerInfor/CustomerBaseInfo.vue')['default'] + CustomerBaseInfo_1: typeof import('./../views/crm/components/Customer/CustomerInfor/CustomerBaseInfo_1.vue')['default'] + CustomerDetail: typeof import('./../views/crm/components/Customer/CustomerDetail.vue')['default'] + CustomerInfor: typeof import('./../views/crm/components/Customer/CustomerInfor/CustomerInfor.vue')['default'] CustomerInforForm: typeof import('./../views/crm/customer/opensea/CustomerInforForm.vue')['default'] + Customerlabels: typeof import('./../api/crm/config/customerlabels.ts')['default'] Data: typeof import('./../views/crm/data/upload/data/index.vue')['default'] DelayTimerNode: typeof import('./../components/SimpleProcessDesignerV2/src/nodes/DelayTimerNode.vue')['default'] DelayTimerNodeConfig: typeof import('./../components/SimpleProcessDesignerV2/src/nodes-config/DelayTimerNodeConfig.vue')['default'] @@ -50,7 +58,7 @@ declare module 'vue' { Depcustomer: typeof import('./../views/crm/customer/customerlist/depcustomer/index.vue')['default'] Descriptions: typeof import('./../components/Descriptions/src/Descriptions.vue')['default'] DescriptionsItemLabel: typeof import('./../components/Descriptions/src/DescriptionsItemLabel.vue')['default'] - Detail: typeof import('./../views/crm/data/upload/detail/index.vue')['default'] + Detail: typeof import('./../views/crm/components/Customer/Detail.vue')['default'] Dialog: typeof import('./../components/Dialog/src/Dialog.vue')['default'] DictSelect: typeof import('./../components/FormCreate/src/components/DictSelect.vue')['default'] DictTag: typeof import('./../components/DictTag/src/DictTag.vue')['default'] @@ -64,10 +72,12 @@ declare module 'vue' { ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElBadge: typeof import('element-plus/es')['ElBadge'] ElButton: typeof import('element-plus/es')['ElButton'] + ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] ElCard: typeof import('element-plus/es')['ElCard'] ElCascader: typeof import('element-plus/es')['ElCascader'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] + ElCheckTag: typeof import('element-plus/es')['ElCheckTag'] ElCol: typeof import('element-plus/es')['ElCol'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] ElDialog: typeof import('element-plus/es')['ElDialog'] @@ -84,6 +94,7 @@ declare module 'vue' { ElementOtherConfig: typeof import('./../components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue')['default'] ElementProperties: typeof import('./../components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue')['default'] ElementTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/ElementTask.vue')['default'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] @@ -112,6 +123,7 @@ declare module 'vue' { ElTag: typeof import('element-plus/es')['ElTag'] ElTimeline: typeof import('element-plus/es')['ElTimeline'] ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] + ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTree: typeof import('element-plus/es')['ElTree'] ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] @@ -121,6 +133,7 @@ declare module 'vue' { ExclusiveNode: typeof import('./../components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue')['default'] FlowCondition: typeof import('./../components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue')['default'] Follow: typeof import('./../views/crm/follow/index.vue')['default'] + FollowRecord: typeof import('./../views/crm/components/Customer/FollowRecord.vue')['default'] Follw: typeof import('./../api/crm/follw/index.ts')['default'] Follwrecord: typeof import('./../api/crm/follw/follwrecord/index.ts')['default'] Form: typeof import('./../components/Form/src/Form.vue')['default'] @@ -129,7 +142,9 @@ declare module 'vue' { IconSelect: typeof import('./../components/Icon/src/IconSelect.vue')['default'] IFrame: typeof import('./../components/IFrame/src/IFrame.vue')['default'] ImageViewer: typeof import('./../components/ImageViewer/src/ImageViewer.vue')['default'] + Import: typeof import('./../views/crm/customer/my/tables/import.vue')['default'] InclusiveNode: typeof import('./../components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue')['default'] + Infor: typeof import('./../views/crm/components/Customer/Infor.vue')['default'] Infotip: typeof import('./../components/Infotip/src/Infotip.vue')['default'] InputPassword: typeof import('./../components/InputPassword/src/InputPassword.vue')['default'] InputWithColor: typeof import('./../components/InputWithColor/index.vue')['default'] @@ -142,7 +157,7 @@ declare module 'vue' { NodeHandler: typeof import('./../components/SimpleProcessDesignerV2/src/NodeHandler.vue')['default'] Opeansea: typeof import('../api/crm/opensea')['default'] OpenDepForm: typeof import('./../views/crm/opensea/opensea/OpenDepForm.vue')['default'] - Opensea: typeof import('./../api/crm/opensea/index.ts')['default'] + Opensea: typeof import('./../views/crm/customer/opensea/index.vue')['default'] OpenseaCustomerForm: typeof import('./../views/crm/customer/customerlist/openseacustomer/OpenseaCustomerForm.vue')['default'] OpenSeaForm: typeof import('./../views/crm/opensea/opensea/OpenSeaForm.vue')['default'] OperateLogV2: typeof import('./../components/OperateLogV2/src/OperateLogV2.vue')['default'] @@ -156,6 +171,7 @@ declare module 'vue' { ProcessViewer: typeof import('./../components/bpmnProcessDesigner/package/designer/ProcessViewer.vue')['default'] PropertiesPanel: typeof import('./../components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue')['default'] Qrcode: typeof import('./../components/Qrcode/src/Qrcode.vue')['default'] + QuickFollow: typeof import('./../views/crm/components/Customer/QuickFollow.vue')['default'] ReceiveTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue')['default'] Repeat: typeof import('./../api/crm/repeat/index.ts')['default'] RouterLink: typeof import('vue-router')['RouterLink'] @@ -164,6 +180,7 @@ declare module 'vue' { ScriptTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/ScriptTask.vue')['default'] Search: typeof import('./../components/Search/src/Search.vue')['default'] ServiceTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/ServiceTask.vue')['default'] + Seven: typeof import('./../views/crm/customer/my/tables/seven.vue')['default'] ShortcutDateRangePicker: typeof import('./../components/ShortcutDateRangePicker/index.vue')['default'] SignalAndMessage: typeof import('./../components/bpmnProcessDesigner/package/penal/signal-message/SignalAndMessage.vue')['default'] SimpleProcessDesigner: typeof import('./../components/SimpleProcessDesignerV2/src/SimpleProcessDesigner.vue')['default'] @@ -174,11 +191,18 @@ declare module 'vue' { Sticky: typeof import('./../components/Sticky/src/Sticky.vue')['default'] SummaryCard: typeof import('./../components/SummaryCard/index.vue')['default'] Table: typeof import('./../components/Table/src/Table.vue')['default'] + Tables: typeof import('./../views/crm/customer/dep/tables/index.vue')['default'] TableSelectForm: typeof import('./../components/Table/src/TableSelectForm.vue')['default'] + Tabs: typeof import('./../views/crm/customer/my/tabs.vue')['default'] Team: typeof import('./../api/crm/team/index.ts')['default'] Teamcustomer: typeof import('../api/crm/customer/team')['default'] + Today: typeof import('./../views/crm/customer/my/tables/today.vue')['default'] + Tody: typeof import('./../views/crm/customer/team/tables/tody.vue')['default'] Tooltip: typeof import('./../components/Tooltip/src/Tooltip.vue')['default'] TransferForm: typeof import('./../views/crm/components/Transfer/TransferForm.vue')['default'] + TransferRecord: typeof import('./../views/crm/components/Customer/TransferRecord.vue')['default'] + Types: typeof import('./../api/system/dept/types.ts')['default'] + Unfollow: typeof import('./../views/crm/customer/my/tables/unfollow.vue')['default'] UploadFile: typeof import('./../components/UploadFile/src/UploadFile.vue')['default'] UploadImg: typeof import('./../components/UploadFile/src/UploadImg.vue')['default'] UploadImgs: typeof import('./../components/UploadFile/src/UploadImgs.vue')['default'] @@ -196,6 +220,7 @@ declare module 'vue' { XTextButton: typeof import('./../components/XButton/src/XTextButton.vue')['default'] } export interface ComponentCustomProperties { + vInfiniteScroll: typeof import('element-plus/es')['ElInfiniteScroll'] vLoading: typeof import('element-plus/es')['ElLoadingDirective'] } } diff --git a/src/views/crm/components/Allocate/AllocateForm.vue b/src/views/crm/components/Allocate/AllocateForm.vue index cb8a325b..881501b4 100644 --- a/src/views/crm/components/Allocate/AllocateForm.vue +++ b/src/views/crm/components/Allocate/AllocateForm.vue @@ -128,7 +128,7 @@ const submitForm = async () => { customerIds: formData.value.customerIds } await CustomerInforApi.allocate(data) - message.success(t('common.updateSuccess')) + message.success('分配成功') dialogVisible.value = false emit('success')// 发送操作成功的事件 } catch (error) { diff --git a/src/views/crm/components/Customer/Detail.vue b/src/views/crm/components/Customer/Detail.vue new file mode 100644 index 00000000..46508a65 --- /dev/null +++ b/src/views/crm/components/Customer/Detail.vue @@ -0,0 +1,196 @@ + + + + + + + \ No newline at end of file diff --git a/src/views/crm/components/Customer/FollowRecord.vue b/src/views/crm/components/Customer/FollowRecord.vue new file mode 100644 index 00000000..31704c3f --- /dev/null +++ b/src/views/crm/components/Customer/FollowRecord.vue @@ -0,0 +1,102 @@ + + + + + \ No newline at end of file diff --git a/src/views/crm/components/Customer/Infor.vue b/src/views/crm/components/Customer/Infor.vue new file mode 100644 index 00000000..f8983f90 --- /dev/null +++ b/src/views/crm/components/Customer/Infor.vue @@ -0,0 +1,148 @@ + + + + + + \ No newline at end of file diff --git a/src/views/crm/components/Customer/QuickFollow.vue b/src/views/crm/components/Customer/QuickFollow.vue new file mode 100644 index 00000000..edc3eaa6 --- /dev/null +++ b/src/views/crm/components/Customer/QuickFollow.vue @@ -0,0 +1,256 @@ + + + + + + \ No newline at end of file diff --git a/src/views/crm/components/Customer/TransferRecord.vue b/src/views/crm/components/Customer/TransferRecord.vue new file mode 100644 index 00000000..886ee754 --- /dev/null +++ b/src/views/crm/components/Customer/TransferRecord.vue @@ -0,0 +1,157 @@ + + + + + \ No newline at end of file diff --git a/src/views/crm/components/CustomerDetail/CustomerDetail.vue b/src/views/crm/components/CustomerDetail/CustomerDetail.vue deleted file mode 100644 index cf70521d..00000000 --- a/src/views/crm/components/CustomerDetail/CustomerDetail.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/views/crm/components/CustomerDetail/customerBaseInfor/CustomerBaseInfo.vue b/src/views/crm/components/CustomerDetail/customerBaseInfor/CustomerBaseInfo.vue deleted file mode 100644 index 828190b1..00000000 --- a/src/views/crm/components/CustomerDetail/customerBaseInfor/CustomerBaseInfo.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/crm/components/Transfer/TransferForm.vue b/src/views/crm/components/Transfer/TransferForm.vue index 966b5581..5d198a81 100644 --- a/src/views/crm/components/Transfer/TransferForm.vue +++ b/src/views/crm/components/Transfer/TransferForm.vue @@ -93,7 +93,7 @@ const submitForm = async () => { customerIds: formData.value.customerIds } await CustomerInforApi.transfer(data) - message.success(t('common.updateSuccess')) + message.success('转移成功') dialogVisible.value = false emit('success') } catch (error) { diff --git a/src/views/crm/cule/index.vue b/src/views/crm/cule/index.vue index 8d6861c1..287ea57d 100644 --- a/src/views/crm/cule/index.vue +++ b/src/views/crm/cule/index.vue @@ -52,6 +52,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + - - - - + + + - + + + + - - - - + + + + + - + + + - + - + - - + + - + + @@ -373,7 +367,6 @@ - \ No newline at end of file diff --git a/src/views/crm/customer/team/tables/seven.vue b/src/views/crm/customer/team/tables/seven.vue new file mode 100644 index 00000000..84d69554 --- /dev/null +++ b/src/views/crm/customer/team/tables/seven.vue @@ -0,0 +1,518 @@ + + + \ No newline at end of file diff --git a/src/views/crm/customer/team/tables/today.vue b/src/views/crm/customer/team/tables/today.vue new file mode 100644 index 00000000..417e159d --- /dev/null +++ b/src/views/crm/customer/team/tables/today.vue @@ -0,0 +1,513 @@ + + + \ No newline at end of file diff --git a/src/views/crm/customer/team/tables/unfollow.vue b/src/views/crm/customer/team/tables/unfollow.vue new file mode 100644 index 00000000..9c4b2c16 --- /dev/null +++ b/src/views/crm/customer/team/tables/unfollow.vue @@ -0,0 +1,525 @@ + + + \ No newline at end of file diff --git a/src/views/crm/customer/team/tabs.vue b/src/views/crm/customer/team/tabs.vue new file mode 100644 index 00000000..53377c8d --- /dev/null +++ b/src/views/crm/customer/team/tabs.vue @@ -0,0 +1,54 @@ + + + + \ No newline at end of file diff --git a/src/views/crm/data/upload/record/UploadForm.vue b/src/views/crm/data/upload/record/UploadForm.vue index 4b049610..d9914f9b 100644 --- a/src/views/crm/data/upload/record/UploadForm.vue +++ b/src/views/crm/data/upload/record/UploadForm.vue @@ -131,15 +131,14 @@ \ No newline at end of file diff --git a/src/views/crm/data/upload/record/index.vue b/src/views/crm/data/upload/record/index.vue index 98757d69..b13d6b53 100644 --- a/src/views/crm/data/upload/record/index.vue +++ b/src/views/crm/data/upload/record/index.vue @@ -178,7 +178,8 @@ import { OpenSeaApi, OpenSeaVO } from '@/api/crm/opensea' import { ChannelApi, ChannelVO } from '@/api/crm/config/channel' import {CustomerSourceApi} from '@/api/crm/config/customersource' import * as UserApi from '@/api/system/user' - +import { useCrmStore } from '@/store/modules/crm' +import { storeToRefs } from 'pinia' /** 导入记录 列表 */ defineOptions({ name: 'UploadRecord' }) @@ -205,12 +206,10 @@ const queryParams = reactive({ channelId:undefined }) const queryFormRef = ref() // 搜索的表单 -const openSeaList = ref([]) -const customerSourceList = ref<[]>([]) -const channelList = ref([]) -const userList = ref([]) -let customerSourceOptions = ref(); - +const crmStore = useCrmStore() +const { openSeaList, customerSourceList, channelList, userList } = storeToRefs(crmStore) +let customerSourceOptions = ref() + const cascaderProps= { emitPath: false, } @@ -258,15 +257,20 @@ const handleDelete = async (id: number) => { } catch {} } - - /** 初始化 **/ onMounted(async () => { + // 加载数据 + await Promise.all([ + crmStore.getOpenSeaList(), + crmStore.getCustomerSourceList(), + crmStore.getChannelList(), + crmStore.getUserList() + ]) + + // 构建树形结构 + customerSourceOptions.value = buildTree(customerSourceList.value) + + // 加载列表数据 await getList() - openSeaList.value = await OpenSeaApi.getOpenSeaList(null); - customerSourceList.value = await CustomerSourceApi.getCustomerSourceList(null); - customerSourceOptions.value = buildTree(customerSourceList.value); - channelList.value = await ChannelApi.getChannelList(null); - userList.value = await UserApi.getSimpleUsertList(); }) \ No newline at end of file diff --git a/src/views/crm/follow/index.vue b/src/views/crm/follow/index.vue index bdc87b63..01469d98 100644 --- a/src/views/crm/follow/index.vue +++ b/src/views/crm/follow/index.vue @@ -108,8 +108,9 @@ import { dateFormatter } from '@/utils/formatTime' import { FollwRecordApi, FollwRecordVO } from '@/api/crm/follw' import { buildTree } from '@/utils/tree' -import * as UserApi from '@/api/system/user' -import * as DepApi from '@/api/system/dept' +import { useCrmStore } from '@/store/modules/crm' +import { storeToRefs } from 'pinia' + /** 跟进记录 列表 */ defineOptions({ name: 'FollwRecord' }) @@ -129,14 +130,15 @@ const queryParams = reactive({ createTime: [] }) const queryFormRef = ref() // 搜索的表单 -const userList = ref([]) -const depList = ref([]) -let depOptions = ref(); -const cascaderProps= { - emitPath: false, - } +// 使用 CRM store +const crmStore = useCrmStore() +const { userList, depList } = storeToRefs(crmStore) +let depOptions = ref() +const cascaderProps = { + emitPath: false +} /** 查询列表 */ const getList = async () => { @@ -162,12 +164,18 @@ const resetQuery = () => { handleQuery() } - /** 初始化 **/ onMounted(async () => { + // 加载数据 + await Promise.all([ + crmStore.getUserList(), + crmStore.getDepList() + ]) + + // 构建树形结构 + depOptions.value = buildTree(depList.value) + + // 加载列表数据 await getList() - userList.value=await UserApi.getSimpleUsertList(); - depList.value=await DepApi.getSimpleDeptList(); - depOptions.value=buildTree(depList.value); }) \ No newline at end of file diff --git a/src/views/crm/opensea/customer/allopensea.vue b/src/views/crm/opensea/customer/allopensea.vue index 6a3db19e..8bb34d22 100644 --- a/src/views/crm/opensea/customer/allopensea.vue +++ b/src/views/crm/opensea/customer/allopensea.vue @@ -84,7 +84,7 @@ class="!w-120px " > - + @@ -199,8 +199,8 @@ - - + + - - + +