From fb1d7069e067da3755583aa40a2928736baf3547 Mon Sep 17 00:00:00 2001 From: abiyasa05 Date: Tue, 31 Dec 2024 10:28:36 +0700 Subject: [PATCH] create: new folder --- frontend-roadreport-deploy/.gitignore | 45 + .../.vscode/settings.json | 3 + frontend-roadreport-deploy/README.md | 27 + frontend-roadreport-deploy/angular.json | 104 ++ .../dist/road-report/114.83af9de57fdf8c48.js | 1 + .../dist/road-report/176.2371990238ef1a25.js | 1 + .../dist/road-report/186.9e3760d3c202465a.js | 1 + .../dist/road-report/257.88b5a23227acab06.js | 1 + .../dist/road-report/323.14af06692b2a4ee9.js | 1 + .../dist/road-report/348.da00f8c2e534226c.js | 1 + .../dist/road-report/367.8443f3ce46ace501.js | 1 + .../dist/road-report/3rdpartylicenses.txt | 784 ++++++++++++ .../dist/road-report/42.87bb3e2ac6183fef.js | 1 + .../dist/road-report/550.90d712180418ebb6.js | 9 + .../dist/road-report/641.81147924ef1f98a2.js | 1 + .../dist/road-report/685.36a1f48f2a4f3cab.js | 1 + .../dist/road-report/727.59815feb56cbe242.js | 1 + .../dist/road-report/773.972632dba9fc584b.js | 1 + .../dist/road-report/919.7d209c0e25a4d47f.js | 1 + .../dist/road-report/965.e88361bb90823cf2.js | 1 + .../dist/road-report/984.b27a37fd248eb18c.js | 1 + .../dist/road-report/989.f8b0e6f5fb606670.js | 1 + .../dist/road-report/assets/graf-tes.json | 112 ++ .../assets/images/batu_city_logo.png | Bin 0 -> 3679 bytes .../dist/road-report/assets/images/error.png | Bin 0 -> 12318 bytes .../images/icon/marker-dalam_proses.png | Bin 0 -> 637 bytes .../assets/images/icon/marker-default.png | Bin 0 -> 543 bytes .../assets/images/icon/marker-perbaikan.png | Bin 0 -> 654 bytes .../images/icon/marker-selesai-perbaikan.png | Bin 0 -> 669 bytes .../assets/images/icon/marker-selesai.png | Bin 0 -> 644 bytes .../images/icon/marker-tindak_lanjut.png | Bin 0 -> 549 bytes .../dist/road-report/assets/images/loader.svg | 10 + .../assets/images/login_accent.png | Bin 0 -> 7304 bytes .../assets/scss/_custom-variables.scss | 17 + .../bootstrap-icons.70a9dee9e5ab72aa.woff | Bin 0 -> 176032 bytes .../bootstrap-icons.bfa90bda92a84a6a.woff2 | Bin 0 -> 130396 bytes .../road-report/common.edccf03e54decc30.js | 1 + .../dist/road-report/favicon.ico | Bin 0 -> 11466 bytes .../dist/road-report/index.html | 17 + .../layers-2x.9859cd1231006a4a.png | Bin 0 -> 1259 bytes .../road-report/layers.ef6db8722c2c3f9a.png | Bin 0 -> 696 bytes .../dist/road-report/main.a4de25f49bf9da42.js | 1 + .../marker-icon.d577052aa271e13f.png | Bin 0 -> 1466 bytes .../road-report/polyfills.12730af3eaf7ad46.js | 1 + .../road-report/runtime.67bf9f534a7d2740.js | 1 + .../road-report/styles.cd1003a5ea49cc1d.css | 9 + frontend-roadreport-deploy/package.json | 61 + frontend-roadreport-deploy/proxy.conf.json | 8 + .../src/app/app-routing.module.ts | 42 + .../src/app/app.component.html | 1 + .../src/app/app.component.scss | 0 .../src/app/app.component.spec.ts | 29 + .../src/app/app.component.ts | 16 + .../src/app/app.module.ts | 54 + .../api-services/dumps/uploaded.service.ts | 33 + .../export/export-laporanByStatus.service.ts | 17 + .../export/export-laporanByid.service.ts | 32 + .../api-services/gudang/bahan.service.ts | 25 + .../api-services/home/ringkasan.service.ts | 26 + .../api-services/laporan/laporan.service.ts | 59 + .../laporan/quartet-count.service.ts | 18 + .../laporan/rejected-laporan.service.ts | 32 + .../machine-segmen.service.ts | 14 + .../manage/change-password.service.ts | 23 + .../cores/api-services/manage/faq.service.ts | 25 + .../api-services/manage/surveyor.service.ts | 18 + .../cores/api-services/manage/user.service.ts | 36 + .../map/report-segmens.service.ts | 29 + .../map/street-segmens.service.ts | 28 + .../api-services/map/sub-district.service.ts | 28 + .../perbaikan/detail-perbaikan.service.ts | 39 + .../perbaikan/maintenance.service.ts | 34 + .../perbaikan/perbaikan.service.ts | 46 + .../rekapitulasi/rekapitulasi.service.ts | 16 + .../surveyor/postsurvey.service.ts | 18 + .../api-services/surveyor/surveyor.service.ts | 39 + .../src/app/cores/api-services/tes.service.ts | 14 + .../class-templates/base-crud.component.ts | 161 +++ .../cant-contain-whitespace.ts | 12 + .../cores/form-validators/email-validation.ts | 24 + .../app/cores/form-validators/whitespace.ts | 13 + .../src/app/cores/guards/auth.guard.ts | 23 + .../src/app/cores/guards/login.guard.ts | 16 + .../src/app/cores/guards/role.guard.ts | 25 + .../app/cores/interceptors/api.interceptor.ts | 20 + .../cores/interceptors/auth.interceptor.ts | 23 + .../cores/interceptors/error.interceptor.ts | 47 + .../src/app/cores/interceptors/index.ts | 10 + .../cores/interfaces/api-array-response.ts | 11 + .../cores/interfaces/api-object-response.ts | 7 + .../src/app/cores/interfaces/http-query.ts | 11 + .../src/app/cores/interfaces/master.ts | 103 ++ .../src/app/cores/interfaces/timestamp.ts | 5 + .../cores/pipes/remove-trailing-zero.pipe.ts | 10 + .../src/app/cores/resolver/api.resolver.ts | 28 + .../src/app/cores/services/api.service.ts | 64 + .../src/app/cores/services/auth.service.ts | 131 ++ .../src/app/cores/services/helpers.service.ts | 139 +++ .../src/app/cores/services/loading.service.ts | 21 + .../src/app/pages/auth/auth.component.html | 116 ++ .../src/app/pages/auth/auth.component.scss | 0 .../src/app/pages/auth/auth.component.spec.ts | 21 + .../src/app/pages/auth/auth.component.ts | 54 + .../src/app/pages/auth/auth.module.ts | 18 + .../components/alert/alert.component.html | 13 + .../components/alert/alert.component.scss | 0 .../components/alert/alert.component.spec.ts | 21 + .../components/alert/alert.component.ts | 17 + .../confirmation-modal.component.html | 43 + .../confirmation-modal.component.scss | 0 .../confirmation-modal.component.spec.ts | 21 + .../confirmation-modal.component.ts | 18 + .../image-show-modal.component.html | 29 + .../image-show-modal.component.scss | 0 .../image-show-modal.component.spec.ts | 21 + .../image-show-modal.component.ts | 17 + .../lightbox/lightbox.component.html | 8 + .../lightbox/lightbox.component.scss | 0 .../lightbox/lightbox.component.spec.ts | 21 + .../components/lightbox/lightbox.component.ts | 53 + .../components/map/map.component.html | 106 ++ .../components/map/map.component.scss | 19 + .../components/map/map.component.spec.ts | 21 + .../dashboard/components/map/map.component.ts | 706 +++++++++++ .../modal-assign-surveyor.component.html | 112 ++ .../modal-assign-surveyor.component.scss | 18 + .../modal-assign-surveyor.component.spec.ts | 21 + .../modal-assign-surveyor.component.ts | 170 +++ .../components/segment/segment.component.html | 209 ++++ .../components/segment/segment.component.scss | 0 .../segment/segment.component.spec.ts | 21 + .../components/segment/segment.component.ts | 293 +++++ .../components/upload-image/adapter.ts | 58 + .../upload-image/upload-image.component.html | 203 +++ .../upload-image/upload-image.component.scss | 29 + .../upload-image.component.spec.ts | 21 + .../upload-image/upload-image.component.ts | 230 ++++ .../src/app/pages/dashboard/dashboard-menu.ts | 44 + .../pages/dashboard/dashboard.component.html | 25 + .../pages/dashboard/dashboard.component.scss | 16 + .../dashboard/dashboard.component.spec.ts | 21 + .../pages/dashboard/dashboard.component.ts | 44 + .../app/pages/dashboard/dashboard.module.ts | 109 ++ .../layouts/sidenav/sidenav.component.html | 82 ++ .../layouts/sidenav/sidenav.component.scss | 0 .../layouts/sidenav/sidenav.component.spec.ts | 21 + .../layouts/sidenav/sidenav.component.ts | 80 ++ .../layouts/sidenav/sidenav.service.ts | 17 + .../topbar/action/action.component.html | 92 ++ .../topbar/action/action.component.scss | 0 .../topbar/action/action.component.spec.ts | 21 + .../layouts/topbar/action/action.component.ts | 61 + .../layouts/topbar/topbar.component.html | 73 ++ .../layouts/topbar/topbar.component.scss | 10 + .../layouts/topbar/topbar.component.spec.ts | 21 + .../layouts/topbar/topbar.component.ts | 93 ++ .../pages/gudang/action/action.component.html | 82 ++ .../pages/gudang/action/action.component.scss | 0 .../gudang/action/action.component.spec.ts | 21 + .../pages/gudang/action/action.component.ts | 57 + .../pages/gudang/gudang.component.html | 129 ++ .../pages/gudang/gudang.component.scss | 3 + .../pages/gudang/gudang.component.spec.ts | 21 + .../pages/gudang/gudang.component.ts | 81 ++ .../dashboard/pages/gudang/gudang.module.ts | 25 + .../dashboard/pages/home/home.component.html | 6 + .../dashboard/pages/home/home.component.scss | 0 .../pages/home/home.component.spec.ts | 21 + .../dashboard/pages/home/home.component.ts | 8 + .../pages/dashboard/pages/home/home.module.ts | 26 + .../laporan-baru/laporan-baru.component.html | 94 ++ .../laporan-baru/laporan-baru.component.scss | 0 .../laporan-baru.component.spec.ts | 21 + .../laporan-baru/laporan-baru.component.ts | 55 + .../pages/home/views/peta/peta.component.html | 1 + .../pages/home/views/peta/peta.component.scss | 0 .../home/views/peta/peta.component.spec.ts | 21 + .../pages/home/views/peta/peta.component.ts | 11 + .../views/ringkasan/ringkasan.component.html | 98 ++ .../views/ringkasan/ringkasan.component.scss | 0 .../ringkasan/ringkasan.component.spec.ts | 21 + .../views/ringkasan/ringkasan.component.ts | 24 + .../laporan/detail/detail.component.html | 300 +++++ .../laporan/detail/detail.component.scss | 3 + .../laporan/detail/detail.component.spec.ts | 21 + .../pages/laporan/detail/detail.component.ts | 221 ++++ .../pages/laporan/detail/detail.module.ts | 33 + .../pages/laporan/laporan.component.html | 242 ++++ .../pages/laporan/laporan.component.scss | 11 + .../pages/laporan/laporan.component.spec.ts | 21 + .../pages/laporan/laporan.component.ts | 111 ++ .../dashboard/pages/laporan/laporan.module.ts | 42 + .../modal/action/action.component.html | 28 + .../modal/action/action.component.scss | 10 + .../modal/action/action.component.spec.ts | 21 + .../laporan/modal/action/action.component.ts | 16 + .../laporan/modal/alert/alert.component.html | 22 + .../laporan/modal/alert/alert.component.scss | 0 .../modal/alert/alert.component.spec.ts | 21 + .../laporan/modal/alert/alert.component.ts | 24 + .../modal/kerusakan/kerusakan.component.html | 66 + .../modal/kerusakan/kerusakan.component.scss | 0 .../kerusakan/kerusakan.component.spec.ts | 21 + .../modal/kerusakan/kerusakan.component.ts | 70 ++ .../modal/submit/submit.component.html | 38 + .../modal/submit/submit.component.scss | 0 .../modal/submit/submit.component.spec.ts | 21 + .../laporan/modal/submit/submit.component.ts | 45 + .../tindak-lanjut.component.html | 95 ++ .../tindak-lanjut.component.scss | 18 + .../tindak-lanjut.component.spec.ts | 21 + .../tindak-lanjut/tindak-lanjut.component.ts | 209 ++++ .../tindak-lanjut/tindak-lanjut.module.ts | 25 + .../perbaikan/detail/detail.component.html | 230 ++++ .../perbaikan/detail/detail.component.scss | 5 + .../perbaikan/detail/detail.component.spec.ts | 21 + .../perbaikan/detail/detail.component.ts | 133 ++ .../pages/perbaikan/detail/detail.module.ts | 27 + .../perbaikan/jadwal/jadwal.component.html | 64 + .../perbaikan/jadwal/jadwal.component.scss | 22 + .../perbaikan/jadwal/jadwal.component.spec.ts | 21 + .../perbaikan/jadwal/jadwal.component.ts | 185 +++ .../modal/action/action.component.html | 34 + .../modal/action/action.component.scss | 10 + .../modal/action/action.component.spec.ts | 21 + .../modal/action/action.component.ts | 18 + .../pages/perbaikan/perbaikan.component.html | 163 +++ .../pages/perbaikan/perbaikan.component.scss | 3 + .../perbaikan/perbaikan.component.spec.ts | 21 + .../pages/perbaikan/perbaikan.component.ts | 112 ++ .../pages/perbaikan/perbaikan.module.ts | 33 + .../grafik-laporan.component.html | 36 + .../grafik-laporan.component.scss | 0 .../grafik-laporan.component.spec.ts | 21 + .../grafik-laporan.component.ts | 84 ++ .../laporan/laporan.component.html | 203 +++ .../laporan/laporan.component.scss | 11 + .../laporan/laporan.component.spec.ts | 21 + .../rekapitulasi/laporan/laporan.component.ts | 96 ++ .../rekapitulasi/rekapitulasi.component.html | 425 +++++++ .../rekapitulasi/rekapitulasi.component.scss | 30 + .../rekapitulasi.component.spec.ts | 21 + .../rekapitulasi/rekapitulasi.component.ts | 1099 +++++++++++++++++ .../pages/rekapitulasi/rekapitulasi.module.ts | 49 + .../ringkasan/ringkasan.component.html | 162 +++ .../ringkasan/ringkasan.component.scss | 0 .../ringkasan/ringkasan.component.spec.ts | 21 + .../ringkasan/ringkasan.component.ts | 54 + .../setting/FAQ/action/action.component.html | 145 +++ .../setting/FAQ/action/action.component.scss | 0 .../FAQ/action/action.component.spec.ts | 21 + .../setting/FAQ/action/action.component.ts | 64 + .../pages/setting/FAQ/faq/faq.component.html | 96 ++ .../pages/setting/FAQ/faq/faq.component.scss | 5 + .../setting/FAQ/faq/faq.component.spec.ts | 21 + .../pages/setting/FAQ/faq/faq.component.ts | 106 ++ .../pengelola/action/action.component.html | 190 +++ .../pengelola/action/action.component.scss | 0 .../pengelola/action/action.component.spec.ts | 21 + .../pengelola/action/action.component.ts | 79 ++ .../pengelola/pengelola.component.html | 104 ++ .../pengelola/pengelola.component.scss | 0 .../pengelola/pengelola.component.spec.ts | 21 + .../pengelola/pengelola.component.ts | 101 ++ .../pages/setting/setting.component.html | 59 + .../pages/setting/setting.component.scss | 11 + .../pages/setting/setting.component.spec.ts | 21 + .../pages/setting/setting.component.ts | 52 + .../dashboard/pages/setting/setting.module.ts | 30 + .../surveyor/action/action.component.html | 165 +++ .../surveyor/action/action.component.scss | 0 .../surveyor/action/action.component.spec.ts | 21 + .../surveyor/action/action.component.ts | 79 ++ .../surveyor/surveyor/surveyor.component.html | 104 ++ .../surveyor/surveyor/surveyor.component.scss | 0 .../surveyor/surveyor.component.spec.ts | 21 + .../surveyor/surveyor/surveyor.component.ts | 101 ++ .../pages/surveyor/detail/adapter.ts | 75 ++ .../surveyor/detail/detail.component.html | 419 +++++++ .../surveyor/detail/detail.component.scss | 8 + .../surveyor/detail/detail.component.spec.ts | 21 + .../pages/surveyor/detail/detail.component.ts | 120 ++ .../pages/surveyor/detail/detail.module.ts | 25 + .../pages/surveyor/surveyor.component.html | 173 +++ .../pages/surveyor/surveyor.component.scss | 11 + .../pages/surveyor/surveyor.component.spec.ts | 21 + .../pages/surveyor/surveyor.component.ts | 57 + .../pages/surveyor/surveyor.module.ts | 34 + .../error-not-found.component.html | 20 + .../error-not-found.component.scss | 0 .../error-not-found.component.spec.ts | 21 + .../error-not-found.component.ts | 10 + .../error-not-found/error-not-found.module.ts | 17 + .../src/assets/.gitkeep | 0 .../src/assets/graf-tes.json | 112 ++ .../src/assets/images/batu_city_logo.png | Bin 0 -> 3679 bytes .../src/assets/images/error.png | Bin 0 -> 12318 bytes .../images/icon/marker-dalam_proses.png | Bin 0 -> 637 bytes .../src/assets/images/icon/marker-default.png | Bin 0 -> 543 bytes .../assets/images/icon/marker-perbaikan.png | Bin 0 -> 654 bytes .../images/icon/marker-selesai-perbaikan.png | Bin 0 -> 669 bytes .../src/assets/images/icon/marker-selesai.png | Bin 0 -> 644 bytes .../images/icon/marker-tindak_lanjut.png | Bin 0 -> 549 bytes .../src/assets/images/loader.svg | 10 + .../src/assets/images/login_accent.png | Bin 0 -> 7304 bytes .../src/assets/scss/_custom-variables.scss | 17 + frontend-roadreport-deploy/src/favicon.ico | Bin 0 -> 11466 bytes frontend-roadreport-deploy/src/index.html | 23 + frontend-roadreport-deploy/src/main.ts | 9 + frontend-roadreport-deploy/src/styles.scss | 42 + frontend-roadreport-deploy/tsconfig.app.json | 16 + frontend-roadreport-deploy/tsconfig.json | 30 + frontend-roadreport-deploy/tsconfig.spec.json | 15 + frontend-roadreport-deploy/webpack.config.js | 28 + 314 files changed, 15509 insertions(+) create mode 100644 frontend-roadreport-deploy/.gitignore create mode 100644 frontend-roadreport-deploy/.vscode/settings.json create mode 100644 frontend-roadreport-deploy/README.md create mode 100644 frontend-roadreport-deploy/angular.json create mode 100644 frontend-roadreport-deploy/dist/road-report/114.83af9de57fdf8c48.js create mode 100644 frontend-roadreport-deploy/dist/road-report/176.2371990238ef1a25.js create mode 100644 frontend-roadreport-deploy/dist/road-report/186.9e3760d3c202465a.js create mode 100644 frontend-roadreport-deploy/dist/road-report/257.88b5a23227acab06.js create mode 100644 frontend-roadreport-deploy/dist/road-report/323.14af06692b2a4ee9.js create mode 100644 frontend-roadreport-deploy/dist/road-report/348.da00f8c2e534226c.js create mode 100644 frontend-roadreport-deploy/dist/road-report/367.8443f3ce46ace501.js create mode 100644 frontend-roadreport-deploy/dist/road-report/3rdpartylicenses.txt create mode 100644 frontend-roadreport-deploy/dist/road-report/42.87bb3e2ac6183fef.js create mode 100644 frontend-roadreport-deploy/dist/road-report/550.90d712180418ebb6.js create mode 100644 frontend-roadreport-deploy/dist/road-report/641.81147924ef1f98a2.js create mode 100644 frontend-roadreport-deploy/dist/road-report/685.36a1f48f2a4f3cab.js create mode 100644 frontend-roadreport-deploy/dist/road-report/727.59815feb56cbe242.js create mode 100644 frontend-roadreport-deploy/dist/road-report/773.972632dba9fc584b.js create mode 100644 frontend-roadreport-deploy/dist/road-report/919.7d209c0e25a4d47f.js create mode 100644 frontend-roadreport-deploy/dist/road-report/965.e88361bb90823cf2.js create mode 100644 frontend-roadreport-deploy/dist/road-report/984.b27a37fd248eb18c.js create mode 100644 frontend-roadreport-deploy/dist/road-report/989.f8b0e6f5fb606670.js create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/graf-tes.json create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/batu_city_logo.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/error.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/icon/marker-dalam_proses.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/icon/marker-default.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/icon/marker-perbaikan.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/icon/marker-selesai-perbaikan.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/icon/marker-selesai.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/icon/marker-tindak_lanjut.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/loader.svg create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/images/login_accent.png create mode 100644 frontend-roadreport-deploy/dist/road-report/assets/scss/_custom-variables.scss create mode 100644 frontend-roadreport-deploy/dist/road-report/bootstrap-icons.70a9dee9e5ab72aa.woff create mode 100644 frontend-roadreport-deploy/dist/road-report/bootstrap-icons.bfa90bda92a84a6a.woff2 create mode 100644 frontend-roadreport-deploy/dist/road-report/common.edccf03e54decc30.js create mode 100644 frontend-roadreport-deploy/dist/road-report/favicon.ico create mode 100644 frontend-roadreport-deploy/dist/road-report/index.html create mode 100644 frontend-roadreport-deploy/dist/road-report/layers-2x.9859cd1231006a4a.png create mode 100644 frontend-roadreport-deploy/dist/road-report/layers.ef6db8722c2c3f9a.png create mode 100644 frontend-roadreport-deploy/dist/road-report/main.a4de25f49bf9da42.js create mode 100644 frontend-roadreport-deploy/dist/road-report/marker-icon.d577052aa271e13f.png create mode 100644 frontend-roadreport-deploy/dist/road-report/polyfills.12730af3eaf7ad46.js create mode 100644 frontend-roadreport-deploy/dist/road-report/runtime.67bf9f534a7d2740.js create mode 100644 frontend-roadreport-deploy/dist/road-report/styles.cd1003a5ea49cc1d.css create mode 100644 frontend-roadreport-deploy/package.json create mode 100644 frontend-roadreport-deploy/proxy.conf.json create mode 100644 frontend-roadreport-deploy/src/app/app-routing.module.ts create mode 100644 frontend-roadreport-deploy/src/app/app.component.html create mode 100644 frontend-roadreport-deploy/src/app/app.component.scss create mode 100644 frontend-roadreport-deploy/src/app/app.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/app.component.ts create mode 100644 frontend-roadreport-deploy/src/app/app.module.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/dumps/uploaded.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByStatus.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByid.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/gudang/bahan.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/home/ringkasan.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/laporan/laporan.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/laporan/quartet-count.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/laporan/rejected-laporan.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/machine-learning/machine-segmen.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/manage/change-password.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/manage/faq.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/manage/surveyor.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/manage/user.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/map/report-segmens.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/map/street-segmens.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/map/sub-district.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/detail-perbaikan.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/maintenance.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/perbaikan.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/rekapitulasi/rekapitulasi.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/surveyor/postsurvey.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/surveyor/surveyor.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/api-services/tes.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/class-templates/base-crud.component.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/form-validators/cant-contain-whitespace.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/form-validators/email-validation.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/form-validators/whitespace.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/guards/auth.guard.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/guards/login.guard.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/guards/role.guard.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interceptors/api.interceptor.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interceptors/auth.interceptor.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interceptors/error.interceptor.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interceptors/index.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interfaces/api-array-response.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interfaces/api-object-response.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interfaces/http-query.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interfaces/master.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/interfaces/timestamp.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/pipes/remove-trailing-zero.pipe.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/resolver/api.resolver.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/services/api.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/services/auth.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/services/helpers.service.ts create mode 100644 frontend-roadreport-deploy/src/app/cores/services/loading.service.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/auth/auth.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/auth/auth.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/auth/auth.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/auth/auth.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/auth/auth.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/adapter.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/dashboard-menu.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.service.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/adapter.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.module.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.html create mode 100644 frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.scss create mode 100644 frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.spec.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.ts create mode 100644 frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.module.ts create mode 100644 frontend-roadreport-deploy/src/assets/.gitkeep create mode 100644 frontend-roadreport-deploy/src/assets/graf-tes.json create mode 100644 frontend-roadreport-deploy/src/assets/images/batu_city_logo.png create mode 100644 frontend-roadreport-deploy/src/assets/images/error.png create mode 100644 frontend-roadreport-deploy/src/assets/images/icon/marker-dalam_proses.png create mode 100644 frontend-roadreport-deploy/src/assets/images/icon/marker-default.png create mode 100644 frontend-roadreport-deploy/src/assets/images/icon/marker-perbaikan.png create mode 100644 frontend-roadreport-deploy/src/assets/images/icon/marker-selesai-perbaikan.png create mode 100644 frontend-roadreport-deploy/src/assets/images/icon/marker-selesai.png create mode 100644 frontend-roadreport-deploy/src/assets/images/icon/marker-tindak_lanjut.png create mode 100644 frontend-roadreport-deploy/src/assets/images/loader.svg create mode 100644 frontend-roadreport-deploy/src/assets/images/login_accent.png create mode 100644 frontend-roadreport-deploy/src/assets/scss/_custom-variables.scss create mode 100644 frontend-roadreport-deploy/src/favicon.ico create mode 100644 frontend-roadreport-deploy/src/index.html create mode 100644 frontend-roadreport-deploy/src/main.ts create mode 100644 frontend-roadreport-deploy/src/styles.scss create mode 100644 frontend-roadreport-deploy/tsconfig.app.json create mode 100644 frontend-roadreport-deploy/tsconfig.json create mode 100644 frontend-roadreport-deploy/tsconfig.spec.json create mode 100644 frontend-roadreport-deploy/webpack.config.js diff --git a/frontend-roadreport-deploy/.gitignore b/frontend-roadreport-deploy/.gitignore new file mode 100644 index 0000000..f3ee08a --- /dev/null +++ b/frontend-roadreport-deploy/.gitignore @@ -0,0 +1,45 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +package-lock.json + +# Compiled output +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db + +.angular/ diff --git a/frontend-roadreport-deploy/.vscode/settings.json b/frontend-roadreport-deploy/.vscode/settings.json new file mode 100644 index 0000000..335f886 --- /dev/null +++ b/frontend-roadreport-deploy/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.defaultFormatter": "esbenp.prettier-vscode" +} \ No newline at end of file diff --git a/frontend-roadreport-deploy/README.md b/frontend-roadreport-deploy/README.md new file mode 100644 index 0000000..7c71f3f --- /dev/null +++ b/frontend-roadreport-deploy/README.md @@ -0,0 +1,27 @@ +# RoadReport + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.4. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/frontend-roadreport-deploy/angular.json b/frontend-roadreport-deploy/angular.json new file mode 100644 index 0000000..d80065e --- /dev/null +++ b/frontend-roadreport-deploy/angular.json @@ -0,0 +1,104 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "road-report": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-builders/custom-webpack:browser", + "options": { + "outputPath": "dist/road-report", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [], + "customWebpackConfig": { + "path": "./webpack.config.js" + }, + "allowedCommonJsDependencies": [ + "buffer", + "dayjs", + "apexcharts", + "leaflet", + "ngx-lightbox" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "1mb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "road-report:build:production", + "proxyConfig": "./proxy.conf.json" + }, + "development": { + "browserTarget": "road-report:build:development", + "proxyConfig": "./proxy.conf.json" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "road-report:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": "bd7e6812-e5ff-426b-a8aa-81ac8bb14696" + } +} diff --git a/frontend-roadreport-deploy/dist/road-report/114.83af9de57fdf8c48.js b/frontend-roadreport-deploy/dist/road-report/114.83af9de57fdf8c48.js new file mode 100644 index 0000000..9c5844b --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/114.83af9de57fdf8c48.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[114],{6114:(A,f,o)=>{o.r(f),o.d(f,{DetailModule:()=>U});var c=o(177),u=o(8185),j=o(2665),n=o(9417),h=o(9519),p=o(1626),E=o(6354),C=o(9437),y=o(7673),m=o(8685);class D extends m.MF{constructor(d){super(),this.http=d,this.imageFiles={abs_path:""}}uploadFile(d){const r=new FormData;r.append("file",d.file),r.append("category","image"),r.append("folder","image");const e=new p.Kd("POST","https://api-roadreport.pisdev.my.id/api/upload-dumps",r,{reportProgress:!0});return this.http.request(e).pipe((0,E.T)(l=>{if(l.type===p.hv.Response){const s=l.body;return this.imageFiles={abs_path:s.data.abs_path},console.log(s),{body:s,status:m.A8.UPLOADED}}if(l.type===p.hv.UploadProgress&&void 0!==l.total){const s=+Math.round(100*l.loaded/l.total);return{status:m.A8.IN_PROGRESS,progress:s}}return{status:m.A8.ERROR,body:"Unknown error occurred during upload process."}}),(0,C.W)(l=>(0,y.of)({status:m.A8.ERROR,body:l})))}removeFile(d){return this.http.post("https://api-roadreport.pisdev.my.id/api/upload-dumps/50",{id:50})}}var a=o(8699),R=o(1991),b=o(7110);let _=(()=>{class t extends R.G{constructor(r,i){super(r,i),this.http=r,this.helpers=i,this.endpoint="survey"}static{this.\u0275fac=function(i){return new(i||t)(a.KVO(p.Qq),a.KVO(b.V))}}static{this.\u0275prov=a.jDH({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var w=o(6803),N=o(2423);function T(t,d){1&t&&(a.j41(0,"div",78),a.EFF(1," Harus diisi "),a.k0s())}function B(t,d){1&t&&(a.j41(0,"div",78),a.EFF(1," Jumlah tidak valid "),a.k0s())}function S(t,d){1&t&&(a.j41(0,"div",78),a.EFF(1," Harus diisi "),a.k0s())}function I(t,d){1&t&&(a.j41(0,"div",78),a.EFF(1," Jumlah tidak valid "),a.k0s())}function x(t,d){1&t&&(a.j41(0,"div",78),a.EFF(1," Awalan dan akhiran tidak boleh ada spasi "),a.k0s())}function G(t,d){1&t&&(a.j41(0,"div",78),a.EFF(1," Awalan dan akhiran tidak boleh ada spasi "),a.k0s())}const k=function(t){return{"is-invalid":t}},$=[{path:"",component:(()=>{class t extends j.v{uploadSuccess(r){}onValidationError(r){alert(`Validation Error ${r.error} in ${r.file?.name}`)}constructor(r,i,e,l,s,v,g,F){super(g,F,s,v),this.http=r,this.activatedRoute=i,this.router=e,this.formBuilder=l,this.api=s,this.modal=v,this.helpers=g,this.loading=F,this.adapter=new D(this.http),this.id="",this.isButtonDisabled=!1,this.form={},this.queries={sort:"-updated_at",page:1,limit:10,embed:"status_report,user,segmens,segmens.segmen,segmens.photos,schedule"}}ngOnInit(){this.id=this.activatedRoute.snapshot.params.id,this.initForm()}initForm(){this.form=this.formBuilder.group({report_id:this.id,tingkat_kerusakan:["baik",[n.k0.required]],tipe_kerusakan:["berlubang",[n.k0.required]],kedalaman_lubang:["tidak_ada",[n.k0.required]],length:[null,[n.k0.required,n.k0.pattern(/^[0-9]+(\.[0-9]{1,2})?$/)]],width:[null,[n.k0.required,n.k0.pattern(/^[0-9]+(\.[0-9]{1,2})?$/)]],jenis_material:["ACBC",[n.k0.required]],masukan_material:[null,[h.M.noWhiteSpace]],note:[null,[h.M.noWhiteSpace]]})}onBack(){this.router.navigate(["../"],{relativeTo:this.activatedRoute})}onSubmit(){if(this.form.valid){const r={photos:{abs_path:this.adapter.imageFiles.abs_path}};console.log(r),console.log(this.adapter.imageFiles),this.api.insert(this.form.value).subscribe({next:({data:i})=>{console.log("hasil post ke endpoint surveyor",i),console.log("foto yang akan dikirim",r),this.api.update(i.id,r).subscribe({next:({data:e})=>{console.log(e)}}),this.helpers.toast("success","Data Hasil Survey berhasil ditambahkan")},error:i=>{this.helpers.toast("error","Data gagal ditambahkan")}})}}static{this.\u0275fac=function(i){return new(i||t)(a.rXU(p.Qq),a.rXU(u.nX),a.rXU(u.Ix),a.rXU(n.ok),a.rXU(_),a.rXU(w.Bq),a.rXU(b.V),a.rXU(N.U))}}static{this.\u0275cmp=a.VBU({type:t,selectors:[["app-detail"]],features:[a.Vt3],decls:175,vars:22,consts:[[1,"d-lg-flex","d-md-flex","d-sm-flex","align-items-start","justify-content-between","gap-3","mb-3"],[1,"d-flex","align-items-center","gap-2","mb-2"],["type","button",1,"btn","btn-sm","bg-transparent",3,"click"],[1,"bi","bi-arrow-left"],[1,"mb-0","fw-bold"],["aria-label","breadcrumb"],[1,"breadcrumb"],[1,"breadcrumb-item","small"],["routerLink","../",1,"text-decoration-none"],["aria-current","page",1,"breadcrumb-item","active","small"],[1,""],[1,"d-flex","justify-content-between","calendar","bg-white","p-2","rounded-2","mt-2"],[1,"bi","bi-calendar",2,"color","blue"],[1,"small","ms-2","text-primary","fw-semibold"],[1,"date","small","ms-xs-1","ms-md-4","ms-lg-4"],[1,"p-4","rounded-3","bg-white"],[3,"formGroup"],[1,"row"],[1,"col-lg-6","col-md-12","col-sm-6"],[1,"mb-3","fw-bold"],[1,"uploader-wrapper"],[1,"form-label"],[1,"mb-3",2,"border","1px dashed #3d73dc",3,"adapter","fileMaxSize","uploadSuccess","validationError"],[1,"dropzoneTemplate"],[2,"text-align","center"],[1,"text-primary"],[1,"align-items-start","justify-content-between","column-gap-3","p-3","rounded-3","border","mb-3"],[1,"col"],[1,"form-check"],["id","baik","formControlName","tingkat_kerusakan","type","radio","value","baik","checked","",1,"form-check-input"],["for","baik",1,"form-check-label"],["id","sedang","formControlName","tingkat_kerusakan","type","radio","value","sedang",1,"form-check-input"],["for","sedang",1,"form-check-label"],["id","rusak_ringan","formControlName","tingkat_kerusakan","type","radio","value","rusak_ringan",1,"form-check-input"],["for","rusak_ringan",1,"form-check-label"],["id","rusak_berat","formControlName","tingkat_kerusakan","type","radio","value","rusak_berat",1,"form-check-input"],["for","rusak_berat",1,"form-check-label"],["id","berlubang","formControlName","tipe_kerusakan","type","radio","value","berlubang",1,"form-check-input"],["for","berlubang",1,"form-check-label"],["id","terkelupas","formControlName","tipe_kerusakan","type","radio","value","terkelupas",1,"form-check-input"],["for","terkelupas",1,"form-check-label"],["id","retak","formControlName","tipe_kerusakan","type","radio","value","retak",1,"form-check-input"],["for","retak",1,"form-check-label"],["id","bergelombang","formControlName","tipe_kerusakan","type","radio","value","bergelombang",1,"form-check-input"],["for","bergelombang",1,"form-check-label"],[1,"text-body-tertiary"],["type","a"],[2,"font-size","14px"],[1,"col-7"],["id","tidak_ada","formControlName","kedalaman_lubang","type","radio","value","tidak_ada",1,"form-check-input"],["for","tidak_ada",1,"form-check-label"],["id","kecil_dangkal","formControlName","kedalaman_lubang","type","radio","value","kecil_dangkal",1,"form-check-input"],["for","kecil_dangkal",1,"form-check-label"],["id","kecil_dalam","formControlName","kedalaman_lubang","type","radio","value","kecil_dalam",1,"form-check-input"],["for","kecil_dalam",1,"form-check-label"],["id","besar_dangkal","formControlName","kedalaman_lubang","type","radio","value","besar_dangkal",1,"form-check-input"],["for","besar_dangkal",1,"form-check-label"],["id","besar_dalam","formControlName","kedalaman_lubang","name","kedalaman_lubang","type","radio","value","besar_dalam",1,"form-check-input"],["for","besar_dalam",1,"form-check-label"],["for","length",1,"text-dark"],[1,"text-danger","ms-1"],["id","length","formControlName","length","type","text","placeholder",".. m",1,"form-control","my-2",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],[1,"text-body-tertiary","m-0",2,"font-size","0.875em"],["for","width",1,"text-dark"],["id","width","formControlName","width","type","text","placeholder",".. m",1,"form-control","my-2",3,"ngClass"],[1,"mb-3"],["formControlName","jenis_material",1,"form-select"],["value","ACBC"],["value","ACWC"],["value","Aspal Beton"],["for","masukan_material",1,"text-dark","fw-semibold"],[1,"text-body-tertiary","fw-normal"],["id","masukan_material","formControlName","masukan_material","rows","3","placeholder","Contoh : semen 5kg, aspal 1 pickup",1,"mt-2","form-control",3,"ngClass"],["for","note",1,"text-dark","fw-semibold"],["id","note","formControlName","note","rows","3","placeholder","Masukkan disini...",1,"mt-2","form-control",3,"ngClass"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","btn-primary",3,"disabled","click"],[1,"invalid-feedback"]],template:function(i,e){1&i&&(a.j41(0,"div",0)(1,"div")(2,"div",1)(3,"button",2),a.bIt("click",function(){return e.onBack()}),a.nrm(4,"i",3),a.k0s(),a.j41(5,"h5",4),a.EFF(6,"Detail Laporan"),a.k0s()(),a.j41(7,"nav",5)(8,"ol",6)(9,"li",7)(10,"a",8),a.EFF(11,"Data Laporan"),a.k0s()(),a.j41(12,"li",9),a.EFF(13,"Detail"),a.k0s()()()(),a.j41(14,"div",10)(15,"div")(16,"div",11)(17,"span"),a.nrm(18,"i",12),a.j41(19,"span",13),a.EFF(20,"Tanggal survey"),a.k0s()(),a.j41(21,"div")(22,"span",14),a.EFF(23," - "),a.k0s()()()()()(),a.j41(24,"div",15)(25,"form",16)(26,"div",17)(27,"div",18)(28,"h5",19),a.EFF(29,"Permukaan Pengerasan"),a.k0s(),a.j41(30,"div",20)(31,"label",21),a.EFF(32," Upload Gambar Jalan "),a.k0s(),a.j41(33,"ngx-awesome-uploader",22),a.bIt("uploadSuccess",function(s){return e.uploadSuccess(s)})("validationError",function(s){return e.onValidationError(s)}),a.j41(34,"div",23)(35,"p",24),a.EFF(36," Drag & Drop atau "),a.j41(37,"span",25),a.EFF(38,"Cari"),a.k0s(),a.EFF(39," File maksimal 2 MB "),a.k0s(),a.nrm(40,"p"),a.k0s()()(),a.j41(41,"div",26)(42,"label",21),a.EFF(43," Tingkat Kerusakan "),a.k0s(),a.j41(44,"div",17)(45,"div",27)(46,"div",28),a.nrm(47,"input",29),a.j41(48,"label",30),a.EFF(49," Baik "),a.k0s()(),a.j41(50,"div",28),a.nrm(51,"input",31),a.j41(52,"label",32),a.EFF(53," Sedang "),a.k0s()()(),a.j41(54,"div",27)(55,"div",28),a.nrm(56,"input",33),a.j41(57,"label",34),a.EFF(58," Rusak Ringan "),a.k0s()(),a.j41(59,"div",28),a.nrm(60,"input",35),a.j41(61,"label",36),a.EFF(62," Rusak Berat "),a.k0s()()()()(),a.j41(63,"div",26)(64,"div",17)(65,"label",21),a.EFF(66,"Tipe Kerusakan"),a.k0s(),a.j41(67,"div",27)(68,"div",28),a.nrm(69,"input",37),a.j41(70,"label",38),a.EFF(71," Berlubang "),a.k0s()(),a.j41(72,"div",28),a.nrm(73,"input",39),a.j41(74,"label",40),a.EFF(75," Terkelupas "),a.k0s()()(),a.j41(76,"div",27)(77,"div",28),a.nrm(78,"input",41),a.j41(79,"label",42),a.EFF(80,"Retak"),a.k0s()(),a.j41(81,"div",28),a.nrm(82,"input",43),a.j41(83,"label",44),a.EFF(84," Bergelombang "),a.k0s()()()()(),a.j41(85,"div",26)(86,"label",21),a.EFF(87," Kedalaman lubang "),a.k0s(),a.j41(88,"div",45)(89,"span"),a.EFF(90,"Catatan"),a.k0s(),a.j41(91,"ol",46)(92,"li",47),a.EFF(93," Ukuran lubang, kecil (diameter < 0,5 m). "),a.k0s(),a.j41(94,"li",47),a.EFF(95," Ukuran lubang, besar (diameter > 0,5 m). "),a.k0s(),a.j41(96,"li",47),a.EFF(97,"Dangkal, kedalaman < 5 cm."),a.k0s(),a.j41(98,"li",47),a.EFF(99,"Dalam, kedalaman > 5 cm."),a.k0s()()(),a.j41(100,"div",17)(101,"div",48)(102,"div",28),a.nrm(103,"input",49),a.j41(104,"label",50),a.EFF(105," Tidak ada "),a.k0s()(),a.j41(106,"div",28),a.nrm(107,"input",51),a.j41(108,"label",52),a.EFF(109," Kecil dangkal "),a.k0s()(),a.j41(110,"div",28),a.nrm(111,"input",53),a.j41(112,"label",54),a.EFF(113," Kecil dalam "),a.k0s()()(),a.j41(114,"div",27)(115,"div",28),a.nrm(116,"input",55),a.j41(117,"label",56),a.EFF(118," Besar dangkal "),a.k0s()(),a.j41(119,"div",28),a.nrm(120,"input",57),a.j41(121,"label",58),a.EFF(122," Besar dalam. "),a.k0s()()()()(),a.j41(123,"div",26)(124,"label",59),a.EFF(125," Panjang Kerusakan"),a.j41(126,"span",60),a.EFF(127,"*"),a.k0s()(),a.nrm(128,"input",61),a.DNE(129,T,2,0,"div",62),a.DNE(130,B,2,0,"div",62),a.j41(131,"p",63),a.EFF(132," Catatan "),a.k0s(),a.j41(133,"p",63),a.EFF(134," ukur panjang lubang dengan dimensi satuan meter "),a.k0s()(),a.j41(135,"div",26)(136,"label",64),a.EFF(137," Lebar Kerusakan"),a.j41(138,"span",60),a.EFF(139,"*"),a.k0s()(),a.nrm(140,"input",65),a.DNE(141,S,2,0,"div",62),a.DNE(142,I,2,0,"div",62),a.j41(143,"p",63),a.EFF(144," Catatan "),a.k0s(),a.j41(145,"p",63),a.EFF(146," ukur lebar lubang dengan dimensi satuan meter "),a.k0s()()(),a.j41(147,"div",18)(148,"h5",19),a.EFF(149,"Estimasi Kebutuhan Material"),a.k0s(),a.j41(150,"div",66)(151,"select",67)(152,"option",68),a.EFF(153,"ACBC"),a.k0s(),a.j41(154,"option",69),a.EFF(155,"ACWC"),a.k0s(),a.j41(156,"option",70),a.EFF(157,"Aspal Beton"),a.k0s()()(),a.j41(158,"div",66)(159,"label",71),a.EFF(160," Masukkan Material "),a.j41(161,"span",72),a.EFF(162,"(Optional)"),a.k0s()(),a.nrm(163,"textarea",73),a.DNE(164,x,2,0,"div",62),a.k0s(),a.j41(165,"div",66)(166,"label",74),a.EFF(167," Keterangan Tambahan "),a.j41(168,"span",72),a.EFF(169,"(Optional)"),a.k0s()(),a.nrm(170,"textarea",75),a.DNE(171,G,2,0,"div",62),a.k0s(),a.j41(172,"div",76)(173,"button",77),a.bIt("click",function(){return e.onSubmit()}),a.EFF(174," Simpan "),a.k0s()()()()()()),2&i&&(a.R7$(25),a.Y8G("formGroup",e.form),a.R7$(8),a.Y8G("adapter",e.adapter)("fileMaxSize",200),a.R7$(95),a.Y8G("ngClass",a.eq3(14,k,e.helpers.isInvalid(e.form,"length"))),a.R7$(1),a.Y8G("ngIf",e.helpers.hasError(e.form,"length","required")),a.R7$(1),a.Y8G("ngIf",e.helpers.hasError(e.form,"length","pattern")),a.R7$(10),a.Y8G("ngClass",a.eq3(16,k,e.helpers.isInvalid(e.form,"width"))),a.R7$(1),a.Y8G("ngIf",e.helpers.hasError(e.form,"width","required")),a.R7$(1),a.Y8G("ngIf",e.helpers.hasError(e.form,"width","pattern")),a.R7$(21),a.Y8G("ngClass",a.eq3(18,k,e.helpers.isInvalid(e.form,"masukan_material"))),a.R7$(1),a.Y8G("ngIf",e.helpers.hasError(e.form,"masukan_material","noWhiteSpace")),a.R7$(6),a.Y8G("ngClass",a.eq3(20,k,e.helpers.isInvalid(e.form,"note"))),a.R7$(1),a.Y8G("ngIf",e.helpers.hasError(e.form,"note","noWhiteSpace")),a.R7$(2),a.Y8G("disabled",e.form.invalid))},dependencies:[c.YU,c.bT,u.Wk,n.qT,n.xH,n.y7,n.me,n.wz,n.Fm,n.BC,n.cb,n.j4,n.JD,m.mu],styles:["input[_ngcontent-%COMP%]::-webkit-input-placeholder{color:#bdbdbd}textarea[_ngcontent-%COMP%]::-webkit-input-placeholder{color:#bdbdbd;font-size:.875em}"]})}}return t})()}];let U=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=a.$C({type:t})}static{this.\u0275inj=a.G2t({imports:[c.MD,u.iI.forChild($),n.YN,n.X1,m.Xx]})}}return t})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/176.2371990238ef1a25.js b/frontend-roadreport-deploy/dist/road-report/176.2371990238ef1a25.js new file mode 100644 index 0000000..534f98b --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/176.2371990238ef1a25.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[176],{1176:(F,u,o)=>{o.r(u),o.d(u,{AuthModule:()=>c});var n=o(177),s=o(9417),t=o(8699),d=o(5471),m=o(8185),h=o(7110);function p(e,k){1&e&&t.nrm(0,"span",32)}function b(e,k){1&e&&(t.j41(0,"span"),t.EFF(1," Masuk "),t.k0s())}const f=[{path:"",component:(()=>{class e{constructor(a,i,r,l,g){this.formBuilder=a,this.auth=i,this.activatedRoute=r,this.router=l,this.helpers=g,this.isShowPassword=!1,this.isFormSubmitted=!1,this.redirectUrl="",this.form=this.formBuilder.group({username:[null,[s.k0.required]],password:[null,[s.k0.required]],remember_me:[!1]}),this.redirectUrl=this.activatedRoute.snapshot.queryParams.url}onSubmit(){this.form.valid&&(this.isFormSubmitted=!0,this.auth.login(this.form.value).subscribe({next:({data:a})=>{this.isFormSubmitted=!1,this.auth.setToken(a.token),this.auth.setJwtToken(a.jwtToken),this.router.navigate([this.redirectUrl??"/dashboard"])},error:a=>{this.isFormSubmitted=!1,this.helpers.toast("error","Username atau Password salah!")}}))}static{this.\u0275fac=function(i){return new(i||e)(t.rXU(s.ok),t.rXU(d.u),t.rXU(m.nX),t.rXU(m.Ix),t.rXU(h.V))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["app-auth"]],hostAttrs:[1,"flex-fill"],decls:46,vars:6,consts:[[1,"row","h-100","mx-0"],[1,"col-lg-7","d-none","d-lg-block","bg-primary","p-5","text-white","position-relative","overflow-hidden"],[1,"position-relative","z-1"],["src","assets/images/batu_city_logo.png","alt","",1,"img-fluid","mb-4","pe-none"],[1,"display-1","mb-4","fw-bold"],[1,"h5","mb-0","fw-medium"],["src","assets/images/login_accent.png","alt","",1,"position-absolute","bottom-0","z-0","pe-none",2,"right","-1.75rem"],[1,"col-lg-5","py-5"],[1,"h-100","d-flex","flex-column","align-items-center"],[1,"mx-auto","mt-auto","mb-3","pt-3",2,"width","min(100%, 380px)"],[1,"text-center","mb-5"],[1,"h4","fw-semibold","mb-2"],[1,"mb-0","text-body-tertiary"],[1,"p-4","border","rounded-3",2,"box-shadow","6px 38px 48px 0px rgba(0, 0, 0, 0.08)"],[1,"fw-semibold","text-center","mb-4"],[3,"formGroup","ngSubmit"],[1,"mb-3"],["for","username",1,"form-label"],["type","text","id","username","formControlName","username","placeholder","Masukan E-mail/Username","autocomplete","username",1,"form-control"],["for","password",1,"form-label"],[1,"input-group"],["id","password","formControlName","password","placeholder","Masukan Kata Sandi","autocomplete","off",1,"form-control",3,"type"],["type","button",1,"btn","btn-outline-secondary",3,"click"],[1,"bi",3,"ngClass"],[1,"form-check","mb-3","d-flex","justify-content-between"],[1,"rememberMe-group"],["type","checkbox","id","rememberMe","formControlName","remember_me","autocomplete","off",1,"form-check-input"],["for","rememberMe",1,"form-check-label"],["type","submit",1,"btn","btn-primary","d-block","w-100","btn-lg",3,"disabled"],["class","spinner-border spinner-border-sm","role","status","aria-hidden","true",4,"ngIf"],[4,"ngIf"],[1,"text-center","small","text-body-tertiary","mb-0","mt-auto"],["role","status","aria-hidden","true",1,"spinner-border","spinner-border-sm"]],template:function(i,r){1&i&&(t.j41(0,"div",0)(1,"div",1)(2,"div",2),t.nrm(3,"img",3),t.j41(4,"h1",4),t.EFF(5,"Road"),t.nrm(6,"br"),t.EFF(7,"Report"),t.k0s(),t.j41(8,"h2",5),t.EFF(9," Sistem Pelaporan Kerusakan Lokasi"),t.nrm(10,"br"),t.EFF(11,"Dinas PUPR Kota Batu "),t.k0s()(),t.nrm(12,"img",6),t.k0s(),t.j41(13,"div",7)(14,"div",8)(15,"div",9)(16,"div",10)(17,"h1",11),t.EFF(18,"Selamat Datang"),t.k0s(),t.j41(19,"p",12),t.EFF(20," Masukan username dan kata sandi anda untuk masuk ke dalam dashboard "),t.k0s()(),t.j41(21,"div",13)(22,"h5",14),t.EFF(23,"Masuk"),t.k0s(),t.j41(24,"form",15),t.bIt("ngSubmit",function(){return r.onSubmit()}),t.j41(25,"div",16)(26,"label",17),t.EFF(27,"Email/Username"),t.k0s(),t.nrm(28,"input",18),t.k0s(),t.j41(29,"div",16)(30,"label",19),t.EFF(31,"Password"),t.k0s(),t.j41(32,"div",20),t.nrm(33,"input",21),t.j41(34,"button",22),t.bIt("click",function(){return r.isShowPassword=!r.isShowPassword}),t.nrm(35,"i",23),t.k0s()()(),t.j41(36,"div",24)(37,"div",25),t.nrm(38,"input",26),t.j41(39,"label",27),t.EFF(40," Ingat saya "),t.k0s()()(),t.j41(41,"button",28),t.DNE(42,p,1,0,"span",29),t.DNE(43,b,2,0,"span",30),t.k0s()()()(),t.j41(44,"p",31),t.EFF(45," \xa9 All Right Reversed by Dinas PUPR Kota Batu "),t.k0s()()()()),2&i&&(t.R7$(24),t.Y8G("formGroup",r.form),t.R7$(9),t.Y8G("type",r.isShowPassword?"text":"password"),t.R7$(2),t.Y8G("ngClass",r.isShowPassword?"bi-eye-slash":"bi-eye"),t.R7$(6),t.Y8G("disabled",r.form.invalid||r.isFormSubmitted),t.R7$(1),t.Y8G("ngIf",r.isFormSubmitted),t.R7$(1),t.Y8G("ngIf",!r.isFormSubmitted))},dependencies:[n.YU,n.bT,s.qT,s.me,s.Zm,s.BC,s.cb,s.j4,s.JD]})}}return e})()}];let c=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=t.$C({type:e})}static{this.\u0275inj=t.G2t({imports:[n.MD,m.iI.forChild(f),s.X1]})}}return e})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/186.9e3760d3c202465a.js b/frontend-roadreport-deploy/dist/road-report/186.9e3760d3c202465a.js new file mode 100644 index 0000000..5c55ed5 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/186.9e3760d3c202465a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[186],{2186:(V,g,r)=>{r.r(g),r.d(g,{LaporanModule:()=>X});var p=r(177),_=r(2665),t=r(8699),u=r(8185),F=r(5471),k=r(1991),j=r(1626),m=r(7110);let L=(()=>{class n extends k.G{constructor(e,a){super(e,a),this.http=e,this.helpers=a}static{this.\u0275fac=function(a){return new(a||n)(t.KVO(j.Qq),t.KVO(m.V))}}static{this.\u0275prov=t.jDH({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var l=r(6803),R=r(5211),C=r(2423),c=r(9417);function I(n,i){if(1&n&&(t.j41(0,"div",14),t.nrm(1,"i",15)(2,"input",16),t.k0s()),2&n){const e=t.XpG();t.R7$(2),t.Y8G("formControl",e.searchForm)("readonly",0===e.dataSourceLength&&e.queries.filter&&!e.queries.search)}}function y(n,i){if(1&n){const e=t.RV6();t.j41(0,"button",17),t.bIt("click",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.export())}),t.nrm(1,"i",18),t.EFF(2," Export PDF "),t.k0s()}}function v(n,i){if(1&n){const e=t.RV6();t.j41(0,"button",11),t.bIt("click",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.applyFilter("PROG"))}),t.EFF(1," Dalam Proses "),t.k0s()}if(2&n){const e=t.XpG();t.AVh("active","PROG"===e.statusId)}}function E(n,i){if(1&n){const e=t.RV6();t.j41(0,"button",11),t.bIt("click",function(){t.eBV(e);const o=t.XpG();return t.Njj(o.applyFilter("RJT"))}),t.EFF(1," Ditolak "),t.k0s()}if(2&n){const e=t.XpG();t.AVh("active","RJT"===e.statusId)}}function T(n,i){1&n&&(t.j41(0,"p",19),t.nrm(1,"i",20),t.EFF(2," Belum ada data. "),t.k0s())}function x(n,i){1&n&&(t.j41(0,"p",19),t.nrm(1,"i",21),t.EFF(2," Tidak ada hasil pencarian "),t.k0s())}function G(n,i){if(1&n){const e=t.RV6();t.j41(0,"button",35),t.bIt("click",function(){t.eBV(e);const o=t.XpG().$implicit,s=t.XpG(2);return t.Njj(s.onDeleteData(o.id,o.user.fullname))}),t.EFF(1," Hapus "),t.k0s()}}const D=function(n,i,e,a,o,s){return{"bg-primary":n,"bg-warning":i,"bg-danger":e,"bg-info":a,"bg-secondary":o,"bg-success":s,"text-nowrap text-white text-center rounded-2 px-2 py-2":!0,"d-block":!0}};function S(n,i){if(1&n){const e=t.RV6();t.j41(0,"tr")(1,"td"),t.EFF(2),t.nI1(3,"date"),t.k0s(),t.j41(4,"td"),t.EFF(5),t.k0s(),t.j41(6,"td"),t.EFF(7),t.k0s(),t.j41(8,"td")(9,"small",30),t.EFF(10),t.k0s()(),t.j41(11,"td")(12,"a",31),t.EFF(13),t.k0s()(),t.j41(14,"td"),t.EFF(15),t.k0s(),t.j41(16,"td")(17,"div",32)(18,"button",33),t.bIt("click",function(){const s=t.eBV(e).$implicit,d=t.XpG(2);return t.Njj(d.goToDetail(s.id))}),t.EFF(19," Detail "),t.k0s(),t.DNE(20,G,2,0,"button",34),t.k0s()()()}if(2&n){const e=i.$implicit,a=t.XpG(2);t.R7$(2),t.JRh(t.i5U(3,12,e.created_at,"dd/MM/yyyy")),t.R7$(3),t.JRh(e.no_ticket),t.R7$(2),t.JRh(e.user.fullname),t.R7$(2),t.Y8G("ngClass",t.l4e(15,D,"PROG"===e.status_report.id,"FOLUP"===e.status_report.id,"RJT"===e.status_report.id,"RPR"===e.status_report.id,"FIXED"===e.status_report.id,"DONE"===e.status_report.id)),t.R7$(1),t.SpI(" ","DONE"===e.status_report.id?"Selesai":e.status_report.name," "),t.R7$(2),t.FRS("href","https://www.google.com/maps/search/?api=1&query=",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[1],",",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[0],"&zoom=15&markers=",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[1],",",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[0],"",t.B4B),t.R7$(1),t.SpI(" ","["+a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates.reverse().join(", ")+"]"," "),t.R7$(2),t.SpI(" ",e.segmens.length>0?e.segmens[e.segmens.length-1].segmen.name:"-"," "),t.R7$(5),t.Y8G("ngIf",a.isPNGL())}}function $(n,i){if(1&n&&(t.j41(0,"option",36),t.EFF(1),t.k0s()),2&n){const e=i.$implicit,a=t.XpG(2);t.Y8G("value",e)("selected",e===a.queryLimit),t.R7$(1),t.SpI(" ",e," ")}}function P(n,i){if(1&n){const e=t.RV6();t.qex(0),t.j41(1,"div",22)(2,"table",23)(3,"thead")(4,"tr")(5,"th"),t.EFF(6,"Tanggal"),t.k0s(),t.j41(7,"th"),t.EFF(8,"No Tiket"),t.k0s(),t.j41(9,"th"),t.EFF(10,"Nama Pelapor"),t.k0s(),t.j41(11,"th"),t.EFF(12,"Status"),t.k0s(),t.j41(13,"th"),t.EFF(14,"Lihat Maps"),t.k0s(),t.j41(15,"th"),t.EFF(16,"Lokasi"),t.k0s(),t.j41(17,"th"),t.EFF(18,"Aksi"),t.k0s()()(),t.j41(19,"tbody"),t.DNE(20,S,21,22,"tr",24),t.k0s()()(),t.j41(21,"div",25)(22,"div",26)(23,"span"),t.EFF(24,"Item per halalaman"),t.k0s(),t.j41(25,"select",27),t.bIt("change",function(o){t.eBV(e);const s=t.XpG();return t.Njj(s.onPageSizeChange(o))}),t.DNE(26,$,2,3,"option",28),t.k0s(),t.j41(27,"span"),t.EFF(28),t.k0s()(),t.j41(29,"ngb-pagination",29),t.bIt("pageChange",function(o){t.eBV(e);const s=t.XpG();return t.Njj(s.queryPage=o)})("pageChange",function(o){t.eBV(e);const s=t.XpG();return t.Njj(s.onPaginateChange(o))}),t.k0s()(),t.bVm()}if(2&n){const e=t.XpG();t.R7$(20),t.Y8G("ngForOf",e.dataSource),t.R7$(6),t.Y8G("ngForOf",e.pageSizeOptions),t.R7$(2),t.SpI("dari ",e.dataSourceLength,""),t.R7$(1),t.Y8G("collectionSize",e.dataSourceLength)("page",e.queryPage)("maxSize",5)("pageSize",e.queryLimit)("rotate",!0)("ellipses",!1)("boundaryLinks",!1)("directionLinks",!0)}}const N=[{path:"",component:(()=>{class n extends _.v{constructor(e,a,o,s,d,h,f,b){super(h,b,f,d),this.activatedRoute=e,this.router=a,this.auth=o,this.exportAll=s,this.modal=d,this.helpers=h,this.api=f,this.loading=b,this.statusId="",this.field={eq:this.statusId},this.searchFields="no_ticket,user.fullname,segmens.segmen.name",this.api.endpoint="report-list",this.queries={page:1,sort:"-created_at",limit:10,embed:"status_report,user,segmens,segmens.segmen,segmens.photos"},"PNGL"==this.auth.getLoggedUser().role.code&&(this.api.endpoint="report-list/pengelola")}applyFilter(e){return this.statusId=e,""!==this.statusId?this.queries.filter={status_id:{eq:this.statusId}}:"SADM"==this.auth.getLoggedUser().role.code?delete this.queries.filter.status_id:this.queries.filter={status_id:{ne:"PROG,RJT"}},this.getAll(),!0}export(){this.loading.show(),this.exportAll.endpoint=`report-list/export-all/${this.statusId}`,this.exportAll.getAll().pipe().subscribe({next:e=>{const o=e.data.rel_path;setTimeout(()=>{window.open(o,"_blank")},500),window.open(o,"_blank"),this.loading.hide()},error:e=>{}})}goToDetail(e){"PNGL"==this.auth.getLoggedUser().role.code?this.router.navigate(["dashboard","data-laporan",e]):this.router.navigate([e],{relativeTo:this.activatedRoute})}isPNGL(){const e=this.auth.getLoggedUser();return!!e&&"SADM"===e.role.code}parsing(e){return JSON.parse(e)}static{this.\u0275fac=function(a){return new(a||n)(t.rXU(u.nX),t.rXU(u.Ix),t.rXU(F.u),t.rXU(L),t.rXU(l.Bq),t.rXU(m.V),t.rXU(R.Z),t.rXU(C.U))}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["app-laporan"]],features:[t.Vt3],decls:26,vars:16,consts:[[1,"mb-4","fw-bold"],[1,"rounded-3","p-4","bg-white"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3",3,"ngClass"],["class","form-group has-search d-flex align-items-center",4,"ngIf"],["ngbDropdown",""],["class","btn no-caret text-primary me-2","style","background-color: #eef0fd",3,"click",4,"ngIf"],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","text-primary",2,"background-color","#eef0fd"],[1,"ms-2","bi","bi-funnel","text-primary"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem","",1,"dropdown-item",3,"click"],["ngbDropdownItem","",3,"active","click",4,"ngIf"],["ngbDropdownItem","",3,"click"],["class","text-body-tertiary",4,"ngIf"],[4,"ngIf"],[1,"form-group","has-search","d-flex","align-items-center"],[1,"bi","bi-search","form-control-feedback","mx-auto","ms-3",2,"color","black"],["type","text","placeholder","Cari data...",1,"form-control","border-0","form-control",2,"background","#f2f2f2","height","48px",3,"formControl","readonly"],[1,"btn","no-caret","text-primary","me-2",2,"background-color","#eef0fd",3,"click"],[1,"bi","bi-file-earmark-text","text-primary"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"bi","bi-search"],[1,"table-responsive"],[1,"table"],[4,"ngFor","ngForOf"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap"],[1,"w-auto","d-flex","align-items-center","gap-2"],[1,"form-select","w-auto",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mb-n3",3,"collectionSize","page","maxSize","pageSize","rotate","ellipses","boundaryLinks","directionLinks","pageChange"],[3,"ngClass"],["target","_blank",1,"text-nowrap",3,"href"],[1,"d-flex"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"],["class","btn btn-outline-primary",3,"click",4,"ngIf"],[1,"btn","btn-outline-primary",3,"click"],[3,"value","selected"]],template:function(a,o){1&a&&(t.j41(0,"h4",0),t.EFF(1,"Data Laporan"),t.k0s(),t.j41(2,"div",1)(3,"div",2),t.DNE(4,I,3,2,"div",3),t.j41(5,"div",4),t.DNE(6,y,3,0,"button",5),t.j41(7,"button",6),t.EFF(8," Filter "),t.nrm(9,"i",7),t.k0s(),t.j41(10,"div",8)(11,"button",9),t.bIt("click",function(){return o.applyFilter("")}),t.EFF(12," Semua "),t.k0s(),t.DNE(13,v,2,2,"button",10),t.j41(14,"button",11),t.bIt("click",function(){return o.applyFilter("FOLUP")}),t.EFF(15," Ditindak Lanjuti "),t.k0s(),t.j41(16,"button",11),t.bIt("click",function(){return o.applyFilter("RPR")}),t.EFF(17," Perbaikan "),t.k0s(),t.j41(18,"button",11),t.bIt("click",function(){return o.applyFilter("FIXED")}),t.EFF(19," Selesai Perbaikan "),t.k0s(),t.DNE(20,E,2,2,"button",10),t.j41(21,"button",11),t.bIt("click",function(){return o.applyFilter("DONE")}),t.EFF(22," Selesai "),t.k0s()()()(),t.DNE(23,T,3,0,"p",12),t.DNE(24,x,3,0,"p",12),t.DNE(25,P,30,11,"ng-container",13),t.k0s()),2&a&&(t.R7$(3),t.Y8G("ngClass",o.dataSourceTotal>0?"justify-content-between":"justify-content-end"),t.R7$(1),t.Y8G("ngIf",o.dataSourceTotal>0),t.R7$(2),t.Y8G("ngIf",o.dataSourceTotal>0),t.R7$(7),t.Y8G("ngIf",o.isPNGL()),t.R7$(1),t.AVh("active","FOLUP"===o.statusId),t.R7$(2),t.AVh("active","RPR"===o.statusId),t.R7$(2),t.AVh("active","FIXED"===o.statusId),t.R7$(2),t.Y8G("ngIf",o.isPNGL()),t.R7$(1),t.AVh("active","DONE"===o.statusId),t.R7$(2),t.Y8G("ngIf",0==o.dataSourceTotal),t.R7$(1),t.Y8G("ngIf",o.dataSourceTotal>0&&0===o.dataSourceLength&&o.queries.search),t.R7$(1),t.Y8G("ngIf",o.dataSourceTotal>0&&o.dataSourceLength>0))},dependencies:[p.YU,p.Sq,p.bT,c.xH,c.y7,c.me,c.BC,c.l_,l.tg,l.do,l.U0,l._H,l.s5,p.vh],styles:[".has-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:3rem}.has-search[_ngcontent-%COMP%] .form-control-feedback[_ngcontent-%COMP%]{position:absolute}.form-control[_ngcontent-%COMP%]::placeholder{color:#bdbdbd}"]})}}return n})(),children:[]},{path:":id",loadChildren:()=>Promise.all([r.e(257),r.e(76),r.e(641)]).then(r.bind(r,6641)).then(n=>n.DetailModule)},{path:":id/tindak-lanjut",loadChildren:()=>Promise.all([r.e(76),r.e(367)]).then(r.bind(r,9367)).then(n=>n.TindakLanjutModule)}];let X=(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275mod=t.$C({type:n})}static{this.\u0275inj=t.G2t({imports:[p.MD,u.iI.forChild(N),c.X1,l.zH,l.c9]})}}return n})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/257.88b5a23227acab06.js b/frontend-roadreport-deploy/dist/road-report/257.88b5a23227acab06.js new file mode 100644 index 0000000..b770e4e --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/257.88b5a23227acab06.js @@ -0,0 +1 @@ +(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[257],{1200:(At,dt,v)=>{"use strict";v.d(dt,{B:()=>h});var A=v(1991),I=v(8699),o=v(1626),a=v(7110);let h=(()=>{class l extends A.G{constructor(m,d){super(m,d),this.http=m,this.helpers=d,this.endpoint="report-segmens"}static{this.\u0275fac=function(d){return new(d||l)(I.KVO(o.Qq),I.KVO(a.V))}}static{this.\u0275prov=I.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}}return l})()},4576:(At,dt,v)=>{"use strict";v.d(dt,{_:()=>h});var A=v(1991),I=v(8699),o=v(1626),a=v(7110);let h=(()=>{class l extends A.G{constructor(m,d){super(m,d),this.http=m,this.helpers=d,this.endpoint="sub-district"}static{this.\u0275fac=function(d){return new(d||l)(I.KVO(o.Qq),I.KVO(a.V))}}static{this.\u0275prov=I.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}}return l})()},5731:(At,dt,v)=>{"use strict";v.d(dt,{c:()=>h});var A=v(1991),I=v(8699),o=v(1626),a=v(7110);let h=(()=>{class l extends A.G{constructor(m,d){super(m,d),this.http=m,this.helpers=d,this.endpoint="report-schedules/detail"}static{this.\u0275fac=function(d){return new(d||l)(I.KVO(o.Qq),I.KVO(a.V))}}static{this.\u0275prov=I.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}}return l})()},2257:(At,dt,v)=>{"use strict";v.d(dt,{i:()=>et});var A=v(177),I=v(5946),o=v(6803),a=v(8244),m=(v(6484),v(7374)),c=v(8699),y=v(7110),T=v(2423),P=v(5211),W=v(1200),O=v(4576),k=v(5731);function g(rt,Rt){if(1&rt&&(c.j41(0,"li",13),c.nrm(1,"span",14),c.j41(2,"span",15),c.EFF(3),c.k0s()()),2&rt){const x=Rt.$implicit,B=c.XpG(2);c.R7$(1),c.xc7("background-color","DSS"===B.selectedOption?B.getColorByStatusDss(x.status):B.getColorByStatusTitikLaporan(x.status)),c.R7$(1),c.Y8G("ngClass","DSS"===B.selectedOption?B.getColorByStatusDss(x.status):B.getColorByStatusTitikLaporan(x.status)),c.R7$(1),c.SpI(" ",x.status,"")}}function S(rt,Rt){if(1&rt){const x=c.RV6();c.j41(0,"ul",10,11),c.bIt("ngbCollapseChange",function(C){c.eBV(x);const U=c.XpG();return c.Njj(U.isCollapsed=C)}),c.DNE(2,g,4,4,"li",12),c.k0s()}if(2&rt){const x=c.XpG();c.xc7("width","DSS"===x.selectedOption?260:190,"px"),c.Y8G("ngbCollapse",x.isCollapsed),c.R7$(2),c.Y8G("ngForOf","DSS"===x.selectedOption?x.statusDss:x.statusTitikLaporan)}}function b(rt,Rt){if(1&rt){const x=c.RV6();c.j41(0,"div",16)(1,"button",17),c.EFF(2),c.k0s(),c.j41(3,"div",18)(4,"button",19),c.bIt("click",function(){c.eBV(x);const C=c.XpG();return c.Njj(C.onOptionChange("DSS"))}),c.EFF(5," DSS "),c.k0s(),c.j41(6,"button",19),c.bIt("click",function(){c.eBV(x);const C=c.XpG();return c.Njj(C.onOptionChange("Titik Laporan"))}),c.EFF(7," Titik Laporan "),c.k0s()()()}if(2&rt){const x=c.XpG();c.R7$(2),c.SpI(" ",x.selectedOption," ")}}let et=(()=>{class rt{constructor(x,B,C,U,q,Q,ft){this.helpers=x,this.loading=B,this.api=C,this.modal=U,this.reportSegmens=q,this.subDistrict=Q,this.perbaikan=ft,this.isExpand=!0,this.polylineData=a.layerGroup(),this.showOption=!0,this.showStatus=!0,this.allowDragging=!0,this.cnterLatLng={lat:-7.869576,lng:112.5309706},this.scheduleLayer=new a.FeatureGroup,this.polylineLayer=new a.FeatureGroup,this.polygonLayer=new a.FeatureGroup,this.pointLayer=new a.FeatureGroup,this.selectedData=[],this.selectedOption="DSS",this.zoom=14,this.lat=-7.8699381,this.lng=112.5285772,this.dayjs=m,this.mapOptions={layers:[(0,a.tileLayer)("http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga",{maxZoom:22,minZoom:11})],scrollWheelZoom:!1,zoom:this.zoom,dragging:this.allowDragging,doubleClickZoom:!1,touchZoom:!1,tap:!1,center:(0,a.latLng)(this.lat,this.lng)},this.isCollapsed=!1,this.statusDss=[],this.statusTitikLaporan=[],this.embedReportSegments={embed:"segmen,analytic_data"},this.embedReportSegmentsPerbaikan={embed:"user.user,user.segmens.segmen,user.status_report"},this.embedReportSchedule={embed:"user.user,user.segmens.segmen,user.status_report"},this.embedReportList={embed:"segmens.segmen,segmens.analytic_data,segmens.photos,status_report,user"}}initMap(x){this.map||(this.map=x),this.map.zoomControl.setPosition("bottomright")}ngAfterViewInit(){window.dispatchEvent(new Event("resize"))}ngOnChanges(x){x.allowDragging&&(this.mapOptions.dragging=this.allowDragging)}ngOnInit(){null==this.polylineData.segmen&&null==this.perbaikanSegmen?(this.getSubDistrict(),this.getReportSegmens()):null!=this.perbaikanSegmen?this.getReportSegmensBySchedule():this.getReportSegmentById(),this.condition()}toggleCollapse(){this.isCollapsed||this.getStatusDss(),this.isCollapsed=!this.isCollapsed}toggleFullscreen(){const x=document.getElementById("map");x&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():x.requestFullscreen&&x.requestFullscreen())}onOptionChange(x){this.selectedOption=x,this.map&&(this.map.removeLayer(this.pointLayer),this.map.removeLayer(this.polygonLayer),this.map.removeLayer(this.polylineLayer)),this.selectedData=[],"DSS"===x?this.map&&this.map.closePopup():"Titik Laporan"===x&&(this.getStatusTitik(),this.getStatusSegmenByReport()),this.map&&("DSS"===x?(this.polygonLayer.addTo(this.map),this.polylineLayer.addTo(this.map)):"point"===x&&this.pointLayer.addTo(this.map))}createCustomIcon(x,B,C){return new a.DivIcon({className:"custom-icon",html:``,iconSize:[B,C],iconAnchor:[B/2,C]})}addMarkers(x){const C={iconUrl:this.getIconByStatus(x),iconSize:[32,32]};return a.icon(C)}getIconByStatus(x){switch(x){case"PROG":return"assets/images/icon/marker-dalam_proses.png";case"FOLUP":return"assets/images/icon/marker-tindak_lanjut.png";case"DONE":return"assets/images/icon/marker-selesai.png";case"RPR":return"assets/images/icon/marker-perbaikan.png";case"FIXED":return"assets/images/icon/marker-selesai-perbaikan.png";default:return"assets/images/icon/marker-default.png"}}getColorByStatusTitikLaporan(x){return{"Dalam Proses":"#586AF5","Tindak Lanjut":"#FFAB00","Selesai Perbaikan":"#663000",Perbaikan:"#F35625",Selesai:"#24D07A"}[x]||"transparent"}getStatusDss(){const x={"Berlubang Parah":"#215A99","Berlubang Sedang":"#2B79CC","Berlubang Ringan":"#87C0FF","Terkelupas Parah":"#18795F","Terkelupas Sedang":"#1CA762","Terkelupas Ringan":"#4FDA95","Retak Parah":"#992A44","Retak Sedang":"#FF4671","Retak Ringan":"#FF90AA","Bergelombang Parah":"#322564","Bergelombang Sedang":"#644BC8","Bergelombang Ringan":"#977EFB","PermukaanKasar Berat":"#CCCC00","PermukaanKasar Sedang":"#FFFF00","PermukaanKasar Ringan":"#FFFF66"},B=Object.values(x);this.statusDss=Object.keys(x).map((C,U)=>({status:C,jumlah:0,color:B[U]}))}getStatusTitik(){const x={"Dalam Proses":"#586AF5","Tindak Lanjut":"#FFAB00","Selesai Perbaikan":"#663000",Perbaikan:"#F35625",Selesai:"#24D07A"},B=Object.values(x);this.statusTitikLaporan=Object.keys(x).map((C,U)=>({status:C,jumlah:0,color:B[U]}))}getColorByStatusDss(x,B){const U={"- -":"#EC8F5E","Berlubang Parah":"#215A99","Berlubang Sedang":"#2B79CC","Berlubang Ringan":"#87C0FF","Terkelupas Parah":"#18795F","Terkelupas Sedang":"#1CA762","Terkelupas Ringan":"#4FDA95","Retak Parah":"#992A44","Retak Sedang":"#FF4671","Retak Ringan":"#FF90AA","Bergelombang Parah":"#322564","Bergelombang Sedang":"#644BC8","Bergelombang Ringan":"#977EFB","PermukaanKasar Berat":"#CCCC00","PermukaanKasar Sedang":"#FFFF00","PermukaanKasar Ringan":"#FFFF66"};return U[`${x} ${B}`]||U[x]}condition(){return 0===this.polylineLayer.getLayers().length}sortCustomDss(){this.statusTitikLaporan.sort((x,B)=>{const C=["Dalam Proses","Ditindak Lanjuti","Perbaikan","Selesai"];return C.indexOf(x.status)-C.indexOf(B.status)})}sortByCustomOrder(){this.statusDss.sort((x,B)=>{const C=["Berlubang Parah","Berlubang Sedang","Berlubang Ringan","Terkelupas Parah","Terkelupas Sedang","Terkelupas Ringan","Retak Parah","Retak Sedang","Retak Ringan","Bergelombang Parah","Bergelombang Sedang","Bergelombang Ringan","NULL"];return C.indexOf(x.status)-C.indexOf(B.status)})}getReportSegmensBySchedule(){this.mapOptions.zoom=18,this.mapOptions.dragging=!1,this.perbaikan.getById(this.perbaikanSegmen).subscribe(x=>{const B=x.data.report.segmens;for(const C of B){const q=JSON.parse(C.segmen.geojson).coordinates,Q=q[0];this.lat=Q[1],this.lng=Q[0];const ft=q.map(yt=>({lat:yt[1],lng:yt[0]})),z=new a.Polyline(ft,{color:"#586AF5",weight:8});z.on("mouseover",function(){}),this.scheduleLayer.addLayer(z)}this.map&&(this.map?.panTo((0,a.latLng)(this.lat,this.lng)),this.scheduleLayer.addTo(this.map))})}getReportSegmentById(){this.loading.isLoading(),this.mapOptions.zoom=19,this.mapOptions.dragging=!1,this.reportSegmens.getById(this.polylineData.id).subscribe({next:({})=>{const B=JSON.parse(this.polylineData.segmen.geojson).coordinates,C=B[0];this.lat=C[1],this.lng=C[0];const U=B.map(Y=>({lat:Y[1],lng:Y[0]})),q=this.polylineData.user_level,Q=this.polylineData.user_type,ft=new a.Polyline(U,{color:this.getColorByStatusDss(Q,q),weight:8});console.log(Q,q),this.map&&(this.polylineLayer.addTo(this.map),this.map.setZoom(this.mapOptions.zoom)),this.map?.panTo((0,a.latLng)(this.lat,this.lng)),this.polylineLayer.addLayer(ft)},error:()=>{}})}getReportSegmens(){this.loading.isLoading(),this.reportSegmens.getAll(this.embedReportSegments).subscribe(x=>{const B=x.data;if(B&&B.length>0){this.polylineLayer.clearLayers();for(const C of B){const Q=JSON.parse(C.segmen.geojson).coordinates.map(z=>({lat:z[1],lng:z[0]})),$=new a.Polyline(Q,{color:this.getColorByStatusDss(C.user_type,C.user_level),weight:5});this.polylineLayer.addLayer($)}this.map&&this.polylineLayer.addTo(this.map)}},x=>{})}getStatusSegmenByReport(){this.api.getAll(this.embedReportList).subscribe(x=>{const B=x.data;if(B&&B[0]?.segmens&&B[0]?.segmens.length>0){this.pointLayer.clearLayers();for(const C of B){const U=C.segmens;for(const q of U){const Y=JSON.parse(q?.segmen?.geojson).coordinates.map(yt=>({lat:yt[1],lng:yt[0]})),$=q.user_type+" "+q.user_level,z=C.status_id;if("RJT"!==z){const yt=a.icon({iconUrl:this.getIconByStatus(z),iconSize:[32,32],iconAnchor:[16,32]}),Z=a.marker(Y[0],{icon:yt}).addTo(this.pointLayer);this.pointLayer.setStyle({className:"mask"}),Z.addTo(this.pointLayer),Z.on("click",X=>{for(const ht of q.photos)this.map&&a.popup({className:"custom-popup"}).setLatLng(X.latlng).setContent(`\n
\n
\n
\n

\n ${C.status_report.name}\n

\n

\n No.Tiket ${C.no_ticket}\n

\n
\n\n
\n \n
\n
\n \n Nama ${C.user.fullname}\n
\n
\n \n ${q.segmen.name}\n
\n
\n \n ${m(C.created_at).format("DD-MM-YYYY")}\n
\n
\n
\n\n
\n \n \n ${"-"===q.user_type&&"-"===q.user_level?"Belum Diketahui":`${q.user_type}${q.user_level}`}\n \n
\n\n

\n ${C.note}\n

\n
\n
\n `).openOn(this.map)})}this.getColorByStatusTitikLaporan(C.status_report.name)}}this.getStatusTitik(),this.map&&this.pointLayer.addTo(this.map)}})}getSubDistrict(){this.subDistrict.getAll().subscribe(x=>{const B=x.data;if(B&&B.length>0){this.polygonLayer.clearLayers();for(const C of B){const U=JSON.parse(C.geojson),q=a.geoJSON(U,{style:{fillColor:"green",weight:2,color:"white"}});q.on("click",Q=>{const ft=Q.target,Y=C.name,$=a.popup().setContent(Y);ft.bindPopup($).openPopup()}),q.addTo(this.polygonLayer)}this.map&&this.polygonLayer.addTo(this.map)}},x=>{})}static{this.\u0275fac=function(B){return new(B||rt)(c.rXU(y.V),c.rXU(T.U),c.rXU(P.Z),c.rXU(o.Bq),c.rXU(W.B),c.rXU(O._),c.rXU(k.c))}}static{this.\u0275cmp=c.VBU({type:rt,selectors:[["app-map"]],inputs:{polylineData:"polylineData",perbaikanSegmen:"perbaikanSegmen",showOption:"showOption",showStatus:"showStatus",allowDragging:"allowDragging",cnterLatLng:"cnterLatLng"},standalone:!0,features:[c.OA$,c.aNF],decls:12,vars:4,consts:[["id","map",1,"w-100","position-relative","rounded-3","overflow-hidden","bg-secondary-subtle",2,"height","470px"],["id","status",1,"position-absolute","z-1","ms-3","mt-3"],["type","button","aria-controls","collapseExample",1,"btn","btn-light","fw-light","mb-2",3,"click"],[1,"bi","bi-info-circle","me-1","text-primary"],["class","list-unstyled d-flex flex-column row-gap-1 rounded-2 bg-white bg-opacity-75 p-3 mb-0","style","overflow: auto; max-height: 400px",3,"ngbCollapse","width","ngbCollapseChange",4,"ngIf"],["id","optionData",1,"position-absolute","z-1","me-3","mt-3","d-flex",2,"right","0"],["ngbDropdown","","class","d-inline-block",4,"ngIf"],[1,"btn","btn-light",3,"click"],[3,"ngClass"],["leaflet","",1,"tes","position-relative","z-0","w-100","h-100",3,"leafletOptions","leafletMapReady"],[1,"list-unstyled","d-flex","flex-column","row-gap-1","rounded-2","bg-white","bg-opacity-75","p-3","mb-0",2,"overflow","auto","max-height","400px",3,"ngbCollapse","ngbCollapseChange"],["collapse","ngbCollapse"],["class","d-flex align-items-center",4,"ngFor","ngForOf"],[1,"d-flex","align-items-center"],[1,"p-1","rounded-circle","bg-status","me-2"],[1,"status-text",3,"ngClass"],["ngbDropdown","",1,"d-inline-block"],["type","button","id","dropdownBasic1","ngbDropdownToggle","",1,"btn","btn-primary","me-2"],["ngbDropdownMenu","","aria-labelledby","dropdownBasic1"],["ngbDropdownItem","",1,"py-2","px-2",3,"click"]],template:function(B,C){1&B&&(c.j41(0,"div",0)(1,"div")(2,"div",1)(3,"button",2),c.bIt("click",function(){return C.toggleCollapse()}),c.nrm(4,"i",3),c.EFF(5," Info Garis "),c.k0s(),c.DNE(6,S,3,4,"ul",4),c.k0s()(),c.j41(7,"div",5),c.DNE(8,b,8,1,"div",6),c.j41(9,"button",7),c.bIt("click",function(){return C.isExpand=!C.isExpand})("click",function(){return C.toggleFullscreen()}),c.nrm(10,"i",8),c.k0s()(),c.j41(11,"div",9),c.bIt("leafletMapReady",function(q){return C.initMap(q)}),c.k0s()()),2&B&&(c.R7$(6),c.Y8G("ngIf",C.isCollapsed),c.R7$(2),c.Y8G("ngIf",C.showOption),c.R7$(2),c.Y8G("ngClass",C.isExpand?"bi bi-arrows-angle-expand":"bi bi-arrows-angle-contract"),c.R7$(1),c.Y8G("leafletOptions",C.mapOptions))},dependencies:[A.MD,A.YU,A.Sq,A.bT,I.gI,I.V1,o.zH,o.tg,o.do,o.U0,o._H,o.oi,o.HC,o.$G,o.UN],styles:['.btn-custom[_ngcontent-%COMP%]{background-color:""}.leaflet-container.crosshair-cursor-enabled[_ngcontent-%COMP%]{cursor:default} .leaflet-interactive{cursor:default!important}.leaflet-marker-icon[_ngcontent-%COMP%] .leaflet-zoom-animated[_ngcontent-%COMP%] .leaflet-interactive[_ngcontent-%COMP%], .custom-popup[_ngcontent-%COMP%]{cursor:pointer!important}']})}}return rt})()},6484:function(At,dt){!function(v){"use strict";var A=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnEveryZoom:!1,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyShapePositions:null,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(o){L.Util.setOptions(this,o),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var a=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,a?this._withAnimation:this._noAnimation),this._markerCluster=a?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(o){if(o instanceof L.LayerGroup)return this.addLayers([o]);if(!o.getLatLng)return this._nonPointGroup.addLayer(o),this.fire("layeradd",{layer:o}),this;if(!this._map)return this._needsClustering.push(o),this.fire("layeradd",{layer:o}),this;if(this.hasLayer(o))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(o,this._maxZoom),this.fire("layeradd",{layer:o}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var a=o,h=this._zoom;if(o.__parent)for(;a.__parent._zoom>=h;)a=a.__parent;return this._currentShownBounds.contains(a.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(o,a):this._animationAddLayerNonAnimated(o,a)),this},removeLayer:function(o){return o instanceof L.LayerGroup?this.removeLayers([o]):o.getLatLng?this._map?o.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(o)),this._removeLayer(o,!0),this.fire("layerremove",{layer:o}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),o.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(o)&&(this._featureGroup.removeLayer(o),o.clusterShow&&o.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,o)&&this.hasLayer(o)&&this._needsRemoving.push({layer:o,latlng:o._latlng}),this.fire("layerremove",{layer:o}),this):(this._nonPointGroup.removeLayer(o),this.fire("layerremove",{layer:o}),this)},addLayers:function(o,a){if(!L.Util.isArray(o))return this.addLayer(o);var P,h=this._featureGroup,l=this._nonPointGroup,_=this.options.chunkedLoading,m=this.options.chunkInterval,d=this.options.chunkProgress,c=o.length,y=0,T=!0;if(this._map){var W=(new Date).getTime(),O=L.bind(function(){var g=(new Date).getTime();for(this._map&&this._unspiderfy&&this._unspiderfy();ym);y++)if((P=o[y])instanceof L.LayerGroup)T&&(o=o.slice(),T=!1),this._extractNonGroupLayers(P,o),c=o.length;else if(P.getLatLng){if(!this.hasLayer(P)&&(this._addLayer(P,this._maxZoom),a||this.fire("layeradd",{layer:P}),P.__parent&&2===P.__parent.getChildCount())){var b=P.__parent.getAllChildMarkers();h.removeLayer(b[0]===P?b[1]:b[0])}}else l.addLayer(P),a||this.fire("layeradd",{layer:P});d&&d(y,c,(new Date).getTime()-W),y===c?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(O,this.options.chunkDelay)},this);O()}else for(var k=this._needsClustering;y=0;a--)o.extend(this._needsClustering[a].getLatLng());return o.extend(this._nonPointGroup.getBounds()),o},eachLayer:function(o,a){var _,m,d,h=this._needsClustering.slice(),l=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(h),m=h.length-1;m>=0;m--){for(_=!0,d=l.length-1;d>=0;d--)if(l[d].layer===h[m]){_=!1;break}_&&o.call(a,h[m])}this._nonPointGroup.eachLayer(o,a)},getLayers:function(){var o=[];return this.eachLayer(function(a){o.push(a)}),o},getLayer:function(o){var a=null;return o=parseInt(o,10),this.eachLayer(function(h){L.stamp(h)===o&&(a=h)}),a},hasLayer:function(o){if(!o)return!1;var a,h=this._needsClustering;for(a=h.length-1;a>=0;a--)if(h[a]===o)return!0;for(a=(h=this._needsRemoving).length-1;a>=0;a--)if(h[a].layer===o)return!1;return!(!o.__parent||o.__parent._group!==this)||this._nonPointGroup.hasLayer(o)},zoomToShowLayer:function(o,a){var h=this._map;"function"!=typeof a&&(a=function(){});var l=function(){(h.hasLayer(o)||h.hasLayer(o.__parent))&&!this._inZoomAnimation&&(this._map.off("moveend",l,this),this.off("animationend",l,this),h.hasLayer(o)?a():o.__parent._icon&&(this.once("spiderfied",a,this),o.__parent.spiderfy()))};o._icon&&this._map.getBounds().contains(o.getLatLng())?a():o.__parent._zoom=0;h--)if(o[h]===a)return o.splice(h,1),!0},_removeFromGridUnclustered:function(o,a){for(var h=this._map,l=this._gridUnclustered,_=Math.floor(this._map.getMinZoom());a>=_&&l[a].removeObject(o,h.project(o.getLatLng(),a));a--);},_childMarkerDragStart:function(o){o.target.__dragStart=o.target._latlng},_childMarkerMoved:function(o){if(!this._ignoreMove&&!o.target.__dragStart){var a=o.target._popup&&o.target._popup.isOpen();this._moveChild(o.target,o.oldLatLng,o.latlng),a&&o.target.openPopup()}},_moveChild:function(o,a,h){o._latlng=a,this.removeLayer(o),o._latlng=h,this.addLayer(o)},_childMarkerDragEnd:function(o){var a=o.target.__dragStart;delete o.target.__dragStart,a&&this._moveChild(o.target,a,o.target._latlng)},_removeLayer:function(o,a,h){var l=this._gridClusters,_=this._gridUnclustered,m=this._featureGroup,d=this._map,c=Math.floor(this._map.getMinZoom());a&&this._removeFromGridUnclustered(o,this._maxZoom);var P,y=o.__parent;for(this._arraySplice(y._markers,o);y&&(y._childCount--,y._boundsNeedUpdate=!0,!(y._zoom"+a+"",className:"marker-cluster"+(h+=a<10?"small":a<100?"medium":"large"),iconSize:new L.Point(40,40)})},_bindEvents:function(){var o=this._map,h=this.options.showCoverageOnHover;(this.options.spiderfyOnMaxZoom||this.options.zoomToBoundsOnClick||this.options.spiderfyOnEveryZoom)&&this.on("clusterclick clusterkeypress",this._zoomOrSpiderfy,this),h&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),o.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(o){var a=o.layer,h=a;if("clusterkeypress"!==o.type||!o.originalEvent||13===o.originalEvent.keyCode){for(;1===h._childClusters.length;)h=h._childClusters[0];h._zoom===this._maxZoom&&h._childCount===a._childCount&&this.options.spiderfyOnMaxZoom?a.spiderfy():this.options.zoomToBoundsOnClick&&a.zoomToBounds(),this.options.spiderfyOnEveryZoom&&a.spiderfy(),o.originalEvent&&13===o.originalEvent.keyCode&&this._map._container.focus()}},_showCoverage:function(o){var a=this._map;this._inZoomAnimation||(this._shownPolygon&&a.removeLayer(this._shownPolygon),o.layer.getChildCount()>2&&o.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(o.layer.getConvexHull(),this.options.polygonOptions),a.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var a=this.options.showCoverageOnHover,_=this._map;(this.options.spiderfyOnMaxZoom||this.options.zoomToBoundsOnClick||this.options.spiderfyOnEveryZoom)&&this.off("clusterclick clusterkeypress",this._zoomOrSpiderfy,this),a&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),_.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var o=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,o),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),o),this._currentShownBounds=o}},_generateInitialClusters:function(){var o=Math.ceil(this._map.getMaxZoom()),a=Math.floor(this._map.getMinZoom()),h=this.options.maxClusterRadius,l=h;"function"!=typeof h&&(l=function(){return h}),null!==this.options.disableClusteringAtZoom&&(o=this.options.disableClusteringAtZoom-1),this._maxZoom=o,this._gridClusters={},this._gridUnclustered={};for(var _=o;_>=a;_--)this._gridClusters[_]=new L.DistanceGrid(l(_)),this._gridUnclustered[_]=new L.DistanceGrid(l(_));this._topClusterLevel=new this._markerCluster(this,a-1)},_addLayer:function(o,a){var m,d,h=this._gridClusters,l=this._gridUnclustered,_=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(o),o.on(this._childMarkerEventHandlers,this);a>=_;a--){m=this._map.project(o.getLatLng(),a);var c=h[a].getNearObject(m);if(c)return c._addChild(o),void(o.__parent=c);if(c=l[a].getNearObject(m)){var y=c.__parent;y&&this._removeLayer(c,!1);var T=new this._markerCluster(this,a,c,o);h[a].addObject(T,this._map.project(T._cLatLng,a)),c.__parent=T,o.__parent=T;var P=T;for(d=a-1;d>y._zoom;d--)P=new this._markerCluster(this,d,P),h[d].addObject(P,this._map.project(c.getLatLng(),d));return y._addChild(P),void this._removeFromGridUnclustered(c,a)}l[a].addObject(o,m)}this._topClusterLevel._addChild(o),o.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(o){o instanceof L.MarkerCluster&&o._iconNeedsUpdate&&o._updateIcon()})},_enqueue:function(o){this._queue.push(o),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var o=0;oo?(this._animationStart(),this._animationZoomOut(this._zoom,o)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(o){var a=this._maxLat;return void 0!==a&&(o.getNorth()>=a&&(o._northEast.lat=1/0),o.getSouth()<=-a&&(o._southWest.lat=-1/0)),o},_animationAddLayerNonAnimated:function(o,a){if(a===o)this._featureGroup.addLayer(o);else if(2===a._childCount){a._addToMap();var h=a.getAllChildMarkers();this._featureGroup.removeLayer(h[0]),this._featureGroup.removeLayer(h[1])}else a._updateIcon()},_extractNonGroupLayers:function(o,a){var _,h=o.getLayers(),l=0;for(a=a||[];l=0;m--)h.contains((T=y[m])._latlng)||l.removeLayer(T)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(h,a),l.eachLayer(function(d){!(d instanceof L.MarkerCluster)&&d._icon&&d.clusterShow()}),this._topClusterLevel._recursively(h,o,a,function(d){d._recursivelyRestoreChildPositions(a)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(h,o,_,function(d){l.removeLayer(d),d.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(o,a){this._animationZoomOutSingle(this._topClusterLevel,o-1,a),this._topClusterLevel._recursivelyAddChildrenToMap(null,a,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),o,this._getExpandedVisibleBounds())},_animationAddLayer:function(o,a){var h=this,l=this._featureGroup;l.addLayer(o),a!==o&&(a._childCount>2?(a._updateIcon(),this._forceLayout(),this._animationStart(),o._setPos(this._map.latLngToLayerPoint(a.getLatLng())),o.clusterHide(),this._enqueue(function(){l.removeLayer(o),o.clusterShow(),h._animationEnd()})):(this._forceLayout(),h._animationStart(),h._animationZoomOutSingle(a,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(o,a,h){var l=this._getExpandedVisibleBounds(),_=Math.floor(this._map.getMinZoom());o._recursivelyAnimateChildrenInAndAddSelfToMap(l,_,a+1,h);var m=this;this._forceLayout(),o._recursivelyBecomeVisible(l,h),this._enqueue(function(){if(1===o._childCount){var d=o._markers[0];this._ignoreMove=!0,d.setLatLng(d.getLatLng()),this._ignoreMove=!1,d.clusterShow&&d.clusterShow()}else o._recursively(l,h,_,function(c){c._recursivelyRemoveChildrenFromMap(l,_,a+1)});m._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(o){return new L.MarkerClusterGroup(o)};var I=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(o,a,h,l){L.Marker.prototype.initialize.call(this,h?h._cLatLng||h.getLatLng():new L.LatLng(0,0),{icon:this,pane:o.options.clusterPane}),this._group=o,this._zoom=a,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,h&&this._addChild(h),l&&this._addChild(l)},getAllChildMarkers:function(o,a){o=o||[];for(var h=this._childClusters.length-1;h>=0;h--)this._childClusters[h].getAllChildMarkers(o,a);for(var l=this._markers.length-1;l>=0;l--)a&&this._markers[l].__dragStart||o.push(this._markers[l]);return o},getChildCount:function(){return this._childCount},zoomToBounds:function(o){for(var d,a=this._childClusters.slice(),h=this._group._map,l=h.getBoundsZoom(this._bounds),_=this._zoom+1,m=h.getZoom();a.length>0&&l>_;){_++;var c=[];for(d=0;d_?this._group._map.setView(this._latlng,_):l<=m?this._group._map.setView(this._latlng,m+1):this._group._map.fitBounds(this._bounds,o)},getBounds:function(){var o=new L.LatLngBounds;return o.extend(this._bounds),o},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(o,a){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(o),o instanceof L.MarkerCluster?(a||(this._childClusters.push(o),o.__parent=this),this._childCount+=o._childCount):(a||this._markers.push(o),this._childCount++),this.__parent&&this.__parent._addChild(o,!0)},_setClusterCenter:function(o){this._cLatLng||(this._cLatLng=o._cLatLng||o._latlng)},_resetBounds:function(){var o=this._bounds;o._southWest&&(o._southWest.lat=1/0,o._southWest.lng=1/0),o._northEast&&(o._northEast.lat=-1/0,o._northEast.lng=-1/0)},_recalculateBounds:function(){var m,d,c,y,o=this._markers,a=this._childClusters,h=0,l=0,_=this._childCount;if(0!==_){for(this._resetBounds(),m=0;m=0;m--)(d=_[m])._icon&&(d._setPos(a),d.clusterHide())},function(l){var m,d,_=l._childClusters;for(m=_.length-1;m>=0;m--)(d=_[m])._icon&&(d._setPos(a),d.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(o,a,h,l){this._recursively(o,l,a,function(_){_._recursivelyAnimateChildrenIn(o,_._group._map.latLngToLayerPoint(_.getLatLng()).round(),h),_._isSingleParent()&&h-1===l?(_.clusterShow(),_._recursivelyRemoveChildrenFromMap(o,a,h)):_.clusterHide(),_._addToMap()})},_recursivelyBecomeVisible:function(o,a){this._recursively(o,this._group._map.getMinZoom(),a,null,function(h){h.clusterShow()})},_recursivelyAddChildrenToMap:function(o,a,h){this._recursively(h,this._group._map.getMinZoom()-1,a,function(l){if(a!==l._zoom)for(var _=l._markers.length-1;_>=0;_--){var m=l._markers[_];h.contains(m._latlng)&&(o&&(m._backupLatlng=m.getLatLng(),m.setLatLng(o),m.clusterHide&&m.clusterHide()),l._group._featureGroup.addLayer(m))}},function(l){l._addToMap(o)})},_recursivelyRestoreChildPositions:function(o){for(var a=this._markers.length-1;a>=0;a--){var h=this._markers[a];h._backupLatlng&&(h.setLatLng(h._backupLatlng),delete h._backupLatlng)}if(o-1===this._zoom)for(var l=this._childClusters.length-1;l>=0;l--)this._childClusters[l]._restorePosition();else for(var _=this._childClusters.length-1;_>=0;_--)this._childClusters[_]._recursivelyRestoreChildPositions(o)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(o,a,h,l){var _,m;this._recursively(o,a-1,h-1,function(d){for(m=d._markers.length-1;m>=0;m--)_=d._markers[m],(!l||!l.contains(_._latlng))&&(d._group._featureGroup.removeLayer(_),_.clusterShow&&_.clusterShow())},function(d){for(m=d._childClusters.length-1;m>=0;m--)_=d._childClusters[m],(!l||!l.contains(_._latlng))&&(d._group._featureGroup.removeLayer(_),_.clusterShow&&_.clusterShow())})},_recursively:function(o,a,h,l,_){var c,y,m=this._childClusters,d=this._zoom;if(a<=d&&(l&&l(this),_&&d===h&&_(this)),d=0;c--)(y=m[c])._boundsNeedUpdate&&y._recalculateBounds(),o.intersects(y._bounds)&&y._recursively(o,a,h,l,_)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var o=this.options.opacity;return this.setOpacity(0),this.options.opacity=o,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(o){this._cellSize=o,this._sqCellSize=o*o,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(o,a){var h=this._getCoord(a.x),l=this._getCoord(a.y),_=this._grid,m=_[l]=_[l]||{},d=m[h]=m[h]||[],c=L.Util.stamp(o);this._objectPoint[c]=a,d.push(o)},updateObject:function(o,a){this.removeObject(o),this.addObject(o,a)},removeObject:function(o,a){var c,y,h=this._getCoord(a.x),l=this._getCoord(a.y),_=this._grid,m=_[l]=_[l]||{},d=m[h]=m[h]||[];for(delete this._objectPoint[L.Util.stamp(o)],c=0,y=d.length;c=0;m--)(c=this.getDistant(d=a[m],o))>0&&(_.push(d),c>h&&(h=c,l=d));return{maxPoint:l,newPoints:_}},buildConvexHull:function(o,a){var h=[],l=this.findMostDistantPointFromBaseLine(o,a);return l.maxPoint?h=(h=h.concat(this.buildConvexHull([o[0],l.maxPoint],l.newPoints))).concat(this.buildConvexHull([l.maxPoint,o[1]],l.newPoints)):[o[0]]},getConvexHull:function(o){var W,a=!1,h=!1,l=!1,_=!1,m=null,d=null,c=null,y=null,T=null,P=null;for(W=o.length-1;W>=0;W--){var O=o[W];(!1===a||O.lat>a)&&(m=O,a=O.lat),(!1===h||O.latl)&&(c=O,l=O.lng),(!1===_||O.lng<_)&&(y=O,_=O.lng)}return h!==a?(P=d,T=m):(P=y,T=c),[].concat(this.buildConvexHull([P,T],o),this.buildConvexHull([T,P],o))}},L.MarkerCluster.include({getConvexHull:function(){var h,l,o=this.getAllChildMarkers(),a=[];for(l=o.length-1;l>=0;l--)h=o[l].getLatLng(),a.push(h);return L.QuickHull.getConvexHull(a)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var _,o=this.getAllChildMarkers(null,!0),l=this._group._map.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,this._group.options.spiderfyShapePositions?_=this._group.options.spiderfyShapePositions(o.length,l):o.length>=this._circleSpiralSwitchover?_=this._generatePointsSpiral(o.length,l):(l.y+=10,_=this._generatePointsCircle(o.length,l)),this._animationSpiderfy(o,_)}},unspiderfy:function(o){this._group._inZoomAnimation||(this._animationUnspiderfy(o),this._group._spiderfied=null)},_generatePointsCircle:function(o,a){var d,c,l=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+o)/this._2PI,_=this._2PI/o,m=[];for(l=Math.max(l,35),m.length=o,d=0;d=0;y--)y=0;m--)h.removeLayer(_=l[m]),_._preSpiderfyLatlng&&(_.setLatLng(_._preSpiderfyLatlng),delete _._preSpiderfyLatlng),_.setZIndexOffset&&_.setZIndexOffset(0),_._spiderLeg&&(a.removeLayer(_._spiderLeg),delete _._spiderLeg);o.fire("unspiderfied",{cluster:this,markers:l}),o._ignoreMove=!1,o._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(o,a){var d,c,y,T,h=this._group,l=h._map,_=h._featureGroup,m=this._group.options.spiderLegPolylineOptions;for(h._ignoreMove=!0,d=0;d=0;W--)b=_.layerPointToLatLng(a[W]),(O=o[W])._preSpiderfyLatlng=O._latlng,O.setLatLng(b),O.clusterShow&&O.clusterShow(),y&&((g=(k=O._spiderLeg)._path).style.strokeDashoffset=0,k.setStyle({opacity:P}));this.setOpacity(.3),l._ignoreMove=!1,setTimeout(function(){l._animationEnd(),l.fire("spiderfied",{cluster:h,markers:o})},200)},_animationUnspiderfy:function(o){var y,T,P,W,O,k,a=this,h=this._group,l=h._map,_=h._featureGroup,m=o?l._latLngToNewLayerPoint(this._latlng,o.zoom,o.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(null,!0),c=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),T=d.length-1;T>=0;T--)(y=d[T])._preSpiderfyLatlng&&(y.closePopup(),y.setLatLng(y._preSpiderfyLatlng),delete y._preSpiderfyLatlng,k=!0,y._setPos&&(y._setPos(m),k=!1),y.clusterHide&&(y.clusterHide(),k=!1),k&&_.removeLayer(y),c&&(O=(W=(P=y._spiderLeg)._path).getTotalLength()+.1,W.style.strokeDashoffset=O,P.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var g=0;for(T=d.length-1;T>=0;T--)(y=d[T])._spiderLeg&&g++;for(T=d.length-1;T>=0;T--)(y=d[T])._spiderLeg&&(y.clusterShow&&y.clusterShow(),y.setZIndexOffset&&y.setZIndexOffset(0),g>1&&_.removeLayer(y),l.removeLayer(y._spiderLeg),delete y._spiderLeg);h._animationEnd(),h.fire("unspiderfied",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(o){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(o))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(o){this._spiderfied&&this._spiderfied.unspiderfy(o)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(o){o._spiderLeg&&(this._featureGroup.removeLayer(o),o.clusterShow&&o.clusterShow(),o.setZIndexOffset&&o.setZIndexOffset(0),this._map.removeLayer(o._spiderLeg),delete o._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(o){return o?o instanceof L.MarkerClusterGroup?o=o._topClusterLevel.getAllChildMarkers():o instanceof L.LayerGroup?o=o._layers:o instanceof L.MarkerCluster?o=o.getAllChildMarkers():o instanceof L.Marker&&(o=[o]):o=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(o),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(o),this},_flagParentsIconsNeedUpdate:function(o){var a,h;for(a in o)for(h=o[a].__parent;h;)h._iconNeedsUpdate=!0,h=h.__parent},_refreshSingleMarkerModeMarkers:function(o){var a,h;for(a in o)this.hasLayer(h=o[a])&&h.setIcon(this._overrideMarkerIcon(h))}}),L.Marker.include({refreshIconOptions:function(o,a){var h=this.options.icon;return L.setOptions(h,o),this.setIcon(h),a&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),v.MarkerClusterGroup=A,v.MarkerCluster=I,Object.defineProperty(v,"__esModule",{value:!0})}(dt)},8244:function(At,dt){!function(v){"use strict";function I(t){var e,i,n,s;for(i=1,n=arguments.length;i"u")&&L&&L.Mixin){t=g(t)?t:[t];for(var e=0;e0?Math.floor(t):Math.ceil(t)};function Z(t,e,i){return t instanceof z?t:g(t)?new z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new z(t.x,t.y):new z(t,e,i)}function X(t,e){if(t)for(var i=e?[t,e]:t,n=0,s=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=ht(t);var e=this.min,i=this.max,n=t.min,s=t.max;return s.x>=e.x&&n.x<=i.x&&s.y>=e.y&&n.y<=i.y},overlaps:function(t){t=ht(t);var e=this.min,i=this.max,n=t.min,s=t.max;return s.x>e.x&&n.xe.y&&n.y=e.lat&&s.lat<=i.lat&&n.lng>=e.lng&&s.lng<=i.lng},intersects:function(t){t=it(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast();return s.lat>=e.lat&&n.lat<=i.lat&&s.lng>=e.lng&&n.lng<=i.lng},overlaps:function(t){t=it(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast();return s.lat>e.lat&&n.late.lng&&n.lng1,En=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",d,e),window.removeEventListener("testPassiveEventSupport",d,e)}catch{}return t}(),Bn=!!document.createElement("canvas").getContext,De=!(!document.createElementNS||!hi("svg").createSVGRect),zn=!!De&&function(){var t=document.createElement("div");return t.innerHTML="","http://www.w3.org/2000/svg"===(t.firstChild&&t.firstChild.namespaceURI)}(),Dn=!De&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch{return!1}}();function Lt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var E={ie:he,ielt9:yn,edge:ui,webkit:Ee,android:ci,android23:di,androidStock:wn,opera:Be,chrome:fi,gecko:_i,safari:Pn,phantom:pi,opera12:mi,win:Cn,ie3d:gi,webkit3d:ze,gecko3d:vi,any3d:xn,mobile:Xt,mobileWebkit:bn,mobileWebkit3d:Mn,msPointer:yi,pointer:Li,touch:Tn,touchNative:wi,mobileOpera:kn,mobileGecko:On,retina:Sn,passiveEvents:En,canvas:Bn,svg:De,vml:Dn,inlineSvg:zn,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Pi=E.msPointer?"MSPointerDown":"pointerdown",Ci=E.msPointer?"MSPointerMove":"pointermove",xi=E.msPointer?"MSPointerUp":"pointerup",bi=E.msPointer?"MSPointerCancel":"pointercancel",Ie={touchstart:Pi,touchmove:Ci,touchend:xi,touchcancel:bi},Mi={touchstart:function Gn(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&at(e),le(t,e)},touchmove:le,touchend:le,touchcancel:le},Nt={},Ti=!1;function An(t,e,i){return"touchstart"===e&&function Un(){Ti||(document.addEventListener(Pi,Nn,!0),document.addEventListener(Ci,Fn,!0),document.addEventListener(xi,ki,!0),document.addEventListener(bi,ki,!0),Ti=!0)}(),Mi[e]?(i=Mi[e].bind(this,i),t.addEventListener(Ie[e],i,!1),i):(console.warn("wrong event specified:",e),d)}function Nn(t){Nt[t.pointerId]=t}function Fn(t){Nt[t.pointerId]&&(Nt[t.pointerId]=t)}function ki(t){delete Nt[t.pointerId]}function le(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Nt)e.touches.push(Nt[i]);e.changedTouches=[e],t(e)}}var Wn=200;var Jt,Qt,Ne,fe,Ge,Ze=de(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Yt=de(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Oi="webkitTransition"===Yt||"OTransition"===Yt?Yt+"End":"transitionend";function Si(t){return"string"==typeof t?document.getElementById(t):t}function $t(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function V(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function J(t){var e=t.parentNode;e&&e.removeChild(t)}function ue(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function Ft(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function Ut(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function Ae(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=ce(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function N(t,e){if(void 0!==t.classList)for(var i=T(e),n=0,s=i.length;n0?2*window.devicePixelRatio:1;function Ii(t){return E.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Xn:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function Xe(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch{return!1}return i!==t}var Yn={__proto__:null,on:R,off:K,stopPropagation:Dt,disableScrollPropagation:qe,disableClickPropagation:ee,preventDefault:at,stop:It,getPropagationPath:zi,getMousePosition:Di,getWheelDelta:Ii,isExternalTarget:Xe,addListener:R,removeListener:K},Zi=$.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=zt(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=C(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,it(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=Z((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=Z(e.paddingBottomRight||e.padding||[0,0]),s=this.project(this.getCenter()),r=this.project(t),u=this.getPixelBounds(),f=ht([u.min.add(i),u.max.subtract(n)]),p=f.getSize();if(!f.contains(r)){this._enforcingBounds=!0;var w=r.subtract(f.getCenter()),M=f.extend(r).getSize().subtract(p);s.x+=w.x<0?-M.x:M.x,s.y+=w.y<0?-M.y:M.y,this.panTo(this.unproject(s),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=I({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),s=i.divideBy(2).round(),r=n.subtract(s);return r.x||r.y?(t.animate&&t.pan?this.panBy(r):(t.pan&&this._rawPanBy(r),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=I({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var n=new j(t.coords.latitude,t.coords.longitude),s=n.toBounds(2*t.coords.accuracy),r=this._locateOptions;if(r.setView){var u=this.getBoundsZoom(s);this.setView(n,r.maxZoom?Math.min(u,r.maxZoom):u)}var f={latlng:n,bounds:s,timestamp:t.timestamp};for(var p in t.coords)"number"==typeof t.coords[p]&&(f[p]=t.coords[p]);this.fire("locationfound",f)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),J(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(U(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)J(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var n=V("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new ut(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=it(t),i=Z(i||[0,0]);var n=this.getZoom()||0,s=this.getMinZoom(),r=this.getMaxZoom(),u=t.getNorthWest(),f=t.getSouthEast(),p=this.getSize().subtract(i),w=ht(this.project(f,n),this.project(u,n)).getSize(),M=E.any3d?this.options.zoomSnap:1,D=p.x/w.x,F=p.y/w.y,lt=e?Math.max(D,F):Math.min(D,F);return n=this.getScaleZoom(lt,n),M&&(n=Math.round(n/(M/100))*(M/100),n=e?Math.ceil(n/M)*M:Math.floor(n/M)*M),Math.max(s,Math.min(r,n))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new X(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,n=i.zoom(t*i.scale(e=void 0===e?this._zoom:e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(G(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(Z(t),e)},layerPointToLatLng:function(t){var e=Z(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(G(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(G(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(it(t))},distance:function(t,e){return this.options.crs.distance(G(t),G(e))},containerPointToLayerPoint:function(t){return Z(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return Z(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(Z(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(G(t)))},mouseEventToContainerPoint:function(t){return Di(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=Si(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");R(e,"scroll",this._onScroll,this),this._containerId=l(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&E.any3d,N(t,"leaflet-container"+(E.touch?" leaflet-touch":"")+(E.retina?" leaflet-retina":"")+(E.ielt9?" leaflet-oldie":"")+(E.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=$t(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),nt(this._mapPane,new z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(N(t.markerPane,"leaflet-zoom-hide"),N(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){nt(this._mapPane,new z(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var s=this._zoom!==e;this._moveStart(s,i)._move(t,e)._moveEnd(s),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var s=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((s||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return U(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){nt(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[l(this._container)]=this;var e=t?K:R;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),E.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){U(this._resizeRequest),this._resizeRequest=C(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var n,i=[],s="mouseout"===e||"mouseover"===e,r=t.target||t.srcElement,u=!1;r;){if((n=this._targets[l(r)])&&("click"===e||"preclick"===e)&&this._draggableMoved(n)){u=!0;break}if(n&&n.listens(e,!0)&&(s&&!Xe(r,t)||(i.push(n),s))||r===this._container)break;r=r.parentNode}return!i.length&&!u&&!s&&this.listens(e,!0)&&(i=[this]),i},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&He(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var n=I({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}var s=this._findEventTargets(t,e);if(i){for(var r=[],u=0;u0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=E.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){tt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=V("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(e){var i=Ze,n=this._proxy.style[i];Bt(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){J(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Bt(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(s)||(C(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,N(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&tt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});var gt=Q.extend({options:{position:"topright"},initialize:function(t){P(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return N(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(J(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ie=function(t){return new gt(t)};H.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=V("div",e+"control-container",this._container);function n(s,r){t[s+r]=V("div",e+s+" "+e+r,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)J(this._controlCorners[t]);J(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ai=gt.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1)?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(l(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var n,e=document.createElement("label"),i=this._map.hasLayer(t.layer);t.overlay?((n=document.createElement("input")).type="checkbox",n.className="leaflet-control-layers-selector",n.defaultChecked=i):n=this._createRadioElement("leaflet-base-layers_"+l(this),i),this._layerControlInputs.push(n),n.layerId=l(t.layer),R(n,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var r=document.createElement("span");return e.appendChild(r),r.appendChild(n),r.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){if(!this._preventClick){var e,i,t=this._layerControlInputs,n=[],s=[];this._handlingClick=!0;for(var r=t.length-1;r>=0;r--)i=this._getLayer((e=t[r]).layerId).layer,e.checked?n.push(i):e.checked||s.push(i);for(r=0;r=0;s--)i=this._getLayer((e=t[s]).layerId).layer,e.disabled=void 0!==i.options.minZoom&&ni.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,R(t,"click",at),this.expand();var e=this;setTimeout(function(){K(t,"click",at),e._preventClick=!1})}}),Ye=gt.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=V("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,s){var r=V("a",i,n);return r.innerHTML=t,r.href="#",r.title=e,r.setAttribute("role","button"),r.setAttribute("aria-label",e),ee(r),R(r,"click",It),R(r,"click",s,this),R(r,"click",this._refocusOnMap,this),r},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";tt(this._zoomInButton,e),tt(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(N(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(N(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});H.mergeOptions({zoomControl:!0}),H.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ye,this.addControl(this.zoomControl))});var Ri=gt.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=V("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=V("div",e,i)),t.imperial&&(this._iScale=V("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var i,n,s,e=3.2808399*t;e>5280?(n=this._getRoundNum(i=e/5280),this._updateScale(this._iScale,n+" mi",n/i)):(s=this._getRoundNum(e),this._updateScale(this._iScale,s+" ft",s/e))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),$e=gt.extend({options:{position:"bottomright",prefix:''+(E.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){P(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=V("div","leaflet-control-attribution"),ee(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});H.mergeOptions({attributionControl:!0}),H.addInitHook(function(){this.options.attributionControl&&(new $e).addTo(this)});gt.Layers=Ai,gt.Zoom=Ye,gt.Scale=Ri,gt.Attribution=$e,ie.layers=function(t,e,i){return new Ai(t,e,i)},ie.zoom=function(t){return new Ye(t)},ie.scale=function(t){return new Ri(t)},ie.attribution=function(t){return new $e(t)};var Pt=Q.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Pt.addTo=function(t,e){return t.addHandler(e,this),this};var ns={Events:Y},Ni=E.touch?"touchstart mousedown":"mousedown",St=$.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){P(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(R(this._dragStartTarget,Ni,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(St._dragging===this&&this.finishDrag(!0),K(this._dragStartTarget,Ni,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!Ae(this._element,"leaflet-zoom-anim"))){if(t.touches&&1!==t.touches.length)return void(St._dragging===this&&this.finishDrag());if(!(St._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(St._dragging=this,this._preventOutline&&He(this._element),Fe(),Jt(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ei(this._element);this._startPoint=new z(e.clientX,e.clientY),this._startPos=zt(this._element),this._parentScale=We(i);var n="mousedown"===t.type;R(document,n?"mousemove":"touchmove",this._onMove,this),R(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(this._enabled){if(t.touches&&t.touches.length>1)return void(this._moved=!0);var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new z(e.clientX,e.clientY)._subtract(this._startPoint);!i.x&&!i.y||Math.abs(i.x)+Math.abs(i.y)e&&(i.push(t[n]),s=n);return sr&&(u=f,r=p);r>i&&(e[u]=1,Qe(t,e,i,n,u),Qe(t,e,i,u,s))}function Vi(t,e,i,n,s){var f,p,w,r=n?Wi:Zt(t,i),u=Zt(e,i);for(Wi=u;;){if(!(r|u))return[t,e];if(r&u)return!1;w=Zt(p=pe(t,e,f=r||u,i,s),i),f===r?(t=p,r=w):(e=p,u=w)}}function pe(t,e,i,n,s){var w,M,r=e.x-t.x,u=e.y-t.y,f=n.min,p=n.max;return 8&i?(w=t.x+r*(p.y-t.y)/u,M=p.y):4&i?(w=t.x+r*(f.y-t.y)/u,M=f.y):2&i?(w=p.x,M=t.y+u*(p.x-t.x)/r):1&i&&(w=f.x,M=t.y+u*(f.x-t.x)/r),new z(w,M,s)}function Zt(t,e){var i=0;return t.xe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function hs(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function ne(t,e,i,n){var w,s=e.x,r=e.y,u=i.x-s,f=i.y-r,p=u*u+f*f;return p>0&&((w=((t.x-s)*u+(t.y-r)*f)/p)>1?(s=i.x,r=i.y):w>0&&(s+=u*w,r+=f*w)),u=t.x-s,f=t.y-r,n?u*u+f*f:new z(s,r)}function pt(t){return!g(t[0])||"object"!=typeof t[0][0]&&typeof t[0][0]<"u"}function ji(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),pt(t)}function Ki(t,e){var i,n,s,r,u,f,p,w;if(!t||0===t.length)throw new Error("latlngs not passed");pt(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var M=G([0,0]),D=it(t);D.getNorthWest().distanceTo(D.getSouthWest())*D.getNorthEast().distanceTo(D.getNorthWest())<1700&&(M=Je(t));var lt=t.length,ot=[];for(i=0;in){w=[f.x-(p=(r-n)/s)*(f.x-u.x),f.y-p*(f.y-u.y)];break}var ct=e.unproject(Z(w));return G([ct.lat+M.lat,ct.lng+M.lng])}var ls={__proto__:null,simplify:Gi,pointToSegmentDistance:Hi,closestPointOnSegment:function os(t,e,i){return ne(t,e,i)},clipSegment:Vi,_getEdgeIntersection:pe,_getBitCode:Zt,_sqClosestPointOnSegment:ne,isFlat:pt,_flat:ji,polylineCenter:Ki},ti={project:function(t){return new z(t.lng,t.lat)},unproject:function(t){return new j(t.y,t.x)},bounds:new X([-180,-90],[180,90])},ei={R:6378137,R_MINOR:6356752.314245179,bounds:new X([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,s=this.R_MINOR/i,r=Math.sqrt(1-s*s),u=r*Math.sin(n),f=Math.tan(Math.PI/4-n/2)/Math.pow((1-u)/(1+u),r/2);return n=-i*Math.log(Math.max(f,1e-10)),new z(t.lng*e*i,n)},unproject:function(t){for(var w,e=180/Math.PI,i=this.R,n=this.R_MINOR/i,s=Math.sqrt(1-n*n),r=Math.exp(-t.y/i),u=Math.PI/2-2*Math.atan(r),f=0,p=.1;f<15&&Math.abs(p)>1e-7;f++)w=s*Math.sin(u),w=Math.pow((1-w)/(1+w),s/2),u+=p=Math.PI/2-2*Math.atan(r*w)-u;return new j(u*e,t.x*e/i)}},us={__proto__:null,LonLat:ti,Mercator:ei,SphericalMercator:Te},cs=I({},Ot,{code:"EPSG:3395",projection:ei,transformation:function(){var t=.5/(Math.PI*ei.R);return qt(t,.5,-t,.5)}()}),qi=I({},Ot,{code:"EPSG:4326",projection:ti,transformation:qt(1/180,1,-1/180,.5)}),ds=I({},xt,{projection:ti,transformation:qt(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});xt.Earth=Ot,xt.EPSG3395=cs,xt.EPSG3857=Oe,xt.EPSG900913=vn,xt.EPSG4326=qi,xt.Simple=ds;var vt=$.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[l(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[l(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});H.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=l(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=l(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return l(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?g(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof j&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){Mt.prototype._setLatLngs.call(this,t),pt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return pt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new z(e,e);if(t=new X(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t)){if(this.options.noClip)return void(this._parts=this._rings);for(var r,n=0,s=this._rings.length;nt.y!=(s=i[f]).y>t.y&&t.x<(s.x-n.x)*(t.y-n.y)/(s.y-n.y)+n.x&&(e=!e);return e||Mt.prototype._containsPoint.call(this,t,!0)}});var Tt=bt.extend({initialize:function(t,e){P(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var i,n,s,e=g(t)?t:t.features;if(e){for(i=0,n=e.length;i0&&s.push(s[0].slice()),s}function Vt(t,e){return t.feature?I({},t.feature,{geometry:e}):we(e)}function we(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var oi={toGeoJSON:function(t){return Vt(this,{type:"Point",coordinates:si(this.getLatLng(),t)})}};function $i(t,e){return new Tt(t,e)}me.include(oi),ii.include(oi),ge.include(oi),Mt.include({toGeoJSON:function(t){var e=!pt(this._latlngs);return Vt(this,{type:(e?"Multi":"")+"LineString",coordinates:Le(this._latlngs,e?1:0,!1,t)})}}),Wt.include({toGeoJSON:function(t){var e=!pt(this._latlngs),i=e&&!pt(this._latlngs[0]),n=Le(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),Vt(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),Gt.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(i){e.push(i.toGeoJSON(t).geometry.coordinates)}),Vt(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return this.eachLayer(function(s){if(s.toGeoJSON){var r=s.toGeoJSON(t);if(i)n.push(r.geometry);else{var u=we(r);"FeatureCollection"===u.type?n.push.apply(n,u.features):n.push(u)}}}),i?Vt(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var ws=$i,Pe=vt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=it(e),P(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(N(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){J(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&Ft(this._image),this},bringToBack:function(){return this._map&&Ut(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=it(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:V("img");N(e,"leaflet-image-layer"),this._zoomAnimated&&N(e,"leaflet-zoom-animated"),this.options.className&&N(e,this.options.className),e.onselectstart=d,e.onmousemove=d,e.onload=a(this.fire,this,"load"),e.onerror=a(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;Bt(this._image,i,e)},_reset:function(){var t=this._image,e=new X(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();nt(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){_t(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&null!=this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Ji=Pe.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:V("video");if(N(e,"leaflet-image-layer"),this._zoomAnimated&&N(e,"leaflet-zoom-animated"),this.options.className&&N(e,this.options.className),e.onselectstart=d,e.onmousemove=d,e.onloadeddata=a(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],s=0;s0?n:[e.src]}else{g(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;rs?(e.height=s+"px",N(t,r)):tt(t,r),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();nt(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)return void(this._autopanning=!1);var t=this._map,e=parseInt($t(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,s=new z(this._containerLeft,-i-this._containerBottom);s._add(zt(this._container));var r=t.layerPointToContainerPoint(s),u=Z(this.options.autoPanPadding),f=Z(this.options.autoPanPaddingTopLeft||u),p=Z(this.options.autoPanPaddingBottomRight||u),w=t.getSize(),M=0,D=0;r.x+n+p.x>w.x&&(M=r.x+n-w.x+p.x),r.x-M-f.x<0&&(M=r.x-f.x),r.y+i+p.y>w.y&&(D=r.y+i-w.y+p.y),r.y-D-f.y<0&&(D=r.y-f.y),(M||D)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([M,D]))}},_getAnchor:function(){return Z(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});H.mergeOptions({closePopupOnClick:!0}),H.include({openPopup:function(t,e,i){return this._initOverlay(Ce,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),vt.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Ce,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof bt||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){It(t);var e=t.layer||t.target;if(this._popup._source===e&&!(e instanceof Et))return void(this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng));this._popup._source=e,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var xe=Ct.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ct.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ct.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ct.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){this._contentNode=this._container=V("div","leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide")),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+l(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,s=this._container,r=n.latLngToContainerPoint(n.getCenter()),u=n.layerPointToContainerPoint(t),f=this.options.direction,p=s.offsetWidth,w=s.offsetHeight,M=Z(this.options.offset),D=this._getAnchor();"top"===f?(e=p/2,i=w):"bottom"===f?(e=p/2,i=0):"center"===f?(e=p/2,i=w/2):"right"===f?(e=0,i=w/2):"left"===f?(e=p,i=w/2):u.xthis.options.maxZoom||in&&this._retainParent(s,r,u,n))},_retainChildren:function(t,e,i,n){for(var s=2*t;s<2*t+2;s++)for(var r=2*e;r<2*e+2;r++){var u=new z(s,r);u.z=i+1;var f=this._tileCoordsToKey(u),p=this._tiles[f];p&&p.active?p.retain=!0:(p&&p.loaded&&(p.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&s1)return void this._setView(t,i);for(var D=s.min.y;D<=s.max.y;D++)for(var F=s.min.x;F<=s.max.x;F++){var lt=new z(F,D);if(lt.z=this._tileZoom,this._isValidTile(lt)){var ot=this._tiles[this._tileCoordsToKey(lt)];ot?ot.current=!0:u.push(lt)}}if(u.sort(function(ct,Kt){return ct.distanceTo(r)-Kt.distanceTo(r)}),0!==u.length){this._loading||(this._loading=!0,this.fire("loading"));var mt=document.createDocumentFragment();for(F=0;Fi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return it(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),s=n.add(i);return[e.unproject(n,t.z),e.unproject(s,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new ut(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(J(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){N(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=d,t.onmousemove=d,E.ielt9&&this.options.opacity<1&&_t(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&C(a(this._tileReady,this,t,null,s)),nt(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(_t(i.el,0),U(this._fadeFrame),this._fadeFrame=C(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(N(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),E.ielt9||!this._map._fadeAnimated?C(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new z(this._wrapX?m(t.x,this._wrapX):t.x,this._wrapY?m(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new X(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var jt=oe.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=P(this,e)).detectRetina&&E.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return R(i,"load",a(this._tileOnLoad,this,e,i)),R(i,"error",a(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:E.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return k(this._url,I(e,this.options))},_tileOnLoad:function(t,e){E.ielt9?setTimeout(a(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom;return this.options.zoomReverse&&(t=this.options.maxZoom-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=d,e.onerror=d,!e.complete)){e.src=b;var i=this._tiles[t].coords;J(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",b),oe.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==b))return oe.prototype._tileReady.call(this,t,e,i)}});function en(t,e){return new jt(t,e)}var nn=jt.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=I({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);var s=(e=P(this,e)).detectRetina&&E.retina?2:1,r=this.getTileSize();i.width=r.x*s,i.height=r.y*s,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version),this.wmsParams[this._wmsVersion>=1.3?"crs":"srs"]=this._crs.code,jt.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=ht(i.project(e[0]),i.project(e[1])),s=n.min,r=n.max,u=(this._wmsVersion>=1.3&&this._crs===qi?[s.y,s.x,r.y,r.x]:[s.x,s.y,r.x,r.y]).join(","),f=jt.prototype.getTileUrl.call(this,t);return f+W(this.wmsParams,f,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+u},setParams:function(t,e){return I(this.wmsParams,t),e||this.redraw(),this}});jt.WMS=nn,en.wms=function Os(t,e){return new nn(t,e)};var kt=vt.extend({options:{padding:.1},initialize:function(t){P(this,t),l(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),N(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,e),r=n.multiplyBy(-i).add(s).subtract(this._map._getNewPixelOrigin(t,e));E.any3d?Bt(this._container,r,i):nt(this._container,r)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new X(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),sn=kt.extend({options:{tolerance:0},getEvents:function(){var t=kt.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){kt.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");R(t,"mousemove",this._onMouseMove,this),R(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),R(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){U(this._redrawRequest),delete this._ctx,J(this._container),K(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var e in this._redrawBounds=null,this._layers)this._layers[e]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){kt.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=E.retina?2:1;nt(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",E.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){kt.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[l(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[l(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var n,s,e=t.options.dashArray.split(/[, ]+/),i=[];for(s=0;s')}}catch{}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Ss={_initContainer:function(){this._container=V("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(kt.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=re("shape");N(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=re("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[l(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;J(e),t.removeInteractiveTarget(e),delete this._layers[l(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,s=t._container;s.stroked=!!n.stroke,s.filled=!!n.fill,n.stroke?(e||(e=t._stroke=re("stroke")),s.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,e.dashStyle=n.dashArray?g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):"",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(s.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=re("fill")),s.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(s.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){Ft(t._container)},_bringToBack:function(t){Ut(t._container)}},be=E.vml?re:hi,ae=kt.extend({_initContainer:function(){this._container=be("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=be("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){J(this._container),K(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){kt.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;(!this._svgSize||!this._svgSize.equals(e))&&(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),nt(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=be("path");t.options.className&&N(e,t.options.className),t.options.interactive&&N(e,"leaflet-interactive"),this._updateStyle(t),this._layers[l(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){J(t._path),t.removeInteractiveTarget(t._path),delete this._layers[l(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,li(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),s="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",r=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+s+2*i+",0 "+s+2*-i+",0 ";this._setPath(t,r)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){Ft(t._path)},_bringToBack:function(t){Ut(t._path)}});function rn(t){return E.svg||E.vml?new ae(t):null}E.vml&&ae.include(Ss),H.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&on(t)||rn(t)}});var an=Wt.extend({initialize:function(t,e){Wt.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=it(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});ae.create=be,ae.pointsToPath=li,Tt.geometryToLayer=ve,Tt.coordsToLatLng=ni,Tt.coordsToLatLngs=ye,Tt.latLngToCoords=si,Tt.latLngsToCoords=Le,Tt.getFeature=Vt,Tt.asFeature=we,H.mergeOptions({boxZoom:!0});var hn=Pt.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){R(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){K(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){J(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Jt(),Fe(),this._startPoint=this._map.mouseEventToContainerPoint(t),R(document,{contextmenu:It,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=V("div","leaflet-zoom-box",this._container),N(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new X(this._point,this._startPoint),i=e.getSize();nt(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(J(this._box),tt(this._container,"leaflet-crosshair")),Qt(),Ue(),K(document,{contextmenu:It,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var e=new ut(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});H.addInitHook("addHandler","boxZoom",hn),H.mergeOptions({doubleClickZoom:!0});var ln=Pt.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,s=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(s):e.setZoomAround(t.containerPoint,s)}});H.addInitHook("addHandler","doubleClickZoom",ln),H.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var un=Pt.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new St(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}N(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){tt(this._map._container,"leaflet-grab"),tt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=it(this._map.options.maxBounds);this._offsetLimit=ht(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,s=(n-e+i)%t+e-i,r=(n+e+i)%t-e-i,u=Math.abs(s+i)0?r:-r))-e;this._delta=0,this._startTime=null,u&&("center"===t.options.scrollWheelZoom?t.setZoom(e+u):t.setZoomAround(this._lastMousePos,e+u))}});H.addInitHook("addHandler","scrollWheelZoom",dn);H.mergeOptions({tapHold:E.touchNative&&E.safari&&E.mobile,tapTolerance:15});var fn=Pt.extend({addHooks:function(){R(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){K(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new z(e.clientX,e.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(R(document,"touchend",at),R(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),600),R(document,"touchend touchcancel contextmenu",this._cancel,this),R(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){K(document,"touchend",at),K(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),K(document,"touchend touchcancel contextmenu",this._cancel,this),K(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});H.addInitHook("addHandler","tapHold",fn),H.mergeOptions({touchZoom:E.touch,bounceAtZoomLimits:!0});var _n=Pt.extend({addHooks:function(){N(this._map._container,"leaflet-touch-zoom"),R(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){tt(this._map._container,"leaflet-touch-zoom"),K(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),R(document,"touchmove",this._onTouchMove,this),R(document,"touchend touchcancel",this._onTouchEnd,this),at(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),U(this._animRequest);var u=a(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=C(u,this,!0),at(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,U(this._animRequest),K(document,"touchmove",this._onTouchMove,this),K(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});H.addInitHook("addHandler","touchZoom",_n),H.BoxZoom=hn,H.DoubleClickZoom=ln,H.Drag=un,H.Keyboard=cn,H.ScrollWheelZoom=dn,H.TapHold=fn,H.TouchZoom=_n,v.Bounds=X,v.Browser=E,v.CRS=xt,v.Canvas=sn,v.Circle=ii,v.CircleMarker=ge,v.Class=Q,v.Control=gt,v.DivIcon=tn,v.DivOverlay=Ct,v.DomEvent=Yn,v.DomUtil=qn,v.Draggable=St,v.Evented=$,v.FeatureGroup=bt,v.GeoJSON=Tt,v.GridLayer=oe,v.Handler=Pt,v.Icon=Ht,v.ImageOverlay=Pe,v.LatLng=j,v.LatLngBounds=ut,v.Layer=vt,v.LayerGroup=Gt,v.LineUtil=ls,v.Map=H,v.Marker=me,v.Mixin=ns,v.Path=Et,v.Point=z,v.PolyUtil=ss,v.Polygon=Wt,v.Polyline=Mt,v.Popup=Ce,v.PosAnimation=Zi,v.Projection=us,v.Rectangle=an,v.Renderer=kt,v.SVG=ae,v.SVGOverlay=Qi,v.TileLayer=jt,v.Tooltip=xe,v.Transformation=ke,v.Util=q,v.VideoOverlay=Ji,v.bind=a,v.bounds=ht,v.canvas=on,v.circle=function vs(t,e,i){return new ii(t,e,i)},v.circleMarker=function gs(t,e){return new ge(t,e)},v.control=ie,v.divIcon=function Ts(t){return new tn(t)},v.extend=I,v.featureGroup=function(t,e){return new bt(t,e)},v.geoJSON=$i,v.geoJson=ws,v.gridLayer=function ks(t){return new oe(t)},v.icon=function ps(t){return new Ht(t)},v.imageOverlay=function(t,e,i){return new Pe(t,e,i)},v.latLng=G,v.latLngBounds=it,v.layerGroup=function(t,e){return new Gt(t,e)},v.map=function $n(t,e){return new H(t,e)},v.marker=function ms(t,e){return new me(t,e)},v.point=Z,v.polygon=function Ls(t,e){return new Wt(t,e)},v.polyline=function ys(t,e){return new Mt(t,e)},v.popup=function(t,e){return new Ce(t,e)},v.rectangle=function Es(t,e){return new an(t,e)},v.setOptions=P,v.stamp=l,v.svg=rn,v.svgOverlay=function xs(t,e,i){return new Qi(t,e,i)},v.tileLayer=en,v.tooltip=function(t,e){return new xe(t,e)},v.transformation=qt,v.version="1.9.4",v.videoOverlay=function Cs(t,e,i){return new Ji(t,e,i)};var zs=window.L;v.noConflict=function(){return window.L=zs,this},window.L=v}(dt)},5946:(At,dt,v)=>{"use strict";v.d(dt,{V1:()=>a,gI:()=>P});var A=v(8699),I=v(8244);class o{static mapToArray(k){const g=[];for(const S in k)k.hasOwnProperty(S)&&g.push(k[S]);return g}static handleEvent(k,g,S){0{g.emit(S)})}}let a=(()=>{class O{constructor(g,S){this.element=g,this.zone=S,this.DEFAULT_ZOOM=1,this.DEFAULT_CENTER=(0,I.latLng)(38.907192,-77.036871),this.DEFAULT_FPZ_OPTIONS={},this.fitBoundsOptions=this.DEFAULT_FPZ_OPTIONS,this.panOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomOptions=this.DEFAULT_FPZ_OPTIONS,this.zoomPanOptions=this.DEFAULT_FPZ_OPTIONS,this.options={},this.mapReady=new A.bkB,this.zoomChange=new A.bkB,this.centerChange=new A.bkB,this.onClick=new A.bkB,this.onDoubleClick=new A.bkB,this.onMouseDown=new A.bkB,this.onMouseUp=new A.bkB,this.onMouseMove=new A.bkB,this.onMouseOver=new A.bkB,this.onMouseOut=new A.bkB,this.onMapMove=new A.bkB,this.onMapMoveStart=new A.bkB,this.onMapMoveEnd=new A.bkB,this.onMapZoom=new A.bkB,this.onMapZoomStart=new A.bkB,this.onMapZoomEnd=new A.bkB}ngOnInit(){this.zone.runOutsideAngular(()=>{this.map=(0,I.map)(this.element.nativeElement,this.options),this.addMapEventListeners()}),null!=this.center&&null!=this.zoom&&this.setView(this.center,this.zoom),null!=this.fitBounds&&this.setFitBounds(this.fitBounds),null!=this.maxBounds&&this.setMaxBounds(this.maxBounds),null!=this.minZoom&&this.setMinZoom(this.minZoom),null!=this.maxZoom&&this.setMaxZoom(this.maxZoom),this.doResize(),this.mapReady.emit(this.map)}ngOnChanges(g){g.zoom&&g.center&&null!=this.zoom&&null!=this.center?this.setView(g.center.currentValue,g.zoom.currentValue):g.zoom?this.setZoom(g.zoom.currentValue):g.center&&this.setCenter(g.center.currentValue),g.fitBounds&&this.setFitBounds(g.fitBounds.currentValue),g.maxBounds&&this.setMaxBounds(g.maxBounds.currentValue),g.minZoom&&this.setMinZoom(g.minZoom.currentValue),g.maxZoom&&this.setMaxZoom(g.maxZoom.currentValue)}ngOnDestroy(){null!=this.map&&this.map.remove()}getMap(){return this.map}onResize(){this.delayResize()}addMapEventListeners(){const g=(b,et)=>{this.map.on(b,et)};g("click",b=>o.handleEvent(this.zone,this.onClick,b)),g("dblclick",b=>o.handleEvent(this.zone,this.onDoubleClick,b)),g("mousedown",b=>o.handleEvent(this.zone,this.onMouseDown,b)),g("mouseup",b=>o.handleEvent(this.zone,this.onMouseUp,b)),g("mouseover",b=>o.handleEvent(this.zone,this.onMouseOver,b)),g("mouseout",b=>o.handleEvent(this.zone,this.onMouseOut,b)),g("mousemove",b=>o.handleEvent(this.zone,this.onMouseMove,b)),g("zoomstart",b=>o.handleEvent(this.zone,this.onMapZoomStart,b)),g("zoom",b=>o.handleEvent(this.zone,this.onMapZoom,b)),g("zoomend",b=>o.handleEvent(this.zone,this.onMapZoomEnd,b)),g("movestart",b=>o.handleEvent(this.zone,this.onMapMoveStart,b)),g("move",b=>o.handleEvent(this.zone,this.onMapMove,b)),g("moveend",b=>o.handleEvent(this.zone,this.onMapMoveEnd,b));const S=()=>{const b=this.map.getZoom();b!==this.zoom&&(this.zoom=b,o.handleEvent(this.zone,this.zoomChange,b));const et=this.map.getCenter();(null!=et||null!=this.center)&&((null==et||null==this.center)&&et!==this.center||et.lat!==this.center.lat||et.lng!==this.center.lng)&&(this.center=et,o.handleEvent(this.zone,this.centerChange,et))};g("moveend",S),g("zoomend",S)}doResize(){this.zone.runOutsideAngular(()=>{null!=this.map&&this.map.invalidateSize({})})}delayResize(){null!=this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(this.doResize.bind(this),200)}setView(g,S){null!=this.map&&null!=g&&null!=S&&this.map.setView(g,S,this.zoomPanOptions)}setZoom(g){null!=this.map&&null!=g&&this.map.setZoom(g,this.zoomOptions)}setCenter(g){null!=this.map&&null!=g&&this.map.panTo(g,this.panOptions)}setFitBounds(g){null!=this.map&&null!=g&&this.map.fitBounds(g,this.fitBoundsOptions)}setMaxBounds(g){null!=this.map&&null!=g&&this.map.setMaxBounds(g)}setMinZoom(g){null!=this.map&&null!=g&&this.map.setMinZoom(g)}setMaxZoom(g){null!=this.map&&null!=g&&this.map.setMaxZoom(g)}static{this.\u0275fac=function(S){return new(S||O)(A.rXU(A.aKT),A.rXU(A.SKi))}}static{this.\u0275dir=A.FsC({type:O,selectors:[["","leaflet",""]],hostBindings:function(S,b){1&S&&A.bIt("resize",function(){return b.onResize()},!1,A.tSv)},inputs:{fitBoundsOptions:["leafletFitBoundsOptions","fitBoundsOptions"],panOptions:["leafletPanOptions","panOptions"],zoomOptions:["leafletZoomOptions","zoomOptions"],zoomPanOptions:["leafletZoomPanOptions","zoomPanOptions"],options:["leafletOptions","options"],zoom:["leafletZoom","zoom"],center:["leafletCenter","center"],fitBounds:["leafletFitBounds","fitBounds"],maxBounds:["leafletMaxBounds","maxBounds"],minZoom:["leafletMinZoom","minZoom"],maxZoom:["leafletMaxZoom","maxZoom"]},outputs:{mapReady:"leafletMapReady",zoomChange:"leafletZoomChange",centerChange:"leafletCenterChange",onClick:"leafletClick",onDoubleClick:"leafletDoubleClick",onMouseDown:"leafletMouseDown",onMouseUp:"leafletMouseUp",onMouseMove:"leafletMouseMove",onMouseOver:"leafletMouseOver",onMouseOut:"leafletMouseOut",onMapMove:"leafletMapMove",onMapMoveStart:"leafletMapMoveStart",onMapMoveEnd:"leafletMapMoveEnd",onMapZoom:"leafletMapZoom",onMapZoomStart:"leafletMapZoomStart",onMapZoomEnd:"leafletMapZoomEnd"},features:[A.OA$]})}}return O})(),P=(()=>{class O{static{this.\u0275fac=function(S){return new(S||O)}}static{this.\u0275mod=A.$C({type:O})}static{this.\u0275inj=A.G2t({})}}return O})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/323.14af06692b2a4ee9.js b/frontend-roadreport-deploy/dist/road-report/323.14af06692b2a4ee9.js new file mode 100644 index 0000000..253e5e3 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/323.14af06692b2a4ee9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[323],{7323:(X,g,i)=>{i.r(g),i.d(g,{PerbaikanModule:()=>R});var m=i(177),s=i(6803),l=i(9417),b=i(2665),t=i(8699),_=i(7110),k=i(2423),y=i(6747);function D(o,c){if(1&o){const e=t.RV6();t.j41(0,"ngb-datepicker",15,16),t.bIt("dateSelect",function(a){t.eBV(e);const r=t.XpG();return t.Njj(r.onDateSelection(a))}),t.k0s()}if(2&o){const e=t.XpG(),n=t.sdS(14);t.Y8G("minDate",e.todayDate)("displayMonths",2)("dayTemplate",n)("weekdays",!1)}}function F(o,c){if(1&o){const e=t.RV6();t.j41(0,"span",17),t.bIt("mouseenter",function(){const r=t.eBV(e).$implicit,d=t.XpG();return t.Njj(d.hoveredDate=r)})("mouseleave",function(){t.eBV(e);const a=t.XpG();return t.Njj(a.hoveredDate=null)}),t.EFF(1),t.k0s()}if(2&o){const e=c.$implicit,n=c.focused,a=t.XpG();t.AVh("focused",n)("range",a.isRange(e))("faded",a.isHovered(e)||a.isInside(e)),t.R7$(1),t.SpI(" ",e.day," ")}}let C=(()=>{class o extends b.v{constructor(e,n,a,r,d,p,u){super(r,d,p,u),this.activeModal=n,this.formBuilder=a,this.helpers=r,this.loading=d,this.api=p,this.modal=u,this.form={},this.toDate=null,this.hoveredDate=null,this.showDatePicker=!1,this.id="";const f=new Date;this.todayDate={year:f.getFullYear(),month:f.getMonth()+1,day:f.getDate()},this.fromDate=e.getToday(),this.toDate=e.getNext(e.getToday())}getFormattedDateRange(){const e=new Date(this.data.date_start),n=this.data.date_end?new Date(this.data.date_end):null,a=`${e.getDate()}/${e.getMonth()+1}/${e.getFullYear()}`;return n?`${a} - ${n.getDate()}/${n.getMonth()+1}/${n.getFullYear()}`:a}toggleDatePicker(){this.showDatePicker=!this.showDatePicker}ngOnInit(){this.initForm()}initForm(){this.form=this.formBuilder.group({report_id:[this.id],date_start:[this.fromDate,l.k0.required],date_end:[this.toDate]}),this.data&&this.form.patchValue(this.data)}onDateSelection(e){this.fromDate||this.toDate?this.fromDate&&!this.toDate&&e.after(this.fromDate)?this.toDate=e:(this.toDate=null,this.fromDate=e):this.fromDate=e}isHovered(e){return this.fromDate&&!this.toDate&&this.hoveredDate&&e.after(this.fromDate)&&e.before(this.hoveredDate)}isInside(e){return this.toDate&&e.after(this.fromDate)&&e.before(this.toDate)}isRange(e){return e.equals(this.fromDate)||this.toDate&&e.equals(this.toDate)||this.isInside(e)||this.isHovered(e)}formatDate(e){return`${e.year}-${e.month<10?"0"+e.month:e.month}-${e.day<10?"0"+e.day:e.day}`}formatAndPatchValues(){const e=this.formatDate(this.fromDate),n=this.toDate?this.formatDate(this.toDate):null;this.form.patchValue({date_start:e,date_end:n})}onSubmit(){this.formatAndPatchValues(),this.form.valid&&this.api.update(this.data.id,this.form.value).subscribe({next:()=>{this.helpers.toast("success","Data berhasil ditambahkan"),setTimeout(()=>{window.location.reload()},1e3),this.activeModal.close(this.form.value)},error:()=>{this.helpers.toast("error","Data gagal ditambahkan")}})}static{this.\u0275fac=function(n){return new(n||o)(t.rXU(s.iF),t.rXU(s.Lw),t.rXU(l.ok),t.rXU(_.V),t.rXU(k.U),t.rXU(y.r),t.rXU(s.Bq))}}static{this.\u0275cmp=t.VBU({type:o,selectors:[["app-jadwal"]],standalone:!0,features:[t.Vt3,t.aNF],decls:20,vars:4,consts:[[1,"modal-header"],[1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"formGroup"],["for","jadwal",1,"mb-2","fw-bold"],[1,"input-group",3,"click"],["id","jadwal","placeholder","dd/mm/yyyy","type","text",1,"form-control",3,"readonly","value"],[1,"input-group-text",2,"cursor","pointer"],[1,"bi","bi-calendar4"],["outsideDays","hidden",3,"minDate","displayMonths","dayTemplate","weekdays","dateSelect",4,"ngIf"],["t",""],[1,"modal-footer"],["type","button",1,"btn","btn-outline-primary",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],["outsideDays","hidden",3,"minDate","displayMonths","dayTemplate","weekdays","dateSelect"],["dp",""],[1,"custom-day",3,"mouseenter","mouseleave"]],template:function(n,a){1&n&&(t.j41(0,"div",0)(1,"h4",1),t.EFF(2,"Ubah Jadwal Perbaikan"),t.k0s(),t.j41(3,"button",2),t.bIt("click",function(){return a.activeModal.close("Cancel")}),t.k0s()(),t.j41(4,"div",3)(5,"form",4)(6,"label",5),t.EFF(7,"Tanggal"),t.k0s(),t.j41(8,"div",6),t.bIt("click",function(){return a.toggleDatePicker()}),t.nrm(9,"input",7),t.j41(10,"span",8),t.nrm(11,"i",9),t.k0s()(),t.DNE(12,D,2,4,"ngb-datepicker",10),t.DNE(13,F,2,7,"ng-template",null,11,t.C5r),t.k0s(),t.j41(15,"div",12)(16,"button",13),t.bIt("click",function(){return a.activeModal.close("Cancel")}),t.EFF(17," Batal "),t.k0s(),t.j41(18,"button",14),t.bIt("click",function(){return a.onSubmit()}),t.EFF(19," Simpan "),t.k0s()()()),2&n&&(t.R7$(5),t.Y8G("formGroup",a.form),t.R7$(4),t.Y8G("readonly",!0)("value",a.getFormattedDateRange()),t.R7$(3),t.Y8G("ngIf",a.showDatePicker))},dependencies:[m.MD,m.bT,l.X1,l.qT,l.cb,l.j4,s.IQ,s.yB,l.YN,s.oi],styles:[".ngb-dp-header[_ngcontent-%COMP%]{display:none}.custom-day[_ngcontent-%COMP%]{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused[_ngcontent-%COMP%]{background-color:#e6e6e6}.custom-day.range[_ngcontent-%COMP%], .custom-day[_ngcontent-%COMP%]:hover{background-color:#0275d8;color:#fff}.custom-day.faded[_ngcontent-%COMP%]{background-color:#d87f0280}"]})}}return o})();var h=i(8185),v=i(5471);function j(o,c){if(1&o&&t.nrm(0,"input",13),2&o){const e=t.XpG(2);t.Y8G("formControl",e.searchForm)("readonly",0===e.dataSourceLength&&e.queries.filter&&!e.queries.search)}}function T(o,c){if(1&o&&(t.j41(0,"div",10),t.nrm(1,"i",11),t.DNE(2,j,1,2,"input",12),t.k0s()),2&o){const e=t.XpG();t.R7$(2),t.Y8G("ngIf",e.dataSourceTotal>0)}}function P(o,c){1&o&&(t.j41(0,"p",14),t.nrm(1,"i",15),t.EFF(2," Belum ada data. "),t.k0s())}function $(o,c){1&o&&(t.j41(0,"p",14),t.nrm(1,"i",16),t.EFF(2," Tidak ada hasil pencarian "),t.k0s())}function I(o,c){if(1&o){const e=t.RV6();t.j41(0,"button",29),t.bIt("click",function(){t.eBV(e);const a=t.XpG().$implicit,r=t.XpG(2);return t.Njj(r.onDeleteData(a.id,a.report.user.fullname))}),t.EFF(1," Hapus "),t.k0s()}}function S(o,c){if(1&o){const e=t.RV6();t.j41(0,"tr")(1,"td"),t.EFF(2),t.nI1(3,"date"),t.nI1(4,"date"),t.k0s(),t.j41(5,"td"),t.EFF(6),t.k0s(),t.j41(7,"td"),t.EFF(8),t.k0s(),t.j41(9,"td"),t.EFF(10),t.k0s(),t.j41(11,"td")(12,"div",25)(13,"button",26),t.bIt("click",function(){const r=t.eBV(e).$implicit,d=t.XpG(2);return t.Njj(d.goToMap(r.id))}),t.EFF(14," Peta "),t.k0s(),t.j41(15,"button",27),t.bIt("click",function(){const r=t.eBV(e).$implicit,d=t.XpG(2);return t.Njj(d.onUpdateSchedule(r,r.id))}),t.EFF(16," Ubah "),t.k0s(),t.DNE(17,I,2,0,"button",28),t.k0s()()()}if(2&o){const e=c.$implicit,n=t.XpG(2);t.R7$(2),t.Lme(" ",t.i5U(3,7,e.date_start,"dd/MM/yyyy"),"",e.date_end?"-"+t.i5U(4,10,e.date_end,"dd/MM/yyyy"):""," "),t.R7$(4),t.JRh(e.report.no_ticket),t.R7$(2),t.SpI(" ",e.report.segmens.length>0?e.report.segmens[e.report.segmens.length-1].segmen.name:"-"," "),t.R7$(2),t.JRh(e.report.user.fullname),t.R7$(5),t.Y8G("disabled","DONE"===e.report.status_id||"RJT"===e.report.status_id||"FIXED"===e.report.status_id),t.R7$(2),t.Y8G("ngIf",n.isPNGL())}}function E(o,c){if(1&o&&(t.j41(0,"option",30),t.EFF(1),t.k0s()),2&o){const e=c.$implicit,n=t.XpG(2);t.Y8G("value",e)("selected",e===n.queryLimit),t.R7$(1),t.SpI(" ",e," ")}}function x(o,c){if(1&o){const e=t.RV6();t.qex(0,14),t.j41(1,"div",17)(2,"table",18)(3,"thead")(4,"tr")(5,"th"),t.EFF(6,"Tanggal Perbaikan"),t.k0s(),t.j41(7,"th"),t.EFF(8,"No Tiket"),t.k0s(),t.j41(9,"th"),t.EFF(10,"Lokasi"),t.k0s(),t.j41(11,"th"),t.EFF(12,"Nama Pelapor"),t.k0s(),t.j41(13,"th"),t.EFF(14,"Aksi"),t.k0s()()(),t.j41(15,"tbody"),t.DNE(16,S,18,13,"tr",19),t.k0s()()(),t.j41(17,"div",20)(18,"div",21)(19,"span"),t.EFF(20,"Item per halalaman"),t.k0s(),t.j41(21,"select",22),t.bIt("change",function(a){t.eBV(e);const r=t.XpG();return t.Njj(r.onPageSizeChange(a))}),t.DNE(22,E,2,3,"option",23),t.k0s(),t.j41(23,"span"),t.EFF(24),t.k0s()(),t.j41(25,"ngb-pagination",24),t.bIt("pageChange",function(a){t.eBV(e);const r=t.XpG();return t.Njj(r.queryPage=a)})("pageChange",function(a){t.eBV(e);const r=t.XpG();return t.Njj(r.onPaginateChange(a))}),t.k0s()(),t.bVm()}if(2&o){const e=t.XpG();t.R7$(16),t.Y8G("ngForOf",e.dataSource),t.R7$(6),t.Y8G("ngForOf",e.pageSizeOptions),t.R7$(2),t.SpI("dari ",e.dataSourceLength,""),t.R7$(1),t.Y8G("collectionSize",e.dataSourceLength)("page",e.queryPage)("maxSize",5)("pageSize",e.queryLimit)("rotate",!0)("ellipses",!1)("boundaryLinks",!1)("directionLinks",!0)}}const G=[{path:"",component:(()=>{class o extends b.v{constructor(e,n,a,r,d,p,u){super(d,u,p,r),this.router=e,this.auth=n,this.activatedRoute=a,this.modal=r,this.helpers=d,this.api=p,this.loading=u,this.id="",this.sortBy="",this.searchFields="report.no_ticket,report.user.fullname,report.segmens.segmen.name",this.queries={page:1,sort:"-created_at",limit:10,embed:"report.user,report.status_report,report.segmens.segmen"}}applyFilter(e){this.sortBy=e,this.queries.sort="terbaru"===e?"-created_at":"terlama"===e?"created_at":"-created_at","PNGL"==this.auth.getLoggedUser().role.code?this.api.getAll(this.queries).subscribe({next:({data:n})=>{this.loading.hide(),this.dataSource=n},error:()=>{this.loading.hide(),this.helpers.toast("error","Gagal mengambil data")}}):this.getAll()}goToMap(e){this.router.navigate(["detail",e],{relativeTo:this.activatedRoute})}onUpdateSchedule(e,n){if("RJT"==n||"DONE"==n||"FIXED"==n)return alert("Jadwal tidak bisa diubah lagi");const a=this.modal.open(C);a.componentInstance.action="update",a.componentInstance.id=n,a.componentInstance.data=e}getFormattedDateRange(){if(this.fromDate){const e=`${this.fromDate.day}/${this.fromDate.month}/${this.fromDate.year}`;return this.toDate?`${e} - ${this.toDate.day}/${this.toDate.month}/${this.toDate.year}`:e}return""}isPNGL(){const e=this.auth.getLoggedUser();return!!e&&"SADM"===e.role.code}static{this.\u0275fac=function(n){return new(n||o)(t.rXU(h.Ix),t.rXU(v.u),t.rXU(h.nX),t.rXU(s.Bq),t.rXU(_.V),t.rXU(y.r),t.rXU(k.U))}}static{this.\u0275cmp=t.VBU({type:o,selectors:[["app-perbaikan"]],features:[t.Vt3],decls:17,vars:5,consts:[[1,"mb-4","fw-bold"],[1,"rounded-3","p-4","bg-white"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3",3,"ngClass"],["class","form-group has-search d-flex align-items-center",4,"ngIf"],["ngbDropdown",""],["id","filterDropdown","ngbDropdownToggle","",1,"btn","btn-outline-primary","no-caret"],[1,"bi","bi-funnel","me-2"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem","",3,"click"],["class","text-body-tertiary",4,"ngIf"],[1,"form-group","has-search","d-flex","align-items-center"],[1,"position-absolute","bi","bi-search","form-control-feedback","mx-auto","ms-3",2,"color","black"],["style","background: #f2f2f2; height: 48px; padding-left: 3rem","class","form-control border-0 form-control","type","text","placeholder","Cari data...",3,"formControl","readonly",4,"ngIf"],["type","text","placeholder","Cari data...",1,"form-control","border-0","form-control",2,"background","#f2f2f2","height","48px","padding-left","3rem",3,"formControl","readonly"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"bi","bi-search"],[1,"table-responsive"],[1,"table"],[4,"ngFor","ngForOf"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap"],[1,"w-auto","d-flex","align-items-center","gap-2"],[1,"form-select","w-auto",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mb-n3",3,"collectionSize","page","maxSize","pageSize","rotate","ellipses","boundaryLinks","directionLinks","pageChange"],[1,"d-flex"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"],["type","button",1,"btn","btn-outline-primary","me-2",3,"disabled","click"],["class","btn btn-outline-primary","type","button",3,"click",4,"ngIf"],["type","button",1,"btn","btn-outline-primary",3,"click"],[3,"value","selected"]],template:function(n,a){1&n&&(t.j41(0,"h4",0),t.EFF(1,"Jadwal Perbaikan"),t.k0s(),t.j41(2,"div",1)(3,"div",2),t.DNE(4,T,3,1,"div",3),t.j41(5,"div",4)(6,"button",5),t.nrm(7,"i",6),t.EFF(8,"Urutkan "),t.k0s(),t.j41(9,"div",7)(10,"button",8),t.bIt("click",function(){return a.applyFilter("terbaru")}),t.EFF(11," Terbaru "),t.k0s(),t.j41(12,"button",8),t.bIt("click",function(){return a.applyFilter("terlama")}),t.EFF(13," Terlama "),t.k0s()()()(),t.DNE(14,P,3,0,"p",9),t.DNE(15,$,3,0,"p",9),t.DNE(16,x,26,11,"ng-container",9),t.k0s()),2&n&&(t.R7$(3),t.Y8G("ngClass",a.dataSourceTotal>0?"justify-content-between":"justify-content-end"),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0),t.R7$(10),t.Y8G("ngIf",0==a.dataSourceTotal),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0&&0===a.dataSourceLength&&a.queries.search),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0&&a.dataSourceLength>0))},dependencies:[m.YU,m.Sq,m.bT,l.xH,l.y7,l.me,l.BC,l.l_,s.s5,s.tg,s.do,s.U0,s._H,m.vh],styles:[".form-control[_ngcontent-%COMP%]::placeholder{color:#bdbdbd}"]})}}return o})()},{path:"detail/:id",loadChildren:()=>Promise.all([i.e(257),i.e(685),i.e(76),i.e(727)]).then(i.bind(i,6727)).then(o=>o.DetailModule)}];let R=(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275mod=t.$C({type:o})}static{this.\u0275inj=t.G2t({imports:[m.MD,h.iI.forChild(G),l.X1,s.c9,s.zH]})}}return o})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/348.da00f8c2e534226c.js b/frontend-roadreport-deploy/dist/road-report/348.da00f8c2e534226c.js new file mode 100644 index 0000000..814b184 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/348.da00f8c2e534226c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[348],{5348:(X,d,r)=>{r.r(d),r.d(d,{HomeModule:()=>V});var i=r(177),t=r(8699),f=r(2408);function _(n,s){1&n&&(t.j41(0,"p",4),t.nrm(1,"i",5),t.EFF(2," Belum ada data. "),t.k0s())}function F(n,s){if(1&n&&(t.j41(0,"div",6)(1,"div",7)(2,"div",8)(3,"div",9)(4,"h4",10),t.EFF(5,"Dalam Proses"),t.k0s(),t.j41(6,"h6",11),t.EFF(7),t.k0s()(),t.j41(8,"span",12),t.nrm(9,"i",13),t.k0s()()(),t.j41(10,"div",7)(11,"div",8)(12,"div",9)(13,"h4",10),t.EFF(14,"Ditindak Lanjuti"),t.k0s(),t.j41(15,"h6",11),t.EFF(16),t.k0s()(),t.j41(17,"span",14),t.nrm(18,"img",15),t.k0s()()(),t.j41(19,"div",7)(20,"div",8)(21,"div",9)(22,"h4",10),t.EFF(23,"Perbaikan"),t.k0s(),t.j41(24,"h6",11),t.EFF(25),t.k0s()(),t.j41(26,"span",16),t.nrm(27,"i",17),t.k0s()()(),t.j41(28,"div",7)(29,"div",8)(30,"div",9)(31,"h4",10),t.EFF(32,"Selesai"),t.k0s(),t.j41(33,"h6",11),t.EFF(34),t.k0s()(),t.j41(35,"span",18),t.nrm(36,"i",19),t.k0s()()(),t.j41(37,"div",7)(38,"div",8)(39,"div",9)(40,"h4",10),t.EFF(41,"Total Laporan"),t.k0s(),t.j41(42,"h6",11),t.EFF(43),t.k0s()(),t.j41(44,"span",20),t.nrm(45,"i",21),t.k0s()()()()),2&n){const e=t.XpG();t.R7$(7),t.SpI(" ",e.count["Dalam Proses"]?e.count["Dalam Proses"]:"-"," "),t.R7$(9),t.SpI(" ",e.count["Ditindak Lanjuti"]?e.count["Ditindak Lanjuti"]:"-"," "),t.R7$(9),t.SpI(" ",e.count.Perbaikan?e.count.Perbaikan:"-"," "),t.R7$(9),t.SpI(" ",e.count["Laporan Selesai & Sudah Divalidasi"]?e.count["Laporan Selesai & Sudah Divalidasi"]:"-"," "),t.R7$(9),t.SpI(" ",e.count["Semua Laporan"]?e.count["Semua Laporan"]:"-"," ")}}let p=(()=>{class n{constructor(e){this.api=e}ngOnInit(){this.api.getAll().subscribe({next:({data:e})=>{this.count=e}})}static{this.\u0275fac=function(a){return new(a||n)(t.rXU(f.a))}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["ringkasan-total-laporan"]],standalone:!0,features:[t.aNF],decls:5,vars:2,consts:[[1,"bg-white","p-4","rounded-3"],[1,"fw-semibold","mb-3"],["class","text-body-tertiary",4,"ngIf"],["class","row g-3",4,"ngIf"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"row","g-3"],[1,"col-lg","col-md","col-sm-6"],[1,"d-flex","align-items-start","justify-content-between","column-gap-3","p-4","rounded-3","border","h-100"],[1,"d-flex","flex-column-reverse"],[1,"h6","text-body-tertiary","mb-0"],[1,"h4"],[1,"flex-shrink-0","bg-primary","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-clipboard"],[1,"d-flex","flex-column","justify-content-center","align-items-center","bg-warning","px-2","py-2","rounded-2"],["src","assets/images/loader.svg","alt",""],[1,"flex-shrink-0","px-2","py-1","text-white","rounded-2",2,"background-color","#3697ff"],[1,"bi","bi-arrow-clockwise"],[1,"flex-shrink-0","bg-success","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-check-lg"],[1,"flex-shrink-0","bg-info","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-database"]],template:function(a,o){1&a&&(t.j41(0,"div",0)(1,"h5",1),t.EFF(2,"Ringkasan Total Laporan"),t.k0s(),t.DNE(3,_,3,0,"p",2),t.DNE(4,F,46,5,"div",3),t.k0s()),2&a&&(t.R7$(3),t.Y8G("ngIf",null==o.count),t.R7$(1),t.Y8G("ngIf",o.count))},dependencies:[i.MD,i.bT]})}}return n})();var b=r(2257);let l=(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["peta"]],standalone:!0,features:[t.aNF],decls:1,vars:0,template:function(a,o){1&a&&t.nrm(0,"app-map")},dependencies:[b.i]})}}return n})();var k=r(2665),u=r(8185),v=r(5471),y=r(6803),E=r(7110),x=r(5211),j=r(2423);function I(n,s){1&n&&(t.j41(0,"p",4),t.nrm(1,"i",5),t.EFF(2," Belum ada data. "),t.k0s())}function L(n,s){1&n&&(t.j41(0,"th"),t.EFF(1,"Status"),t.k0s())}function R(n,s){1&n&&(t.j41(0,"th"),t.EFF(1,"Aksi"),t.k0s())}function D(n,s){if(1&n&&(t.qex(0),t.j41(1,"td"),t.EFF(2),t.nI1(3,"date"),t.nI1(4,"date"),t.k0s(),t.bVm()),2&n){const e=t.XpG().$implicit;t.R7$(2),t.Lme(" ",t.i5U(3,2,e.survey_start_date,"dd/MM/yyyy"),"",e.survey_end_date?"-"+t.i5U(4,5,e.survey_end_date,"dd/MM/yyyy"):""," ")}}function $(n,s){if(1&n&&(t.qex(0),t.EFF(1),t.nI1(2,"date"),t.bVm()),2&n){const e=t.XpG().$implicit;t.R7$(1),t.SpI(" ",t.i5U(2,1,e.created_at,"dd/MM/yyyy")," ")}}const T=function(n,s,e,a,o,c){return{"bg-primary":n,"bg-warning":s,"bg-danger":e,"bg-info":a,"bg-success":o,"bg-secondary":c,"text-nowrap text-white text-center rounded-2 px-2 py-2":!0,"d-block":!0}};function S(n,s){if(1&n&&(t.j41(0,"td")(1,"small",10),t.EFF(2),t.k0s()()),2&n){const e=t.XpG().$implicit;t.R7$(1),t.Y8G("ngClass",t.l4e(2,T,"PROG"===e.status_report.id,"FOLUP"===e.status_report.id,"RJT"===e.status_report.id,"RPR"===e.status_report.id,"DONE"===e.status_report.id,"FIXED"===e.status_report.id)),t.R7$(1),t.SpI(" ","DONE"===e.status_report.id?"Selesai":e.status_report.name," ")}}function C(n,s){if(1&n){const e=t.RV6();t.j41(0,"button",15),t.bIt("click",function(){t.eBV(e);const o=t.XpG(2).$implicit,c=t.XpG(2);return t.Njj(c.onDeleteData(o.id,o.user.fullname))}),t.EFF(1," Hapus "),t.k0s()}}function U(n,s){if(1&n){const e=t.RV6();t.j41(0,"td",11)(1,"div",12)(2,"button",13),t.bIt("click",function(){t.eBV(e);const o=t.XpG().$implicit,c=t.XpG(2);return t.Njj(c.goToDetail(o.id))}),t.EFF(3," Detail "),t.k0s(),t.DNE(4,C,2,0,"button",14),t.k0s()()}if(2&n){const e=t.XpG(3);t.R7$(4),t.Y8G("ngIf","SADM"===e.auth.getLoggedUser().role.code)}}function G(n,s){if(1&n&&(t.j41(0,"tr")(1,"td"),t.DNE(2,D,5,8,"ng-container",3),t.DNE(3,$,3,4,"ng-container",3),t.k0s(),t.j41(4,"td"),t.EFF(5,"13978383"),t.k0s(),t.j41(6,"td"),t.EFF(7),t.k0s(),t.DNE(8,S,3,9,"td",3),t.j41(9,"td"),t.EFF(10),t.k0s(),t.j41(11,"td"),t.EFF(12),t.k0s(),t.DNE(13,U,5,1,"td",9),t.k0s()),2&n){const e=s.$implicit,a=t.XpG(2);t.R7$(2),t.Y8G("ngIf","SVEI"===a.auth.getLoggedUser().role.code),t.R7$(1),t.Y8G("ngIf","SVEI"!==a.auth.getLoggedUser().role.code),t.R7$(4),t.JRh(e.user.fullname),t.R7$(1),t.Y8G("ngIf","SVEI"!==a.auth.getLoggedUser().role.code),t.R7$(2),t.JRh(e.user.phone),t.R7$(2),t.SpI(" ",e.segmens.length>0?e.segmens[e.segmens.length-1].segmen.name:"-"," "),t.R7$(1),t.Y8G("ngIf","SVEI"!==a.auth.getLoggedUser().role.code)}}function B(n,s){if(1&n&&(t.qex(0),t.j41(1,"div",6)(2,"table",7)(3,"thead")(4,"tr")(5,"th"),t.EFF(6,"Tanggal"),t.k0s(),t.j41(7,"th"),t.EFF(8,"No Tiket"),t.k0s(),t.j41(9,"th"),t.EFF(10,"Nama Pelapor"),t.k0s(),t.DNE(11,L,2,0,"th",3),t.j41(12,"th"),t.EFF(13,"No. HP"),t.k0s(),t.j41(14,"th"),t.EFF(15,"Lokasi"),t.k0s(),t.DNE(16,R,2,0,"th",3),t.k0s()(),t.j41(17,"tbody"),t.DNE(18,G,14,7,"tr",8),t.k0s()()(),t.bVm()),2&n){const e=t.XpG();t.R7$(11),t.Y8G("ngIf","SVEI"!==e.auth.getLoggedUser().role.code),t.R7$(5),t.Y8G("ngIf","SVEI"!==e.auth.getLoggedUser().role.code),t.R7$(2),t.Y8G("ngForOf",e.dataSource)}}let g=(()=>{class n extends k.v{constructor(e,a,o,c,m,h){super(c,h,m,o),this.router=e,this.auth=a,this.modal=o,this.helpers=c,this.api=m,this.loading=h,this.queries={page:1,limit:3,sort:"-created_at",embed:"status_report,user,segmens,segmens.segmen,segmens.photos"},"SADM"==this.auth.getLoggedUser().role.code||("PNGL"==this.auth.getLoggedUser().role.code?this.queries.filter={status_id:{ne:"PROG,RJT"}}:this.api.endpoint=`report-list/surveyor/${a.getLoggedUser().id}`)}goToDetail(e){"SVEI"===this.auth.getLoggedUser().role.code&&this.router.navigate(["dashboard","surveyor",this.auth.getLoggedUser().id]),this.router.navigate(["dashboard","data-laporan",e])}static{this.\u0275fac=function(a){return new(a||n)(t.rXU(u.Ix),t.rXU(v.u),t.rXU(y.Bq),t.rXU(E.V),t.rXU(x.Z),t.rXU(j.U))}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["laporan-baru"]],standalone:!0,features:[t.Vt3,t.aNF],decls:5,vars:2,consts:[[1,"p-4","rounded-3","bg-white"],[1,"fw-semibold","mb-3"],["class","text-body-tertiary",4,"ngIf"],[4,"ngIf"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"table-responsive"],[1,"table"],[4,"ngFor","ngForOf"],["class","",4,"ngIf"],[3,"ngClass"],[1,""],[1,"d-flex"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"],["class","btn btn-outline-primary",3,"click",4,"ngIf"],[1,"btn","btn-outline-primary",3,"click"]],template:function(a,o){1&a&&(t.j41(0,"div",0)(1,"h5",1),t.EFF(2,"Data Laporan Terbaru"),t.k0s(),t.DNE(3,I,3,0,"p",2),t.DNE(4,B,19,3,"ng-container",3),t.k0s()),2&a&&(t.R7$(3),t.Y8G("ngIf",0==o.dataSourceTotal),t.R7$(1),t.Y8G("ngIf",o.dataSourceTotal>0))},dependencies:[i.MD,i.YU,i.Sq,i.bT,i.vh]})}}return n})();const N=[{path:"",component:(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["app-home"]],decls:6,vars:0,consts:[[1,"h4","fw-bold"],[1,"row","gy-4"]],template:function(a,o){1&a&&(t.j41(0,"h1",0),t.EFF(1,"Dasbor"),t.k0s(),t.j41(2,"div",1),t.nrm(3,"ringkasan-total-laporan")(4,"peta")(5,"laporan-baru"),t.k0s())},dependencies:[p,l,g]})}}return n})()}];let V=(()=>{class n{static{this.\u0275fac=function(a){return new(a||n)}}static{this.\u0275mod=t.$C({type:n})}static{this.\u0275inj=t.G2t({imports:[i.MD,u.iI.forChild(N),p,l,g]})}}return n})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/367.8443f3ce46ace501.js b/frontend-roadreport-deploy/dist/road-report/367.8443f3ce46ace501.js new file mode 100644 index 0000000..0bbf004 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/367.8443f3ce46ace501.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[367],{9367:(I,f,i)=>{i.r(f),i.d(f,{TindakLanjutModule:()=>L});var c=i(177),b=i(6847),T=i(2665),s=i(9417),p=i(9519),t=i(8699),m=i(6803),j=i(6655),h=i(8185),C=i(7110),_=i(2423),M=i(6747);const g=function(o){return{"is-invalid":o}};function F(o,d){if(1&o){const e=t.RV6();t.j41(0,"ngb-datepicker",22,23),t.bIt("dateSelect",function(n){t.eBV(e);const r=t.XpG();return t.Njj(r.onDateSelection(n))}),t.k0s()}if(2&o){const e=t.XpG(),a=t.sdS(16);t.Y8G("minDate",e.todayDate)("displayMonths",2)("dayTemplate",a)("weekdays",!1)("ngClass",t.eq3(5,g,e.helpers.isInvalid(e.form,"status")))}}function B(o,d){if(1&o){const e=t.RV6();t.j41(0,"span",24),t.bIt("mouseenter",function(){const r=t.eBV(e).$implicit,l=t.XpG();return t.Njj(l.hoveredDate=r)})("mouseleave",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.hoveredDate=null)}),t.EFF(1),t.k0s()}if(2&o){const e=d.$implicit,a=d.focused,n=t.XpG();t.AVh("focused",a)("range",n.isRange(e))("faded",n.isHovered(e)||n.isInside(e)),t.Y8G("ngClass",t.eq3(8,g,n.helpers.isInvalid(n.form,"date_start"))),t.R7$(1),t.SpI(" ",e.day," ")}}function $(o,d){if(1&o&&(t.j41(0,"option",25),t.EFF(1),t.k0s()),2&o){const e=d.$implicit;t.Y8G("value",e.id),t.R7$(1),t.SpI(" ",e.fullname," ")}}const P=function(){return{standalone:!0}},R=[{path:"",component:(()=>{class o extends T.v{constructor(e,a,n,r,l,D,y,k,v){super(D,y,k,v),this.pengelola=a,this.activatedRoute=n,this.router=r,this.formBuilder=l,this.helpers=D,this.loading=y,this.api=k,this.modal=v,this.id="",this.form={},this.toDate=null,this.hoveredDate=null,this.dateRangeVisible=!1,this.showDatePicker=!1,this.status_id="FOLUP",this.dataPengelola="",this.filterByPengelola={filter:{urole_id:{eq:"1038dcc0-3bb0-4253-87fa-ef0e09a4429d"}},limit:10,sort:"-created_at"};const u=new Date;this.todayDate={year:u.getFullYear(),month:u.getMonth()+1,day:u.getDate()},this.pengelola.getAll(this.filterByPengelola).subscribe({next:({data:S})=>{this.dataPengelola=S}}),this.fromDate=e.getToday(),this.toDate=e.getNext(e.getToday(),"d",1)}ngOnInit(){this.id=this.activatedRoute.snapshot.params.id,this.initForm(),this.onMaintenanceByChange(this.selectedMaintenanceBy)}onBack(){this.router.navigate(["../"],{relativeTo:this.activatedRoute})}onMaintenanceByChange(e){e&&e.target&&this.form.controls.list.controls.maintenance_by.patchValue(e.target.value)}initForm(){this.form=this.formBuilder.group({report_id:[this.id],date_start:[this.fromDate,s.k0.required],date_end:[this.toDate],status:[null,p.M.noWhiteSpace],note:[null,p.M.noWhiteSpace],list:this.formBuilder.group({maintenance_by:[this.selectedMaintenanceBy,s.k0.required]})})}formatDate(e){return`${e.year}-${e.month<10?"0"+e.month:e.month}-${e.day<10?"0"+e.day:e.day}`}formatAndPatchValues(){const e=this.formatDate(this.fromDate),a=this.toDate?this.formatDate(this.toDate):null;this.form.patchValue({date_start:e,date_end:a})}onSubmit(){this.modal.open(b.a).result.then(a=>{a&&(this.formatAndPatchValues(),this.form.valid&&(this.api.insert(this.form.value).subscribe({next:()=>{this.helpers.toast("success","Data berhasil ditambahkan")},error:n=>{this.helpers.toast("error","Data gagal ditambahkan")}}),setTimeout(()=>{this.router.navigate(["dashboard","jadwal-perbaikan"])},2e3)))},()=>{})}getFormattedDateRange(){if(this.fromDate){const e=`${this.fromDate.day}/${this.fromDate.month}/${this.fromDate.year}`;return this.toDate?`${e} - ${this.toDate.day}/${this.toDate.month}/${this.toDate.year}`:e}return""}toggleDatePicker(){this.showDatePicker=!this.showDatePicker}onDateSelection(e){this.fromDate||this.toDate?this.fromDate&&!this.toDate&&e.after(this.fromDate)?this.toDate=e:(this.toDate=null,this.fromDate=e):this.fromDate=e}isHovered(e){return this.fromDate&&!this.toDate&&this.hoveredDate&&e.after(this.fromDate)&&e.before(this.hoveredDate)}isInside(e){return this.toDate&&e.after(this.fromDate)&&e.before(this.toDate)}isRange(e){return e.equals(this.fromDate)||this.toDate&&e.equals(this.toDate)||this.isInside(e)||this.isHovered(e)}static{this.\u0275fac=function(a){return new(a||o)(t.rXU(m.iF),t.rXU(j.D),t.rXU(h.nX),t.rXU(h.Ix),t.rXU(s.ok),t.rXU(C.V),t.rXU(_.U),t.rXU(M.r),t.rXU(m.Bq))}}static{this.\u0275cmp=t.VBU({type:o,selectors:[["app-tindak-lanjut"]],features:[t.Vt3],decls:32,vars:9,consts:[[1,"p-4","rounded-3","bg-white"],[1,"fw-semibold"],[1,"my-4","border-dark-subtle"],[3,"formGroup"],[1,"row","g-2","my-2"],[1,"col-md-4","col-form-label","text-body-tertiary"],[1,"col-md-8"],[1,"input-group",3,"click"],["placeholder","dd/mm/yyyy","type","text",1,"form-control",3,"readonly","value"],[1,"input-group-text",2,"cursor","pointer"],[1,"bi","bi-calendar4"],["outsideDays","hidden",3,"minDate","displayMonths","dayTemplate","weekdays","ngClass","dateSelect",4,"ngIf"],["t",""],[1,"fw-medium","mb-3"],[1,"row","g-2"],[1,"col-md-12"],[1,"mb-3"],["id","list",1,"form-select",3,"ngModel","ngModelOptions","change","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[1,"d-flex","align-items-center","justify-content-end","gap-2"],["type","button",1,"btn","btn-outline-primary",3,"click"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["outsideDays","hidden",3,"minDate","displayMonths","dayTemplate","weekdays","ngClass","dateSelect"],["dp",""],[1,"custom-day",3,"ngClass","mouseenter","mouseleave"],[3,"value"]],template:function(a,n){1&a&&(t.j41(0,"div",0)(1,"h5",1),t.EFF(2,"Tindak Lanjuti Laporan"),t.k0s(),t.nrm(3,"hr",2),t.j41(4,"div")(5,"form",3)(6,"div",4)(7,"label",5),t.EFF(8,"Tanggal"),t.k0s(),t.j41(9,"div",6)(10,"div",7),t.bIt("click",function(){return n.toggleDatePicker()}),t.nrm(11,"input",8),t.j41(12,"span",9),t.nrm(13,"i",10),t.k0s()(),t.DNE(14,F,2,7,"ngb-datepicker",11),t.DNE(15,B,2,10,"ng-template",null,12,t.C5r),t.k0s()(),t.nrm(17,"hr",2),t.j41(18,"div")(19,"h6",13),t.EFF(20,"Tambahkan Pengelola Jalan"),t.k0s(),t.j41(21,"div",14)(22,"div",15)(23,"div",16)(24,"select",17),t.bIt("change",function(l){return n.onMaintenanceByChange(l)})("ngModelChange",function(l){return n.selectedMaintenanceBy=l}),t.DNE(25,$,2,2,"option",18),t.k0s()()()()()()(),t.nrm(26,"hr",2),t.j41(27,"div",19)(28,"button",20),t.bIt("click",function(){return n.onBack()}),t.EFF(29," Batal "),t.k0s(),t.j41(30,"button",21),t.bIt("click",function(){return n.onSubmit()}),t.EFF(31," Simpan "),t.k0s()()()),2&a&&(t.R7$(5),t.Y8G("formGroup",n.form),t.R7$(6),t.Y8G("readonly",!0)("value",n.getFormattedDateRange()),t.R7$(3),t.Y8G("ngIf",n.showDatePicker),t.R7$(10),t.Y8G("ngModel",n.selectedMaintenanceBy)("ngModelOptions",t.lJ4(8,P)),t.R7$(1),t.Y8G("ngForOf",n.dataPengelola),t.R7$(5),t.Y8G("disabled",n.form.invalid))},dependencies:[c.YU,c.Sq,c.bT,m.yB,s.qT,s.xH,s.y7,s.wz,s.BC,s.cb,s.vS,s.j4],styles:[".custom-day[_ngcontent-%COMP%]{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused[_ngcontent-%COMP%]{background-color:#e6e6e6}.custom-day.range[_ngcontent-%COMP%], .custom-day[_ngcontent-%COMP%]:hover{background-color:#0275d8;color:#fff}.custom-day.faded[_ngcontent-%COMP%]{background-color:#0275d880}"]})}}return o})()}];let L=(()=>{class o{static{this.\u0275fac=function(a){return new(a||o)}}static{this.\u0275mod=t.$C({type:o})}static{this.\u0275inj=t.G2t({imports:[c.MD,h.iI.forChild(R),m.yB,s.YN,s.X1]})}}return o})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/3rdpartylicenses.txt b/frontend-roadreport-deploy/dist/road-report/3rdpartylicenses.txt new file mode 100644 index 0000000..bf39fe4 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/3rdpartylicenses.txt @@ -0,0 +1,784 @@ +@angular/animations +MIT + +@angular/cdk +MIT +The MIT License + +Copyright (c) 2023 Google LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@angular/common +MIT + +@angular/core +MIT + +@angular/forms +MIT + +@angular/localize +MIT + +@angular/platform-browser +MIT + +@angular/router +MIT + +@asymmetrik/ngx-leaflet +MIT +The MIT License (MIT) + +Copyright (c) 2007-2022 Asymmetrik Ltd, a BlueHalo Company + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +@auth0/angular-jwt +MIT +The MIT License (MIT) + +Copyright (c) 2017 Auth0 Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +@babel/runtime +MIT +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@ckeditor/ckeditor5-angular +GPL-2.0-or-later +Software License Agreement +========================== + +**CKEditor 5 component for Angular** – https://github.com/ckeditor/ckeditor5-angular
+Copyright (c) 2003-2023, [CKSource](http://cksource.com) Holding sp. z o.o. All rights reserved. + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +**CKEditor** is a trademark of [CKSource](http://cksource.com) Holding sp. z o.o. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. + + +@ckeditor/ckeditor5-build-classic +GPL-2.0-or-later +Software License Agreement +========================== + +**CKEditor 5 classic editor build** – https://github.com/ckeditor/ckeditor5-build-classic
+Copyright (c) 2003-2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved. + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission. + +The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT): + +* lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/. + +Trademarks +---------- + +**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. + + +@ckeditor/ckeditor5-watchdog +GPL-2.0-or-later +Software License Agreement +========================== + +**CKEditor 5 watchdog feature** – https://github.com/ckeditor/ckeditor5-watchdog
+Copyright (c) 2003-2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved. + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission. + +The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT): + +* lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/. + +Trademarks +---------- + +**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. + + +@ng-bootstrap/ng-bootstrap +MIT +The MIT License (MIT) + +Copyright (c) 2015-2018 Angular ng-bootstrap team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@popperjs/core +MIT +The MIT License (MIT) + +Copyright (c) 2019 Federico Zivolo + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +apexcharts +MIT +The MIT License (MIT) + +Copyright (c) 2018 ApexCharts + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +base64-js +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jameson Little + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +buffer +MIT +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh, and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +dayjs +MIT +MIT License + +Copyright (c) 2018-present, iamkun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +file-saver +MIT +The MIT License + +Copyright © 2016 [Eli Grey][1]. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + [1]: http://eligrey.com + + +ieee754 +BSD-3-Clause +Copyright 2008 Fair Oaks Labs, Inc. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +leaflet +BSD-2-Clause +BSD 2-Clause License + +Copyright (c) 2010-2023, Volodymyr Agafonkin +Copyright (c) 2010-2011, CloudMade +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +leaflet.markercluster +MIT + +lodash-es +MIT +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +mrmime +MIT +The MIT License (MIT) + +Copyright (c) Luke Edwards (https://lukeed.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +ng-apexcharts +MIT + +ngx-awesome-uploader +MIT + +ngx-filesaver +MIT + +ngx-lightbox +MIT +MIT License + +Copyright (c) 2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +ngx-toastr +MIT +The MIT License (MIT) + +Copyright (c) Scott Cooper + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +rxjs +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +tslib +0BSD +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +zone.js +MIT +The MIT License + +Copyright (c) 2010-2023 Google LLC. https://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/frontend-roadreport-deploy/dist/road-report/42.87bb3e2ac6183fef.js b/frontend-roadreport-deploy/dist/road-report/42.87bb3e2ac6183fef.js new file mode 100644 index 0000000..ff645dd --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/42.87bb3e2ac6183fef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[42],{8042:(u,e,r)=>{r.r(e),r.d(e,{ErrorNotFoundModule:()=>c});var i=r(177),t=r(8699),a=r(8185);const d=[{path:"",component:(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=t.VBU({type:o,selectors:[["app-error-not-found"]],decls:13,vars:0,consts:[[1,"container","text-dark","text-center","rounded-2","p-4","bg-white","bg-white","h-100"],[1,"text-center","display-4"],["src","../../../assets//images/error.png","alt","not-found 404",1,"img-fluid",2,"width","5%","height","5%"],[1,"text-body-tertiary"],["href","/","routerLink","/dashboard/home"],[1,"btn","btn-primary"]],template:function(n,m){1&n&&(t.j41(0,"div",0)(1,"div")(2,"h1",1),t.EFF(3,"404"),t.k0s(),t.nrm(4,"img",2),t.k0s(),t.j41(5,"div")(6,"h4"),t.EFF(7,"Oppps, halaman tidak ditemukan..."),t.k0s(),t.j41(8,"p",3),t.EFF(9,"halaman yang kamu cari tidak tersedia."),t.k0s(),t.j41(10,"a",4)(11,"button",5),t.EFF(12,"Back to home"),t.k0s()()()())},dependencies:[a.Wk]})}}return o})()}];let c=(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275mod=t.$C({type:o})}static{this.\u0275inj=t.G2t({imports:[i.MD,a.iI.forChild(d)]})}}return o})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/550.90d712180418ebb6.js b/frontend-roadreport-deploy/dist/road-report/550.90d712180418ebb6.js new file mode 100644 index 0000000..afe722b --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/550.90d712180418ebb6.js @@ -0,0 +1,9 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[550],{4550:(Le,Ne,ut)=>{var Pe;function Me(y,e){(null==e||e>y.length)&&(e=y.length);for(var t=0,i=Array(e);t>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-s)*r)+s)+256*(Math.round((a-n)*r)+n)+(Math.round((a-o)*r)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,t){return y.isColorHex(t)?this.shadeHexColor(e,t):this.shadeRGBColor(e,t)}}],[{key:"bind",value:function(e,t){return function(){return e.apply(t,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===J(e)&&!Array.isArray(e)&&null!=e}},{key:"is",value:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"}},{key:"listToArray",value:function(e){var t,i=[];for(t=0;t1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(e)?e:parseFloat(e.toPrecision(t))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(e){var t=String(e).split(/[eE]/);if(1===t.length)return t[0];var i="",a=e<0?"-":"",r=t[0].replace(".",""),s=Number(t[1])+1;if(s<0){for(i=a+"0.";s++;)i+="0";return i+r.replace(/^-/,"")}for(s-=r.length;s--;)i+="0";return r+i}},{key:"getDimensions",value:function(e){var t=getComputedStyle(e,null),i=e.clientHeight,a=e.clientWidth;return i-=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),[a-=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),i]}},{key:"getBoundingClientRect",value:function(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:e.clientWidth,height:e.clientHeight,x:t.left,y:t.top}}},{key:"getLargestStringFromArr",value:function(e){return e.reduce(function(t,i){return Array.isArray(i)&&(i=i.reduce(function(a,r){return a.length>r.length?a:r})),t.length>i.length?t:i},0)}},{key:"hexToRgba",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==e.substring(0,1)&&(e="#999999");var i=e.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x";return e.toString().slice().replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,t)}},{key:"negToZero",value:function(e){return e<0?0:e}},{key:"moveIndexInArray",value:function(e,t,i){if(i>=e.length)for(var a=i-e.length+1;a--;)e.push(void 0);return e.splice(i,0,e.splice(t,1)[0]),e}},{key:"extractNumber",value:function(e){return parseFloat(e.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e}},{key:"setELstyles",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e.style.key=t[i])}},{key:"preciseAddition",value:function(e,t){var i=(String(e).split(".")[1]||"").length,a=(String(t).split(".")[1]||"").length,r=Math.pow(10,Math.max(i,a));return(Math.round(e*r)+Math.round(t*r))/r}},{key:"isNumber",value:function(e){return!isNaN(e)&&parseFloat(Number(e))===e&&!isNaN(parseInt(e,10))}},{key:"isFloat",value:function(e){return Number(e)===e&&e%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isMsEdge",value:function(){var e=window.navigator.userAgent,t=e.indexOf("Edge/");return t>0&&parseInt(e.substring(t+5,e.indexOf(".",t)),10)}},{key:"getGCD",value:function(e,t){var a=Math.pow(10,(arguments.length>2&&void 0!==arguments[2]?arguments[2]:7)-Math.floor(Math.log10(Math.max(e,t))));for(e=Math.round(Math.abs(e)*a),t=Math.round(Math.abs(t)*a);t;){var r=t;t=e%t,e=r}return e/a}},{key:"getPrimeFactors",value:function(e){for(var t=[],i=2;e>=2;)e%i==0?(t.push(i),e/=i):i++;return t}},{key:"mod",value:function(e,t){var a=Math.pow(10,(arguments.length>2&&void 0!==arguments[2]?arguments[2]:7)-Math.floor(Math.log10(Math.max(e,t))));return(e=Math.round(Math.abs(e)*a))%(t=Math.round(Math.abs(t)*a))/a}}]),y}(),ce=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return F(y,[{key:"setEasingFunctions",value:function(){var e;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":e="-";break;case"easein":e="<";break;case"easeout":e=">";break;case"easeinout":default:e="<>";break;case"swing":e=function(t){var i=1.70158;return(t-=1)*t*((i+1)*t+i)+1};break;case"bounce":e=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":e=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=e}}},{key:"animateLine",value:function(e,t,i,a){e.attr(t).animate(a).attr(i)}},{key:"animateMarker",value:function(e,t,i,a){e.attr({opacity:0}).animate(t,i).attr({opacity:1}).afterAll(function(){a()})}},{key:"animateRect",value:function(e,t,i,a,r){e.attr(t).animate(a).attr(i).afterAll(function(){return r()})}},{key:"animatePathsGradually",value:function(e){var c=this.w,d=0;c.config.chart.animations.animateGradually.enabled&&(d=c.config.chart.animations.animateGradually.delay),c.config.chart.animations.dynamicAnimation.enabled&&c.globals.dataChanged&&"bar"!==c.config.chart.type&&(d=0),this.morphSVG(e.el,e.realIndex,e.j,"line"!==c.config.chart.type||c.globals.comboCharts?e.fill:"stroke",e.pathFrom,e.pathTo,e.speed,e.delay*d)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(e){var t=e.el;t.classList.remove("apexcharts-element-hidden"),t.classList.add("apexcharts-hidden-element-shown")})}},{key:"animationCompleted",value:function(e){var t=this.w;t.globals.animationEnded||(t.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof t.config.chart.events.animationEnd&&t.config.chart.events.animationEnd(this.ctx,{el:e,w:t}))}},{key:"morphSVG",value:function(e,t,i,a,r,s,n,o){var h=this,c=this.w;r||(r=e.attr("pathFrom")),s||(s=e.attr("pathTo"));var d=function(g){return"radar"===c.config.chart.type&&(n=1),"M 0 ".concat(c.globals.gridHeight)};(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=d()),(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=d()),c.globals.shouldAnimate||(n=1),e.plot(r).animate(1,c.globals.easing,o).plot(r).animate(n,c.globals.easing,o).plot(s).afterAll(function(){P.isNumber(i)?i===c.globals.series[c.globals.maxValsInArrayIndex].length-2&&c.globals.shouldAnimate&&h.animationCompleted(e):"none"!==a&&c.globals.shouldAnimate&&(!c.globals.comboCharts&&t===c.globals.series.length-1||c.globals.comboCharts)&&h.animationCompleted(e),h.showDelayedElements()})}}]),y}(),K=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"getDefaultFilter",value:function(e,t){var i=this.w;e.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(e,t,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addNormalFilter",value:function(e,t){var i=this.w;i.config.chart.dropShadow.enabled&&!e.node.classList.contains("apexcharts-marker")&&this.dropShadow(e,i.config.chart.dropShadow,t)}},{key:"addLightenFilter",value:function(e,t,i){var a=this,r=this.w,s=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=r.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:s}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"addDarkenFilter",value:function(e,t,i){var a=this,r=this.w,s=i.intensity;e.unfilter(!0),new window.SVG.Filter,e.filter(function(n){var o=r.config.chart.dropShadow;(o.enabled?a.addShadow(n,t,o):n).componentTransfer({rgb:{type:"linear",slope:s}})}),e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)}},{key:"applyFilter",value:function(e,t,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(e,t);break;case"lighten":this.addLightenFilter(e,t,{intensity:a});break;case"darken":this.addDarkenFilter(e,t,{intensity:a})}}},{key:"addShadow",value:function(e,t,i){var a,r=this.w,s=i.blur,n=i.top,o=i.left,h=i.color,c=i.opacity;if((null===(a=r.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===r.config.chart.dropShadow.enabledOnSeries.indexOf(t))return e;var d=e.flood(Array.isArray(h)?h[t]:h,c).composite(e.sourceAlpha,"in").offset(o,n).gaussianBlur(s).merge(e.source);return e.blend(e.source,d)}},{key:"dropShadow",value:function(e,t){var i,a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=t.top,n=t.left,o=t.blur,h=t.color,c=t.opacity,d=t.noUserSpaceOnUse,g=this.w;return e.unfilter(!0),P.isMsEdge()&&"radialBar"===g.config.chart.type||(null===(i=g.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=g.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(r))||(h=Array.isArray(h)?h[r]:h,e.filter(function(p){var x;x=P.isSafari()||P.isFirefox()||P.isMsEdge()?p.flood(h,c).composite(p.sourceAlpha,"in").offset(n,s).gaussianBlur(o):p.flood(h,c).composite(p.sourceAlpha,"in").offset(n,s).gaussianBlur(o).merge(p.source),p.blend(p.source,x)}),d||e.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(e.filterer.node)),e}},{key:"setSelectionFilter",value:function(e,t,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[t]&&a.globals.selectedDataPoints[t].indexOf(i)>-1){e.node.setAttribute("selected",!0);var r=a.config.states.active.filter;"none"!==r&&this.applyFilter(e,t,r.type,r.value)}}},{key:"_scaleFilterSize",value:function(e){!function(t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),y}(),z=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"roundPathCorners",value:function(e,t){function i(S,L,C){var M=L.x-S.x,X=L.y-S.y,I=Math.sqrt(M*M+X*X);return a(S,L,Math.min(1,C/I))}function a(S,L,C){return{x:S.x+(L.x-S.x)*C,y:S.y+(L.y-S.y)*C}}function r(S,L){S.length>2&&(S[S.length-2]=L.x,S[S.length-1]=L.y)}function s(S){return{x:parseFloat(S[S.length-2]),y:parseFloat(S[S.length-1])}}e.indexOf("NaN")>-1&&(e="");var n=e.split(/[,\s]/).reduce(function(S,L){var C=L.match("([a-zA-Z])(.+)");return C?(S.push(C[1]),S.push(C[2])):S.push(L),S},[]).reduce(function(S,L){return parseFloat(L)==L&&S.length?S[S.length-1].push(L):S.push([L]),S},[]),o=[];if(n.length>1){var h=s(n[0]),c=null;"Z"==n[n.length-1][0]&&n[0].length>2&&(n[n.length-1]=c=["L",h.x,h.y]),o.push(n[0]);for(var d=1;d2&&"L"==p[0]&&x.length>2&&"L"==x[0]){var f,m,v=s(g),w=s(p),l=s(x);f=i(w,v,t),m=i(w,l,t),r(p,f),p.origPoint=w,o.push(p);var u=a(f,w,.5),b=a(w,m,.5),A=["C",u.x,u.y,b.x,b.y,m.x,m.y];A.origPoint=w,o.push(A)}else o.push(p)}if(c){var k=s(o[o.length-1]);o.push(["Z"]),r(o[0],k)}}else o=n;return o.reduce(function(S,L){return S+L.join(" ")+" "},"")}},{key:"drawLine",value:function(e,t,i,a){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:e,y1:t,x2:i,y2:a,stroke:r,"stroke-dasharray":s,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,d=this.w.globals.dom.Paper.rect();return d.attr({x:e,y:t,width:i>0?i:0,height:a>0?a:0,rx:r,ry:r,opacity:n,"stroke-width":null!==o?o:0,stroke:null!==h?h:"none","stroke-dasharray":c}),d.node.setAttribute("fill",s),d}},{key:"drawPolygon",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(e).attr({fill:a,stroke:t,"stroke-width":i})}},{key:"drawCircle",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e<0&&(e=0);var i=this.w.globals.dom.Paper.circle(2*e);return null!==t&&i.attr(t),i}},{key:"drawPath",value:function(e){var t=e.d,i=void 0===t?"":t,a=e.stroke,r=void 0===a?"#a8a8a8":a,s=e.strokeWidth,n=void 0===s?1:s,o=e.fill,h=e.fillOpacity,c=void 0===h?1:h,d=e.strokeOpacity,g=void 0===d?1:d,p=e.classes,x=e.strokeLinecap,f=void 0===x?null:x,m=e.strokeDashArray,v=void 0===m?0:m,w=this.w;return null===f&&(f=w.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(w.globals.gridHeight)),w.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":c,stroke:r,"stroke-opacity":g,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":v,class:p})}},{key:"group",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.w.globals.dom.Paper.group();return null!==e&&t.attr(e),t}},{key:"move",value:function(e,t){return["M",e,t].join(" ")}},{key:"line",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",e,t].join(" "):"H"===i?a=[" H",e].join(" "):"V"===i&&(a=[" V",t].join(" ")),a}},{key:"curve",value:function(e,t,i,a,r,s){return["C",e,t,i,a,r,s].join(" ")}},{key:"quadraticCurve",value:function(e,t,i,a){return["Q",e,t,i,a].join(" ")}},{key:"arc",value:function(e,t,i,a,r,s,n){var o="A";return arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o="a"),[o,e,t,i,a,r,s,n].join(" ")}},{key:"renderPaths",value:function(e){var t,i=e.j,a=e.realIndex,r=e.pathFrom,s=e.pathTo,n=e.stroke,o=e.strokeWidth,h=e.strokeLinecap,c=e.fill,d=e.animationDelay,g=e.initialSpeed,p=e.dataChangeSpeed,x=e.className,f=e.chartType,m=e.shouldClipToGrid,v=void 0===m||m,w=e.bindEventsOnPaths,l=void 0===w||w,u=e.drawShadow,b=void 0===u||u,A=this.w,k=new K(this.ctx),S=new ce(this.ctx),L=this.w.config.chart.animations.enabled,C=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||C&&A.globals.dataChanged&&A.globals.shouldAnimate);M?t=r:(t=s,A.globals.animationEnded=!0);var I,X=A.config.stroke.dashArray;I=Array.isArray(X)?X[a]:A.config.stroke.dashArray;var T=this.drawPath({d:t,stroke:n,strokeWidth:o,fill:c,fillOpacity:1,classes:x,strokeLinecap:h,strokeDashArray:I});T.attr("index",a),v&&T.attr("bar"===f&&!A.globals.isHorizontal||A.globals.comboCharts?{"clip-path":"url(#gridRectBarMask".concat(A.globals.cuid,")")}:{"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type?k.getDefaultFilter(T,a):A.config.chart.dropShadow.enabled&&b&&k.dropShadow(T,A.config.chart.dropShadow,a),l&&(T.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,T)),T.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,T)),T.node.addEventListener("mousedown",this.pathMouseDown.bind(this,T))),T.attr({pathTo:s,pathFrom:r});var D={el:T,j:i,realIndex:a,pathFrom:r,pathTo:s,fill:c,strokeWidth:o,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||S.showDelayedElements():S.animatePathsGradually(E(E({},D),{},{speed:g})),A.globals.dataChanged&&C&&M&&S.animatePathsGradually(E(E({},D),{},{speed:p})),T}},{key:"drawPattern",value:function(e,t,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(t,i,function(s){"horizontalLines"===e?s.line(0,0,i,0).stroke({color:a,width:r+1}):"verticalLines"===e?s.line(0,0,0,t).stroke({color:a,width:r+1}):"slantedLines"===e?s.line(0,0,t,i).stroke({color:a,width:r}):"squares"===e?s.rect(t,i).fill("none").stroke({color:a,width:r}):"circles"===e&&s.circle(t).fill("none").stroke({color:a,width:r})})}},{key:"drawGradient",value:function(e,t,i,a,r){var s,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,h=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,c=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,d=this.w;t.length<9&&0===t.indexOf("#")&&(t=P.hexToRgba(t,a)),i.length<9&&0===i.indexOf("#")&&(i=P.hexToRgba(i,r));var g=0,p=1,x=1,f=null;null!==o&&(g=void 0!==o[0]?o[0]/100:0,p=void 0!==o[1]?o[1]/100:1,x=void 0!==o[2]?o[2]/100:1,f=void 0!==o[3]?o[3]/100:null);var m=!("donut"!==d.config.chart.type&&"pie"!==d.config.chart.type&&"polarArea"!==d.config.chart.type&&"bubble"!==d.config.chart.type);return s=d.globals.dom.Paper.gradient(m?"radial":"linear",null===h||0===h.length?function(l){l.at(g,t,a),l.at(p,i,r),l.at(x,i,r),null!==f&&l.at(f,t,a)}:function(l){(Array.isArray(h[c])?h[c]:h).forEach(function(u){l.at(u.offset/100,u.color,u.opacity)})}),m?s.attr("bubble"!==d.config.chart.type?{gradientUnits:"userSpaceOnUse",cx:d.globals.gridWidth/2,cy:d.globals.gridHeight/2,r:n}:{cx:.5,cy:.5,r:.8,fx:.2,fy:.2}):"vertical"===e?s.from(0,0).to(0,1):"diagonal"===e?s.from(0,0).to(1,1):"horizontal"===e?s.from(0,1).to(1,1):"diagonal2"===e&&s.from(1,0).to(0,1),s}},{key:"getTextBasedOnMaxWidth",value:function(e){var t=e.text,i=e.maxWidth,s=this.getTextRects(t,e.fontSize,e.fontFamily),o=Math.floor(i/(s.width/t.length));return i-1){var o=i.globals.selectedDataPoints[r].indexOf(s);i.globals.selectedDataPoints[r].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var h=i.globals.dom.Paper.select(".apexcharts-series path").members,c=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,d=function(x){Array.prototype.forEach.call(x,function(f){f.node.setAttribute("selected","false"),a.getDefaultFilter(f,r)})};d(h),d(c)}e.node.setAttribute("selected","true"),n="true",void 0===i.globals.selectedDataPoints[r]&&(i.globals.selectedDataPoints[r]=[]),i.globals.selectedDataPoints[r].push(s)}if("true"===n){var g=i.config.states.active.filter;if("none"!==g)a.applyFilter(e,r,g.type,g.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var p=i.config.states.hover.filter;a.applyFilter(e,r,p.type,p.value)}}else"none"!==i.config.states.active.filter.type&&("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice?a.getDefaultFilter(e,r):a.applyFilter(e,r,(p=i.config.states.hover.filter).type,p.value));"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:r,dataPointIndex:s,w:i}),t&&this.ctx.events.fireEvent("dataPointSelection",[t,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:r,dataPointIndex:s,w:i}])}},{key:"rotateAroundCenter",value:function(e){var t={};return e&&"function"==typeof e.getBBox&&(t=e.getBBox()),{x:t.x+t.width/2,y:t.y+t.height/2}}},{key:"getTextRects",value:function(e,t,i,a){var r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=this.w,n=this.drawText({x:-200,y:-200,text:e,textAnchor:"start",fontSize:t,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),s.globals.dom.Paper.add(n);var o=n.bbox();return r||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(e,t,i){if("function"==typeof e.getComputedTextLength&&(e.textContent=t,t.length>0&&e.getComputedTextLength()>=i/1.1)){for(var a=t.length-3;a>0;a-=3)if(e.getSubStringLength(0,a)<=i/1.1)return void(e.textContent=t.substring(0,a)+"...");e.textContent="."}}}],[{key:"setAttrs",value:function(e,t){for(var i in t)t.hasOwnProperty(i)&&e.setAttribute(i,t[i])}}]),y}(),Z=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"getStackedSeriesTotals",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.w,i=[];if(0===t.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===e?this.w.config.series.reduce(function(t,i){return t+i},0):this.w.globals.series[e].reduce(function(t,i){return t+i},0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var e=this,t=this.w,i=[];return t.globals.seriesGroups.forEach(function(a){var r=[];t.config.series.forEach(function(n,o){a.indexOf(t.globals.seriesNames[o])>-1&&r.push(o)});var s=t.globals.series.map(function(n,o){return-1===r.indexOf(o)?o:-1}).filter(function(n){return-1!==n});i.push(e.getStackedSeriesTotals(s))}),i}},{key:"setSeriesYAxisMappings",value:function(){var e=this.w.globals,t=this.w.config,i=[],a=[],r=[],s=e.series.length>t.yaxis.length||t.yaxis.some(function(d){return Array.isArray(d.seriesName)});t.series.forEach(function(d,g){r.push(g),a.push(null)}),t.yaxis.forEach(function(d,g){i[g]=[]});var n=[];t.yaxis.forEach(function(d,g){var p=!1;if(d.seriesName){var x=[];Array.isArray(d.seriesName)?x=d.seriesName:x.push(d.seriesName),x.forEach(function(f){t.series.forEach(function(m,v){if(m.name===f){var w=v;g===v||s?!s||r.indexOf(v)>-1?i[g].push([g,v]):console.warn("Series '"+m.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[v].push([v,g]),w=g),p=!0,-1!==(w=r.indexOf(w))&&r.splice(w,1)}})})}p||n.push(g)}),i=i.map(function(d,g){var p=[];return d.forEach(function(x){a[x[1]]=x[0],p.push(x[1])}),p});for(var o=t.yaxis.length-1,h=0;h0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===e?this.w.config.series.filter(function(t){return null!==t}):this.w.config.series[e].data.filter(function(t){return null!==t})).length}},{key:"seriesHaveSameValues",value:function(e){return this.w.globals.series[e].every(function(t,i,a){return t===a[0]})}},{key:"getCategoryLabels",value:function(e){var t=this.w,i=e.slice();return t.config.xaxis.convertedCatToNumeric&&(i=e.map(function(a,r){return t.config.xaxis.labels.formatter(a-t.globals.minX+1)})),i}},{key:"getLargestSeries",value:function(){var e=this.w;e.globals.maxValsInArrayIndex=e.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,e.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var e=this.w,t=0;return e.globals.markers.size.forEach(function(i){t=Math.max(t,i)}),e.config.markers.discrete&&e.config.markers.discrete.length&&e.config.markers.discrete.forEach(function(i){t=Math.max(t,i.size)}),t>0&&(e.config.markers.hover.size>0?t=e.config.markers.hover.size:t+=e.config.markers.hover.sizeOffset),e.globals.markers.largestSize=t,t}},{key:"getSeriesTotals",value:function(){var e=this.w;e.globals.seriesTotals=e.globals.series.map(function(t,i){var a=0;if(Array.isArray(t))for(var r=0;re&&i.globals.seriesX[r][n]0){var x=function(m,v){var w=r.config.yaxis[r.globals.seriesYAxisReverseMap[v]],l=m<0?-1:1;return m=Math.abs(m),w.logarithmic&&(m=a.getBaseLog(w.logBase,m)),-l*m/n[v]};if(s.isMultipleYAxis){h=[];for(var f=0;f0&&t.forEach(function(n){var o=[],h=[];e.i.forEach(function(c,d){r.config.series[c].group===n&&(o.push(e.series[d]),h.push(c))}),o.length>0&&s.push(a.draw(o,i,h))}),s}}],[{key:"checkComboSeries",value:function(e,t){var i=!1,a=0,r=0;return void 0===t&&(t="line"),e.length&&void 0!==e[0].type&&e.forEach(function(s){"bar"!==s.type&&"column"!==s.type&&"candlestick"!==s.type&&"boxPlot"!==s.type||a++,void 0!==s.type&&s.type!==t&&r++}),r>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(e,t,i){var a,r,s,n,o,h;return null!==(a=t)&&void 0!==a&&a.yaxis&&(t=e.extendYAxis(t,i)),null!==(r=t)&&void 0!==r&&r.annotations&&(t.annotations.yaxis&&(t=e.extendYAxisAnnotations(t)),null!==(s=t)&&void 0!==s&&null!==(n=s.annotations)&&void 0!==n&&n.xaxis&&(t=e.extendXAxisAnnotations(t)),null!==(o=t)&&void 0!==o&&null!==(h=o.annotations)&&void 0!==h&&h.points&&(t=e.extendPointAnnotations(t))),t}}]),y}(),Ae=function(){function y(e){Y(this,y),this.w=e.w,this.annoCtx=e}return F(y,[{key:"setOrientations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("vertical"===e.label.orientation){var r=this.w.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(null!==t?t:0,"']"));if(null!==r){var s=r.getBoundingClientRect();r.setAttribute("x",parseFloat(r.getAttribute("x"))-s.height+4);var n="top"===e.label.position?s.width:-s.width;r.setAttribute("y",parseFloat(r.getAttribute("y"))+n);var o=this.annoCtx.graphics.rotateAroundCenter(r),c=o.y;r.setAttribute("transform","rotate(-90 ".concat(o.x," ").concat(c,")"))}}}},{key:"addBackgroundToAnno",value:function(e,t){var i=this.w;if(!e||!t.label.text||!String(t.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),r=e.getBoundingClientRect(),s=t.label.style.padding,n=s.left,o=s.right,h=s.top,c=s.bottom;if("vertical"===t.label.orientation){var d=[n,o,h,c];h=d[0],c=d[1],n=d[2],o=d[3]}var x=this.annoCtx.graphics.drawRect(r.left-a.left-n-i.globals.barPadForNumericAxis,r.top-a.top-h,r.width+n+o,r.height+h+c,t.label.borderRadius,t.label.style.background,1,t.label.borderWidth,t.label.borderColor,0);return t.id&&x.node.classList.add(t.id),x}},{key:"annotationsBackground",value:function(){var e=this,t=this.w,i=function(a,r,s){var n=t.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(r,"']"));if(n){var o=n.parentNode,h=e.addBackgroundToAnno(n,a);h&&(o.insertBefore(h.node,n),a.label.mouseEnter&&h.node.addEventListener("mouseenter",a.label.mouseEnter.bind(e,a)),a.label.mouseLeave&&h.node.addEventListener("mouseleave",a.label.mouseLeave.bind(e,a)),a.label.click&&h.node.addEventListener("click",a.label.click.bind(e,a)))}};t.config.annotations.xaxis.forEach(function(a,r){return i(a,r,"xaxis")}),t.config.annotations.yaxis.forEach(function(a,r){return i(a,r,"yaxis")}),t.config.annotations.points.forEach(function(a,r){return i(a,r,"point")})}},{key:"getY1Y2",value:function(e,t){var i,a=this.w,r="y1"===e?t.y:t.y2,s=!1;if(this.annoCtx.invertAxis){var n=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,o=n.indexOf(r),h=a.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(o+1,")"));i=h?parseFloat(h.getAttribute("y")):(a.globals.gridHeight/n.length-1)*(o+1)-a.globals.barHeight,void 0!==t.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*t.seriesIndex)}else{var c,d=a.globals.seriesYAxisMap[t.yAxisIndex][0],g=a.config.yaxis[t.yAxisIndex].logarithmic?new Z(this.annoCtx.ctx).getLogVal(a.config.yaxis[t.yAxisIndex].logBase,r,d)/a.globals.yLogRatio[d]:(r-a.globals.minYArr[d])/(a.globals.yRange[d]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(g,0),a.globals.gridHeight),s=g>a.globals.gridHeight||g<0,!t.marker||null!=t.y||(i=0),null!==(c=a.config.yaxis[t.yAxisIndex])&&void 0!==c&&c.reversed&&(i=g)}return"string"==typeof r&&r.includes("px")&&(i=parseFloat(r)),{yP:i,clipped:s}}},{key:"getX1X2",value:function(e,t){var i=this.w,a="x1"===e?t.x:t.x2,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=this.annoCtx.inversedReversedAxis?((this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX)-a)/(n/i.globals.gridWidth):(a-(this.annoCtx.invertAxis?i.globals.minY:i.globals.minX))/(n/i.globals.gridWidth);return"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(o=this.getStringX(a)),"string"==typeof a&&a.includes("px")&&(o=parseFloat(a)),null==a&&t.marker&&(o=i.globals.gridWidth),void 0!==t.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(o-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*t.seriesIndex),{x:o=Math.min(Math.max(o,0),i.globals.gridWidth),clipped:0===o||o===i.globals.gridWidth}}},{key:"getStringX",value:function(e){var t=this.w,i=e;t.config.xaxis.convertedCatToNumeric&&t.globals.categoryLabels.length&&(e=t.globals.categoryLabels.indexOf(e)+1);var a=t.globals.labels.map(function(s){return Array.isArray(s)?s.join(" "):s}).indexOf(e),r=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(a+1,")"));return r&&(i=parseFloat(r.getAttribute("x"))),i}}]),y}(),pt=function(){function y(e){Y(this,y),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new Ae(this.annoCtx)}return F(y,[{key:"addXaxisAnnotation",value:function(e,t,i){var a,r=this.w,s=this.helpers.getX1X2("x1",e),n=s.x,o=s.clipped,h=!0,c=e.label.text,d=e.strokeDashArray;if(P.isNumber(n)){if(null==e.x2){if(!o){var g=this.annoCtx.graphics.drawLine(n+e.offsetX,0+e.offsetY,n+e.offsetX,r.globals.gridHeight+e.offsetY,e.borderColor,d,e.borderWidth);t.appendChild(g.node),e.id&&g.node.classList.add(e.id)}}else{var p=this.helpers.getX1X2("x2",e);if(a=p.x,h=p.clipped,!o||!h){if(a12?p-12:0===p?12:p;t=(t=(t=(t=t.replace(/(^|[^\\])HH+/g,"$1"+h(p))).replace(/(^|[^\\])H/g,"$1"+p)).replace(/(^|[^\\])hh+/g,"$1"+h(x))).replace(/(^|[^\\])h/g,"$1"+x);var f=a?e.getUTCMinutes():e.getMinutes();t=(t=t.replace(/(^|[^\\])mm+/g,"$1"+h(f))).replace(/(^|[^\\])m/g,"$1"+f);var m=a?e.getUTCSeconds():e.getSeconds();t=(t=t.replace(/(^|[^\\])ss+/g,"$1"+h(m))).replace(/(^|[^\\])s/g,"$1"+m);var v=a?e.getUTCMilliseconds():e.getMilliseconds();t=t.replace(/(^|[^\\])fff+/g,"$1"+h(v,3)),v=Math.round(v/10),t=t.replace(/(^|[^\\])ff/g,"$1"+h(v)),v=Math.round(v/10);var w=p<12?"AM":"PM";t=(t=(t=t.replace(/(^|[^\\])f/g,"$1"+v)).replace(/(^|[^\\])TT+/g,"$1"+w)).replace(/(^|[^\\])T/g,"$1"+w.charAt(0));var l=w.toLowerCase();t=(t=t.replace(/(^|[^\\])tt+/g,"$1"+l)).replace(/(^|[^\\])t/g,"$1"+l.charAt(0));var u=-e.getTimezoneOffset(),b=a||!u?"Z":u>0?"+":"-";if(!a){var A=(u=Math.abs(u))%60;b+=h(Math.floor(u/60))+":"+h(A)}t=t.replace(/(^|[^\\])K/g,"$1"+b);var k=(a?e.getUTCDay():e.getDay())+1;return(t=(t=(t=(t=t.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(o[0],"g"),o[k])).replace(new RegExp(r[0],"g"),r[d])).replace(new RegExp(s[0],"g"),s[d])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(e,t,i){var a=this.w;void 0!==a.config.xaxis.min&&(e=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(t=a.config.xaxis.max);var r=this.getDate(e),s=this.getDate(t),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"calculcateLastDaysOfMonth",value:function(e,t,i){return this.determineDaysOfMonths(e,t)-i}},{key:"determineDaysOfYear",value:function(e){var t=365;return this.isLeapYear(e)&&(t=366),t}},{key:"determineRemainingDaysOfYear",value:function(e,t,i){var a=this.daysCntOfYear[t]+i;return t>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(e,t){var i=30;switch(e=P.monthMod(e),!0){case this.months30.indexOf(e)>-1:2===e&&(i=this.isLeapYear(t)?29:28);break;case this.months31.indexOf(e)>-1:default:i=31}return i}}]),y}(),xe=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return F(y,[{key:"xLabelFormat",value:function(e,t,i,a){var r=this.w;if("datetime"===r.config.xaxis.type&&void 0===r.config.xaxis.labels.formatter&&void 0===r.config.tooltip.x.formatter){var s=new Q(this.ctx);return s.formatDate(s.getDate(t),r.config.tooltip.x.format)}return e(t,i,a)}},{key:"defaultGeneralFormatter",value:function(e){return Array.isArray(e)?e.map(function(t){return t}):e}},{key:"defaultYFormatter",value:function(e,t,i){var a=this.w;if(P.isNumber(e))if(0!==a.globals.yValueDecimal)e=e.toFixed(void 0!==t.decimalsInFloat?t.decimalsInFloat:a.globals.yValueDecimal);else{var r=e.toFixed(0);e=e==r?r:e.toFixed(1)}return e}},{key:"setLabelFormatters",value:function(){var e=this,t=this.w;return t.globals.xaxisTooltipFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttKeyFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.ttZFormatter=function(i){return i},t.globals.legendFormatter=function(i){return e.defaultGeneralFormatter(i)},t.globals.xLabelFormatter=void 0!==t.config.xaxis.labels.formatter?t.config.xaxis.labels.formatter:function(i){if(P.isNumber(i)){if(!t.config.xaxis.convertedCatToNumeric&&"numeric"===t.config.xaxis.type){if(P.isNumber(t.config.xaxis.decimalsInFloat))return i.toFixed(t.config.xaxis.decimalsInFloat);var a=t.globals.maxX-t.globals.minX;return i.toFixed(a>0&&a<100?1:0)}return i.toFixed(t.globals.isBarHorizontal&&t.globals.maxY-t.globals.minYArr<4?1:0)}return i},t.globals.ttKeyFormatter="function"==typeof t.config.tooltip.x.formatter?t.config.tooltip.x.formatter:t.globals.xLabelFormatter,"function"==typeof t.config.xaxis.tooltip.formatter&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),(Array.isArray(t.config.tooltip.y)||void 0!==t.config.tooltip.y.formatter)&&(t.globals.ttVal=t.config.tooltip.y),void 0!==t.config.tooltip.z.formatter&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),void 0!==t.config.legend.formatter&&(t.globals.legendFormatter=t.config.legend.formatter),t.config.yaxis.forEach(function(i,a){t.globals.yLabelFormatters[a]=void 0!==i.labels.formatter?i.labels.formatter:function(r){return t.globals.xyCharts?Array.isArray(r)?r.map(function(s){return e.defaultYFormatter(s,i,a)}):e.defaultYFormatter(r,i,a):r}}),t.globals}},{key:"heatmapLabelFormatters",value:function(){var e=this.w;if("heatmap"===e.config.chart.type){e.globals.yAxisScale[0].result=e.globals.seriesNames.slice();var t=e.globals.seriesNames.reduce(function(i,a){return i.length>a.length?i:a},0);e.globals.yAxisScale[0].niceMax=t,e.globals.yAxisScale[0].niceMin=t}}}]),y}(),le=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"getLabel",value:function(e,t,i,a){var m,v,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,h=void 0===e[a]?"":e[a],c=h,d=o.globals.xLabelFormatter,g=o.config.xaxis.labels.formatter,p=!1,x=new xe(this.ctx);n&&(c=x.xLabelFormat(d,h,h,{i:a,dateFormatter:new Q(this.ctx).formatDate,w:o}),void 0!==g&&(c=g(h,e[a],{i:a,dateFormatter:new Q(this.ctx).formatDate,w:o}))),t.length>0?(m=t[a].unit,v=null,t.forEach(function(b){"month"===b.unit?v="year":"day"===b.unit?v="month":"hour"===b.unit?v="day":"minute"===b.unit&&(v="hour")}),p=v===m,i=t[a].position,c=t[a].value):"datetime"===o.config.xaxis.type&&void 0===g&&(c=""),void 0===c&&(c=""),c=Array.isArray(c)?c:c.toString();var l,w=new z(this.ctx);l=o.globals.rotateXLabels&&n?w.getTextRects(c,parseInt(s,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):w.getTextRects(c,parseInt(s,10));var u=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(c)&&("NaN"===String(c)||r.indexOf(c)>=0&&u)&&(c=""),{x:i,text:c,textRect:l,isBold:p}}},{key:"checkLabelBasedOnTickamount",value:function(e,t,i){var a=this.w,r=a.config.xaxis.tickAmount;return"dataPoints"===r&&(r=Math.round(a.globals.gridWidth/120)),r>i||e%Math.round(i/(r+1))==0||(t.text=""),t}},{key:"checkForOverflowingLabels",value:function(e,t,i,a,r){var s=this.w;if(0===e&&s.globals.skipFirstTimelinelabel&&(t.text=""),e===i-1&&s.globals.skipLastTimelinelabel&&(t.text=""),s.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=r[r.length-1];t.xa.length||a.some(function(r){return Array.isArray(r.seriesName)})?e:i.seriesYAxisReverseMap[e]}},{key:"isYAxisHidden",value:function(e){var t=this.w,i=t.config.yaxis[e];if(!i.show||this.yAxisAllSeriesCollapsed(e))return!0;if(!i.showForNullSeries){var a=t.globals.seriesYAxisMap[e],r=new Z(this.ctx);return a.every(function(s){return r.isSeriesNull(s)})}return!1}},{key:"getYAxisForeColor",value:function(e,t){var i=this.w;return Array.isArray(e)&&i.globals.yAxisScale[t]&&this.ctx.theme.pushExtraColors(e,i.globals.yAxisScale[t].result.length,!1),e}},{key:"drawYAxisTicks",value:function(e,t,i,a,r,s,n){var o=this.w,h=new z(this.ctx),c=o.globals.translateY+o.config.yaxis[r].labels.offsetY;if(o.globals.isBarHorizontal?c=0:"heatmap"===o.config.chart.type&&(c+=s/2),a.show&&t>0){!0===o.config.yaxis[r].opposite&&(e+=a.width);for(var d=t;d>=0;d--){var g=h.drawLine(e+i.offsetX-a.width+a.offsetX,c+a.offsetY,e+i.offsetX+a.offsetX,c+a.offsetY,a.color);n.add(g),c+=s}}}}]),y}(),ft=function(){function y(e){Y(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new Ae(this.annoCtx),this.axesUtils=new le(this.annoCtx)}return F(y,[{key:"addYaxisAnnotation",value:function(e,t,i){var a,r=this.w,s=e.strokeDashArray,n=this.helpers.getY1Y2("y1",e),o=n.yP,h=n.clipped,d=!1,g=e.label.text;if(null==e.y2){if(!h){d=!0;var p=this.annoCtx.graphics.drawLine(0+e.offsetX,o+e.offsetY,this._getYAxisAnnotationWidth(e),o+e.offsetY,e.borderColor,s,e.borderWidth);t.appendChild(p.node),e.id&&p.node.classList.add(e.id)}}else{if((a=(n=this.helpers.getY1Y2("y2",e)).yP)>o){var x=o;o=a,a=x}if(!h||!n.clipped){d=!0;var f=this.annoCtx.graphics.drawRect(0+e.offsetX,a+e.offsetY,this._getYAxisAnnotationWidth(e),o-a,0,e.fillColor,e.opacity,1,e.borderColor,s);f.node.classList.add("apexcharts-annotation-rect"),f.attr("clip-path","url(#gridRectMask".concat(r.globals.cuid,")")),t.appendChild(f.node),e.id&&f.node.classList.add(e.id)}}if(d){var v=this.annoCtx.graphics.drawText({x:("right"===e.label.position?r.globals.gridWidth:"center"===e.label.position?r.globals.gridWidth/2:0)+e.label.offsetX,y:(a??o)+e.label.offsetY-3,text:g,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});v.attr({rel:i}),t.appendChild(v.node)}}},{key:"_getYAxisAnnotationWidth",value:function(e){var t=this.w;return(e.width.indexOf("%")>-1?t.globals.gridWidth*parseInt(e.width,10)/100:parseInt(e.width,10))+e.offsetX}},{key:"drawYAxisAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.forEach(function(a,r){a.yAxisIndex=e.axesUtils.translateYAxisIndex(a.yAxisIndex),e.axesUtils.isYAxisHidden(a.yAxisIndex)&&e.axesUtils.yAxisAllSeriesCollapsed(a.yAxisIndex)||e.addYaxisAnnotation(a,i.node,r)}),i}}]),y}(),xt=function(){function y(e){Y(this,y),this.w=e.w,this.annoCtx=e,this.helpers=new Ae(this.annoCtx)}return F(y,[{key:"addPointAnnotation",value:function(e,t,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(e.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",e),r=a.x,s=a.clipped,n=(a=this.helpers.getY1Y2("y1",e)).yP,o=a.clipped;if(P.isNumber(r)&&!o&&!s){var h={pSize:e.marker.size,pointStrokeWidth:e.marker.strokeWidth,pointFillColor:e.marker.fillColor,pointStrokeColor:e.marker.strokeColor,shape:e.marker.shape,pRadius:e.marker.radius,class:"apexcharts-point-annotation-marker ".concat(e.marker.cssClass," ").concat(e.id?e.id:"")},c=this.annoCtx.graphics.drawMarker(r+e.marker.offsetX,n+e.marker.offsetY,h);t.appendChild(c.node);var d=e.label.text?e.label.text:"",g=this.annoCtx.graphics.drawText({x:r+e.label.offsetX,y:n+e.label.offsetY-e.marker.size-parseFloat(e.label.style.fontSize)/1.6,text:d,textAnchor:e.label.textAnchor,fontSize:e.label.style.fontSize,fontFamily:e.label.style.fontFamily,fontWeight:e.label.style.fontWeight,foreColor:e.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(e.label.style.cssClass," ").concat(e.id?e.id:"")});if(g.attr({rel:i}),t.appendChild(g.node),e.customSVG.SVG){var p=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+e.customSVG.cssClass});p.attr({transform:"translate(".concat(r+e.customSVG.offsetX,", ").concat(n+e.customSVG.offsetY,")")}),p.node.innerHTML=e.customSVG.SVG,t.appendChild(p.node)}if(e.image.path){var x=e.image.width?e.image.width:20,f=e.image.height?e.image.height:20;c=this.annoCtx.addImage({x:r+e.image.offsetX-x/2,y:n+e.image.offsetY-f/2,width:x,height:f,path:e.image.path,appendTo:".apexcharts-point-annotations"})}e.mouseEnter&&c.node.addEventListener("mouseenter",e.mouseEnter.bind(this,e)),e.mouseLeave&&c.node.addEventListener("mouseleave",e.mouseLeave.bind(this,e)),e.click&&c.node.addEventListener("click",e.click.bind(this,e))}}}},{key:"drawPointAnnotations",value:function(){var e=this,t=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(a,r){e.addPointAnnotation(a,i.node,r)}),i}}]),y}(),qe={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},he=function(){function y(){Y(this,y),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return F(y,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[qe],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(e){return e}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(e){return e+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)/e.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(e){return e},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(e){return e}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(e){return e}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(e){return e.globals.seriesTotals.reduce(function(t,i){return t+i},0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(e){return null!==e?e:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(e){return e?e+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),y}(),bt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.graphics=new z(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new Ae(this),this.xAxisAnnotations=new pt(this),this.yAxisAnnotations=new ft(this),this.pointsAnnotations=new xt(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return F(y,[{key:"drawAxesAnnotations",value:function(){var e=this.w;if(e.globals.axisCharts&&e.globals.dataPoints){for(var t=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),r=e.config.chart.animations.enabled,s=[t,i,a],n=[i.node,t.node,a.node],o=0;o<3;o++)e.globals.dom.elGraphical.add(s[o]),!r||e.globals.resized||e.globals.dataChanged||"scatter"!==e.config.chart.type&&"bubble"!==e.config.chart.type&&e.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),e.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var e=this;this.w.config.annotations.images.map(function(t,i){e.addImage(t,i)})}},{key:"drawTextAnnos",value:function(){var e=this;this.w.config.annotations.texts.map(function(t,i){e.addText(t,i)})}},{key:"addXaxisAnnotation",value:function(e,t,i){this.xAxisAnnotations.addXaxisAnnotation(e,t,i)}},{key:"addYaxisAnnotation",value:function(e,t,i){this.yAxisAnnotations.addYaxisAnnotation(e,t,i)}},{key:"addPointAnnotation",value:function(e,t,i){this.pointsAnnotations.addPointAnnotation(e,t,i)}},{key:"addText",value:function(e,t){var r=e.text,g=e.backgroundColor,p=e.borderWidth,x=e.strokeDashArray,f=e.borderRadius,m=e.borderColor,v=e.appendTo,w=void 0===v?".apexcharts-svg":v,l=e.paddingLeft,u=void 0===l?4:l,b=e.paddingRight,A=void 0===b?4:b,k=e.paddingBottom,S=void 0===k?2:k,L=e.paddingTop,C=void 0===L?2:L,M=this.w,X=this.graphics.drawText({x:e.x,y:e.y,text:r,textAnchor:e.textAnchor||"start",fontSize:e.fontSize||"12px",fontWeight:e.fontWeight||"regular",fontFamily:e.fontFamily||M.config.chart.fontFamily,foreColor:e.foreColor||M.config.chart.foreColor,cssClass:e.cssClass}),I=M.globals.dom.baseEl.querySelector(w);I&&I.appendChild(X.node);var T=X.bbox();if(r){var R=this.graphics.drawRect(T.x-u,T.y-C,T.width+u+A,T.height+S+C,f,g||"transparent",1,p,m,x);I.insertBefore(R.node,X.node)}}},{key:"addImage",value:function(e,t){var i=this.w,r=e.x,s=void 0===r?0:r,n=e.y,o=void 0===n?0:n,h=e.width,c=void 0===h?20:h,d=e.height,g=void 0===d?20:d,p=e.appendTo,x=void 0===p?".apexcharts-svg":p,f=i.globals.dom.Paper.image(e.path);f.size(c,g).move(s,o);var m=i.globals.dom.baseEl.querySelector(x);return m&&m.appendChild(f.node),f}},{key:"addXaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(e,t,i){return this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(e,t,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:e,pushToMemory:t,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(e){var t=e.params,i=e.pushToMemory,a=e.context,r=e.type,s=e.contextMethod,n=a,o=n.w,h=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations")),c=h.childNodes.length+1,d=new he,g=Object.assign({},"xaxis"===r?d.xAxisAnnotation:"yaxis"===r?d.yAxisAnnotation:d.pointAnnotation),p=P.extend(g,t);switch(r){case"xaxis":this.addXaxisAnnotation(p,h,c);break;case"yaxis":this.addYaxisAnnotation(p,h,c);break;case"point":this.addPointAnnotation(p,h,c)}var x=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(r,"-annotations .apexcharts-").concat(r,"-annotation-label[rel='").concat(c,"']")),f=this.helpers.addBackgroundToAnno(x,p);return f&&h.insertBefore(f.node,x),i&&o.globals.memory.methodsToExec.push({context:n,id:p.id?p.id:P.randomId(),method:s,label:"addAnnotation",params:t}),a}},{key:"clearAnnotations",value:function(e){for(var t=e.w,i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),a=t.globals.memory.methodsToExec.length-1;a>=0;a--)"addText"!==t.globals.memory.methodsToExec[a].label&&"addAnnotation"!==t.globals.memory.methodsToExec[a].label||t.globals.memory.methodsToExec.splice(a,1);i=P.listToArray(i),Array.prototype.forEach.call(i,function(r){for(;r.firstChild;)r.removeChild(r.firstChild)})}},{key:"removeAnnotation",value:function(e,t){var i=e.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(t));a&&(i.globals.memory.methodsToExec.map(function(r,s){r.id===t&&i.globals.memory.methodsToExec.splice(s,1)}),Array.prototype.forEach.call(a,function(r){r.parentElement.removeChild(r)}))}}]),y}(),Te=function(y){var e,t=y.isTimeline,i=y.ctx,a=y.seriesIndex,r=y.dataPointIndex,s=y.y1,n=y.y2,o=y.w,h=o.globals.seriesRangeStart[a][r],c=o.globals.seriesRangeEnd[a][r],d=o.globals.labels[r],g=o.config.series[a].name?o.config.series[a].name:"",p=o.globals.ttKeyFormatter,x=o.config.tooltip.y.title.formatter,f={w:o,seriesIndex:a,dataPointIndex:r,start:h,end:c};"function"==typeof x&&(g=x(g,f)),null!==(e=o.config.series[a].data[r])&&void 0!==e&&e.x&&(d=o.config.series[a].data[r].x),t||"datetime"===o.config.xaxis.type&&(d=new xe(i).xLabelFormat(o.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new Q(i).formatDate,w:o})),"function"==typeof p&&(d=p(d,f)),Number.isFinite(s)&&Number.isFinite(n)&&(h=s,c=n);var m="",v="",w=o.globals.colors[a];if(void 0===o.config.tooltip.x.formatter)if("datetime"===o.config.xaxis.type){var l=new Q(i);m=l.formatDate(l.getDate(h),o.config.tooltip.x.format),v=l.formatDate(l.getDate(c),o.config.tooltip.x.format)}else m=h,v=c;else m=o.config.tooltip.x.formatter(h),v=o.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:m,endVal:v,ylabel:d,color:w,seriesName:g}},ze=function(y){var e=y.color,t=y.seriesName,i=y.ylabel,a=y.start,r=y.end,s=y.seriesIndex,n=y.dataPointIndex,o=y.ctx.tooltip.tooltipLabels.getFormatters(s);a=o.yLbFormatter(a),r=o.yLbFormatter(r);var h=o.yLbFormatter(y.w.globals.series[s][n]),c='\n '.concat(a,'\n - \n ').concat(r,"\n ");return'
'+(t||"")+'
'+i+": "+(y.w.globals.comboCharts?"rangeArea"===y.w.config.series[s].type||"rangeBar"===y.w.config.series[s].type?c:"".concat(h,""):c)+"
"},be=function(){function y(e){Y(this,y),this.opts=e}return F(y,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(e){return this.hideYAxis(),P.extend(e,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(e,t){return null!==e?t.w.config.series[t.seriesIndex].name+": "+e:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),E(E({},this.bar()),{},{chart:{animations:{easing:"linear",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var e=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){return e._getBoxTooltip(t.w,t.seriesIndex,t.dataPointIndex,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var e=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){return e._getBoxTooltip(t.w,t.seriesIndex,t.dataPointIndex,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(e,t){var i=t.seriesIndex,a=t.dataPointIndex,r=t.w,s=function(){return r.globals.seriesRangeEnd[i][a]-r.globals.seriesRangeStart[i][a]};return r.globals.comboCharts?"rangeBar"===r.config.series[i].type||"rangeArea"===r.config.series[i].type?s():e:s()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(e){return e.w.config.plotOptions&&e.w.config.plotOptions.bar&&e.w.config.plotOptions.bar.horizontal?(a=(i=Te(E(E({},t=e),{},{isTimeline:!0}))).color,r=i.seriesName,s=i.ylabel,n=i.startVal,o=i.endVal,ze(E(E({},t),{},{color:a,seriesName:r,ylabel:s,start:n,end:o}))):function(t){var i=Te(t),a=i.color,r=i.seriesName,s=i.ylabel,n=i.start,o=i.end;return ze(E(E({},t),{},{color:a,seriesName:r,ylabel:s,start:n,end:o}))}(e);var t,i,a,r,s,n,o}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(e){var t,i;return null!==(t=e.plotOptions.bar)&&void 0!==t&&t.barHeight||(e.plotOptions.bar.barHeight=2),null!==(i=e.plotOptions.bar)&&void 0!==i&&i.columnWidth||(e.plotOptions.bar.columnWidth=2),e}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(e){return a=(i=Te(t=e)).color,r=i.seriesName,s=i.ylabel,n=i.start,o=i.end,ze(E(E({},t),{},{color:a,seriesName:r,ylabel:s,start:n,end:o}));var t,i,a,r,s,n,o}}}}},{key:"brush",value:function(e){return P.extend(e,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(e){e.dataLabels=e.dataLabels||{},e.dataLabels.formatter=e.dataLabels.formatter||void 0;var t=e.dataLabels.formatter;return e.yaxis.forEach(function(i,a){e.yaxis[a].min=0,e.yaxis[a].max=100}),"bar"===e.chart.type&&(e.dataLabels.formatter=t||function(i){return"number"==typeof i&&i?i.toFixed(0)+"%":i}),e}},{key:"stackedBars",value:function(){var e=this.bar();return E(E({},e),{},{plotOptions:E(E({},e.plotOptions),{},{bar:E(E({},e.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(e){return e.xaxis.convertedCatToNumeric=!0,e}},{key:"convertCatToNumericXaxis",value:function(e,t,i){e.xaxis.type="numeric",e.xaxis.labels=e.xaxis.labels||{},e.xaxis.labels.formatter=e.xaxis.labels.formatter||function(s){return P.isNumber(s)?Math.floor(s):s};var a=e.xaxis.labels.formatter,r=e.xaxis.categories&&e.xaxis.categories.length?e.xaxis.categories:e.labels;return i&&i.length&&(r=i.map(function(s){return Array.isArray(s)?s:String(s)})),r&&r.length&&(e.xaxis.labels.formatter=function(s){return P.isNumber(s)?a(r[Math.floor(s)-1]):a(s)}),e.xaxis.categories=[],e.labels=[],e.xaxis.tickAmount=e.xaxis.tickAmount||"dataPoints",e}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(e){return e.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(e){return e},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"_getBoxTooltip",value:function(e,t,i,a,r){var s=e.globals.seriesCandleO[t][i],n=e.globals.seriesCandleH[t][i],o=e.globals.seriesCandleM[t][i],h=e.globals.seriesCandleL[t][i],c=e.globals.seriesCandleC[t][i];return e.config.series[t].type&&e.config.series[t].type!==r?'
\n '.concat(e.config.series[t].name?e.config.series[t].name:"series-"+(t+1),": ").concat(e.globals.series[t][i],"\n
"):'
')+"
".concat(a[0],': ')+s+"
"+"
".concat(a[1],': ')+n+"
"+(o?"
".concat(a[2],': ')+o+"
":"")+"
".concat(a[3],': ')+h+"
"+"
".concat(a[4],': ')+c+"
"}}]),y}(),me=function(){function y(e){Y(this,y),this.opts=e}return F(y,[{key:"init",value:function(e){var t=e.responsiveOverride,i=this.opts,a=new he,r=new be(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var s=a.init(),n={};if(i&&"object"===J(i)){var o,h,c,d,g,p,x,f,m,v,w={};w=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)?r[i.chart.type]():r.line(),null!==(o=i.plotOptions)&&void 0!==o&&null!==(h=o.bar)&&void 0!==h&&h.isFunnel&&(w=r.funnel()),i.chart.stacked&&"bar"===i.chart.type&&(w=r.stackedBars()),null!==(c=i.chart.brush)&&void 0!==c&&c.enabled&&(w=r.brush(w)),null!==(d=i.plotOptions)&&void 0!==d&&null!==(g=d.line)&&void 0!==g&&g.isSlopeChart&&(w=r.slope()),i.chart.stacked&&"100%"===i.chart.stackType&&(i=r.stacked100(i)),null!==(p=i.plotOptions)&&void 0!==p&&null!==(x=p.bar)&&void 0!==x&&x.isDumbbell&&(i=r.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},t||(i.xaxis.convertedCatToNumeric=!1),(null!==(f=(i=this.checkForCatToNumericXAxis(this.chartType,w,i)).chart.sparkline)&&void 0!==f&&f.enabled||null!==(m=window.Apex.chart)&&void 0!==m&&null!==(v=m.sparkline)&&void 0!==v&&v.enabled)&&(w=r.sparkline(w)),n=P.extend(s,w)}var l=P.extend(n,window.Apex);return s=P.extend(l,i),this.handleUserInputErrors(s)}},{key:"checkForCatToNumericXAxis",value:function(e,t,i){var a,r,s=new be(i);return("bar"===e||"boxPlot"===e)&&(null===(a=i.plotOptions)||void 0===a||null===(r=a.bar)||void 0===r?void 0:r.horizontal)||"pie"===e||"polarArea"===e||"donut"===e||"radar"===e||"radialBar"===e||"heatmap"===e||!("datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type)||"between"===(i.xaxis.tickPlacement?i.xaxis.tickPlacement:t.xaxis&&t.xaxis.tickPlacement)||(i=s.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(e,t){var i=new he;(void 0===e.yaxis||!e.yaxis||Array.isArray(e.yaxis)&&0===e.yaxis.length)&&(e.yaxis={}),e.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(e.yaxis=P.extend(e.yaxis,window.Apex.yaxis)),e.yaxis=e.yaxis.constructor!==Array?[P.extend(i.yAxis,e.yaxis)]:P.extendArray(e.yaxis,i.yAxis);var a=!1;e.yaxis.forEach(function(s){s.logarithmic&&(a=!0)});var r=e.series;return t&&!r&&(r=t.config.series),a&&r.length!==e.yaxis.length&&r.length&&(e.yaxis=r.map(function(s,n){if(s.name||(r[n].name="series-".concat(n+1)),e.yaxis[n])return e.yaxis[n].seriesName=r[n].name,e.yaxis[n];var o=P.extend(i.yAxis,e.yaxis[0]);return o.show=!1,o})),a&&r.length>1&&r.length!==e.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),e}},{key:"extendAnnotations",value:function(e){return void 0===e.annotations&&(e.annotations={},e.annotations.yaxis=[],e.annotations.xaxis=[],e.annotations.points=[]),e=this.extendYAxisAnnotations(e),e=this.extendXAxisAnnotations(e),this.extendPointAnnotations(e)}},{key:"extendYAxisAnnotations",value:function(e){var t=new he;return e.annotations.yaxis=P.extendArray(void 0!==e.annotations.yaxis?e.annotations.yaxis:[],t.yAxisAnnotation),e}},{key:"extendXAxisAnnotations",value:function(e){var t=new he;return e.annotations.xaxis=P.extendArray(void 0!==e.annotations.xaxis?e.annotations.xaxis:[],t.xAxisAnnotation),e}},{key:"extendPointAnnotations",value:function(e){var t=new he;return e.annotations.points=P.extendArray(void 0!==e.annotations.points?e.annotations.points:[],t.pointAnnotation),e}},{key:"checkForDarkTheme",value:function(e){e.theme&&"dark"===e.theme.mode&&(e.tooltip||(e.tooltip={}),"light"!==e.tooltip.theme&&(e.tooltip.theme="dark"),e.chart.foreColor||(e.chart.foreColor="#f6f7f8"),e.theme.palette||(e.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(e){var t=e;if(t.tooltip.shared&&t.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===t.chart.type&&t.plotOptions.bar.horizontal){if(t.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");t.yaxis[0].reversed&&(t.yaxis[0].opposite=!0),t.xaxis.tooltip.enabled=!1,t.yaxis[0].tooltip.enabled=!1,t.chart.zoom.enabled=!1}return"bar"!==t.chart.type&&"rangeBar"!==t.chart.type||t.tooltip.shared&&"barWidth"===t.xaxis.crosshairs.width&&t.series.length>1&&(t.xaxis.crosshairs.width="tickWidth"),"candlestick"!==t.chart.type&&"boxPlot"!==t.chart.type||t.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(t.chart.type," chart is not supported.")),t.yaxis[0].reversed=!1),t}}]),y}(),Ze=function(){function y(){Y(this,y)}return F(y,[{key:"initGlobalVars",value:function(e){e.series=[],e.seriesCandleO=[],e.seriesCandleH=[],e.seriesCandleM=[],e.seriesCandleL=[],e.seriesCandleC=[],e.seriesRangeStart=[],e.seriesRangeEnd=[],e.seriesRange=[],e.seriesPercent=[],e.seriesGoals=[],e.seriesX=[],e.seriesZ=[],e.seriesNames=[],e.seriesTotals=[],e.seriesLog=[],e.seriesColors=[],e.stackedSeriesTotals=[],e.seriesXvalues=[],e.seriesYvalues=[],e.labels=[],e.hasXaxisGroups=!1,e.groups=[],e.barGroups=[],e.lineGroups=[],e.areaGroups=[],e.hasSeriesGroups=!1,e.seriesGroups=[],e.categoryLabels=[],e.timescaleLabels=[],e.noLabelsProvided=!1,e.resizeTimer=null,e.selectionResizeTimer=null,e.lastWheelExecution=0,e.delayedElements=[],e.pointsArray=[],e.dataLabelsRects=[],e.isXNumeric=!1,e.skipLastTimelinelabel=!1,e.skipFirstTimelinelabel=!1,e.isDataXYZ=!1,e.isMultiLineX=!1,e.isMultipleYAxis=!1,e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE,e.minYArr=[],e.maxYArr=[],e.maxX=-Number.MAX_VALUE,e.minX=Number.MAX_VALUE,e.initialMaxX=-Number.MAX_VALUE,e.initialMinX=Number.MAX_VALUE,e.maxDate=0,e.minDate=Number.MAX_VALUE,e.minZ=Number.MAX_VALUE,e.maxZ=-Number.MAX_VALUE,e.minXDiff=Number.MAX_VALUE,e.yAxisScale=[],e.xAxisScale=null,e.xAxisTicksPositions=[],e.yLabelsCoords=[],e.yTitleCoords=[],e.barPadForNumericAxis=0,e.padHorizontal=0,e.xRange=0,e.yRange=[],e.zRange=0,e.dataPoints=0,e.xTickAmount=0,e.multiAxisTickAmount=0}},{key:"globalVars",value:function(e){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:e.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===e.chart.toolbar.autoSelected&&e.chart.toolbar.tools.zoom&&e.chart.zoom.enabled,panEnabled:"pan"===e.chart.toolbar.autoSelected&&e.chart.toolbar.tools.pan,selectionEnabled:"selection"===e.chart.toolbar.autoSelected&&e.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:e.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(e){var t=this.globalVars(e);return this.initGlobalVars(t),t.initialConfig=P.extend({},e),t.initialSeries=P.clone(e.series),t.lastXAxis=P.clone(t.initialConfig.xaxis),t.lastYAxis=P.clone(t.initialConfig.yaxis),t}}]),y}(),mt=function(){function y(e){Y(this,y),this.opts=e}return F(y,[{key:"init",value:function(){var e=new me(this.opts).init({responsiveOverride:!1});return{config:e,globals:(new Ze).init(e)}}}]),y}(),re=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return F(y,[{key:"clippedImgArea",value:function(e){var t=this.w,i=t.config,a=parseInt(t.globals.gridWidth,10),r=parseInt(t.globals.gridHeight,10),s=a>r?a:r,n=e.image,o=0,h=0;void 0===e.width&&void 0===e.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,h=i.fill.image.height):(o=s+1,h=s):(o=e.width,h=e.height);var c=document.createElementNS(t.globals.SVGNS,"pattern");z.setAttrs(c,{id:e.patternID,patternUnits:e.patternUnits?e.patternUnits:"userSpaceOnUse",width:o+"px",height:h+"px"});var d=document.createElementNS(t.globals.SVGNS,"image");c.appendChild(d),d.setAttributeNS(window.SVG.xlink,"href",n),z.setAttrs(d,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:h+"px"}),d.style.opacity=e.opacity,t.globals.dom.elDefs.node.appendChild(c)}},{key:"getSeriesIndex",value:function(e){var t=this.w,i=t.config.chart.type;return this.seriesIndex=("bar"===i||"rangeBar"===i)&&t.config.plotOptions.bar.distributed||"heatmap"===i||"treemap"===i?e.seriesNumber:e.seriesNumber%t.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(e){var t=this.w;this.opts=e;var i,a,r,s=this.w.config;this.seriesIndex=this.getSeriesIndex(e);var n=this.getFillColors()[this.seriesIndex];void 0!==t.globals.seriesColors[this.seriesIndex]&&(n=t.globals.seriesColors[this.seriesIndex]),"function"==typeof n&&(n=n({seriesIndex:this.seriesIndex,dataPointIndex:e.dataPointIndex,value:e.value,w:t}));var o=e.fillType?e.fillType:this.getFillType(this.seriesIndex),h=Array.isArray(s.fill.opacity)?s.fill.opacity[this.seriesIndex]:s.fill.opacity;e.color&&(n=e.color),n||(n="#fff",console.warn("undefined color - ApexCharts"));var c=n;if(-1===n.indexOf("rgb")?n.length<9&&(c=P.hexToRgba(n,h)):n.indexOf("rgba")>-1&&(h=P.getOpacityFromRGBA(n)),e.opacity&&(h=e.opacity),"pattern"===o&&(a=this.handlePatternFill({fillConfig:e.fillConfig,patternFill:a,fillColor:n,fillOpacity:h,defaultColor:c})),"gradient"===o&&(r=this.handleGradientFill({fillConfig:e.fillConfig,fillColor:n,fillOpacity:h,i:this.seriesIndex})),"image"===o){var d=s.fill.image.src,g=e.patternID?e.patternID:"",p="pattern".concat(t.globals.cuid).concat(e.seriesNumber+1).concat(g);-1===this.patternIDs.indexOf(p)&&(this.clippedImgArea({opacity:h,image:Array.isArray(d)?e.seriesNumber-1&&(p=P.getOpacityFromRGBA(g));var x=void 0===s.gradient.opacityTo?i:Array.isArray(s.gradient.opacityTo)?s.gradient.opacityTo[r]:s.gradient.opacityTo;if(void 0===s.gradient.gradientToColors||0===s.gradient.gradientToColors.length)n=c.shadeColor("dark"===s.gradient.shade?-1*parseFloat(s.gradient.shadeIntensity):parseFloat(s.gradient.shadeIntensity),t.indexOf("rgb")>-1?P.rgb2hex(t):t);else if(s.gradient.gradientToColors[o.seriesNumber]){var f=s.gradient.gradientToColors[o.seriesNumber];n=f,f.indexOf("rgba")>-1&&(x=P.getOpacityFromRGBA(f))}else n=t;if(s.gradient.gradientFrom&&(g=s.gradient.gradientFrom),s.gradient.gradientTo&&(n=s.gradient.gradientTo),s.gradient.inverseColors){var m=g;g=n,n=m}return g.indexOf("rgb")>-1&&(g=P.rgb2hex(g)),n.indexOf("rgb")>-1&&(n=P.rgb2hex(n)),h.drawGradient(d,g,n,p,x,o.size,s.gradient.stops,s.gradient.colorStops,r)}}]),y}(),de=function(){function y(e,t){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],e.globals.markers.size.length>0){if(e.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],n=this.w,o=t,h=e,c=null,d=new z(this.ctx),g=n.config.markers.discrete&&n.config.markers.discrete.length;if((n.globals.markers.size[t]>0||s||g)&&(c=d.group({class:s||g?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(n.globals.cuid,")")),Array.isArray(h.x))for(var p=0;p0:n.config.markers.size>0)||s||g){P.isNumber(h.y[p])?f+=" w".concat(P.randomId()):f="apexcharts-nullpoint";var m=this.getMarkerConfig({cssClass:f,seriesIndex:t,dataPointIndex:x});n.config.series[o].data[x]&&(n.config.series[o].data[x].fillColor&&(m.pointFillColor=n.config.series[o].data[x].fillColor),n.config.series[o].data[x].strokeColor&&(m.pointStrokeColor=n.config.series[o].data[x].strokeColor)),void 0!==a&&(m.pSize=a),(h.x[p]<-n.globals.markers.largestSize||h.x[p]>n.globals.gridWidth+n.globals.markers.largestSize||h.y[p]<-n.globals.markers.largestSize||h.y[p]>n.globals.gridHeight+n.globals.markers.largestSize)&&(m.pSize=0),(r=d.drawMarker(h.x[p],h.y[p],m)).attr("rel",x),r.attr("j",x),r.attr("index",t),r.node.setAttribute("default-marker-size",m.pSize),new K(this.ctx).setSelectionFilter(r,t,x),this.addEvents(r),c&&c.add(r)}else void 0===n.globals.pointsArray[t]&&(n.globals.pointsArray[t]=[]),n.globals.pointsArray[t].push([h.x[p],h.y[p]])}return c}},{key:"getMarkerConfig",value:function(e){var t=e.cssClass,i=e.seriesIndex,a=e.dataPointIndex,r=void 0===a?null:a,s=e.radius,n=void 0===s?null:s,o=e.size,h=void 0===o?null:o,c=e.strokeWidth,d=void 0===c?null:c,g=this.w,p=this.getMarkerStyle(i),x=null===h?g.globals.markers.size[i]:h,f=g.config.markers;return null!==r&&f.discrete.length&&f.discrete.map(function(m){m.seriesIndex===i&&m.dataPointIndex===r&&(p.pointStrokeColor=m.strokeColor,p.pointFillColor=m.fillColor,x=m.size,p.pointShape=m.shape)}),{pSize:null===n?x:n,pRadius:null!==n?n:f.radius,pointStrokeWidth:null!==d?d:Array.isArray(f.strokeWidth)?f.strokeWidth[i]:f.strokeWidth,pointStrokeColor:p.pointStrokeColor,pointFillColor:p.pointFillColor,shape:p.pointShape||(Array.isArray(f.shape)?f.shape[i]:f.shape),class:t,pointStrokeOpacity:Array.isArray(f.strokeOpacity)?f.strokeOpacity[i]:f.strokeOpacity,pointStrokeDashArray:Array.isArray(f.strokeDashArray)?f.strokeDashArray[i]:f.strokeDashArray,pointFillOpacity:Array.isArray(f.fillOpacity)?f.fillOpacity[i]:f.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(e){var t=this.w,i=new z(this.ctx);e.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,e)),e.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,e)),e.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,e)),e.node.addEventListener("click",t.config.markers.onClick),e.node.addEventListener("dblclick",t.config.markers.onDblClick),e.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,e),{passive:!0})}},{key:"getMarkerStyle",value:function(e){var t=this.w,i=t.globals.markers.colors,a=t.config.markers.strokeColor||t.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[e]:a,pointFillColor:Array.isArray(i)?i[e]:i}}}]),y}(),$e=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return F(y,[{key:"draw",value:function(e,t,i){var a=this.w,r=new z(this.ctx),s=i.realIndex,n=i.pointsPos,o=i.zRatio,h=i.elParent,c=r.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(c.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(n.x))for(var d=0;df.maxBubbleRadius&&(x=f.maxBubbleRadius)}var v=n.y[d];if(x=x||0,null!==v&&void 0!==a.globals.series[s][g]||(p=!1),p){var w=this.drawPoint(n.x[d],v,x,s,g,t);c.add(w)}h.add(c)}}},{key:"drawPoint",value:function(e,t,i,a,r,s){var n=this.w,o=a,h=new ce(this.ctx),c=new K(this.ctx),d=new re(this.ctx),g=new de(this.ctx),p=new z(this.ctx),x=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:o,dataPointIndex:r,radius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[a]&&"bubble"===n.config.series[a].type?i:null}),f=d.fillPath({seriesNumber:a,dataPointIndex:r,color:x.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[a][s]}),m=p.drawMarker(e,t,x);return n.config.series[o].data[r]&&n.config.series[o].data[r].fillColor&&(f=n.config.series[o].data[r].fillColor),m.attr({fill:f}),n.config.chart.dropShadow.enabled&&c.dropShadow(m,n.config.chart.dropShadow,a),!this.initialAnim||n.globals.dataChanged||n.globals.resized?n.globals.animationEnded=!0:h.animateMarker(m,n.config.chart.animations.speed,n.globals.easing,function(){window.setTimeout(function(){h.animationCompleted(m)},100)}),m.attr({rel:r,j:r,index:a,"default-marker-size":x.pSize}),c.setSelectionFilter(m,a,r),g.addEvents(m),m.node.classList.add("apexcharts-marker"),m}},{key:"centerTextInBubble",value:function(e){return{y:e+=parseInt(this.w.config.dataLabels.style.fontSize,10)/4}}}]),y}(),ge=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"dataLabelsCorrection",value:function(e,t,i,a,r,s,n){var o=this.w,h=!1,c=new z(this.ctx).getTextRects(i,n),d=c.width,g=c.height;if(t<0&&(t=0),t>o.globals.gridHeight+g&&(t=o.globals.gridHeight+g/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:e,y:t,width:d,height:g}),void 0!==o.globals.dataLabelsRects[a][o.globals.dataLabelsRects[a].length-2]){var f=o.globals.dataLabelsRects[a][void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0];(e>f.x+f.width||t>f.y+f.height||t+gt.globals.gridWidth+w.textRects.width+30)&&(o="");var l=t.globals.dataLabels.style.colors[s];(("bar"===t.config.chart.type||"rangeBar"===t.config.chart.type)&&t.config.plotOptions.bar.distributed||t.config.dataLabels.distributed)&&(l=t.globals.dataLabels.style.colors[n]),"function"==typeof l&&(l=l({series:t.globals.series,seriesIndex:s,dataPointIndex:n,w:t})),p&&(l=p);var u=g.offsetX,b=g.offsetY;if("bar"!==t.config.chart.type&&"rangeBar"!==t.config.chart.type||(u=0,b=0),t.globals.isSlopeChart&&(0!==n&&(u=-2*g.offsetX+5),0!==n&&n!==t.config.series[s].data.length-1&&(u=0)),w.drawnextLabel){if((v=i.drawText({width:100,height:parseInt(g.style.fontSize,10),x:a+u,y:r+b,foreColor:l,textAnchor:h||g.textAnchor,text:o,fontSize:c||g.style.fontSize,fontFamily:g.style.fontFamily,fontWeight:g.style.fontWeight||"normal"})).attr({class:m||"apexcharts-datalabel",cx:a,cy:r}),g.dropShadow.enabled){var A=g.dropShadow;new K(this.ctx).dropShadow(v,A)}d.add(v),void 0===t.globals.lastDrawnDataLabelsIndexes[s]&&(t.globals.lastDrawnDataLabelsIndexes[s]=[]),t.globals.lastDrawnDataLabelsIndexes[s].push(n)}return v}},{key:"addBackgroundToDataLabel",value:function(e,t){var i=this.w,a=i.config.dataLabels.background,r=a.padding,s=a.padding/2,n=t.width,o=t.height,h=new z(this.ctx).drawRect(t.x-r,t.y-s/2,n+2*r,o+s,a.borderRadius,"transparent"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:"#fff",a.opacity,a.borderWidth,a.borderColor);return a.dropShadow.enabled&&new K(this.ctx).dropShadow(h,a.dropShadow),h}},{key:"dataLabelsBackground",value:function(){var e=this.w;if("bubble"!==e.config.chart.type)for(var t=e.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,r=P.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):r=this.emptyCollapsedSeries(r),a.config.series=r,e&&(t&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(r,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(e){for(var t=this.w,i=0;i-1&&(e[i].data=[]);return e}},{key:"highlightSeries",value:function(e){var t=this.w,i=this.getSeriesByName(e),a=parseInt(i?.getAttribute("data:realIndex"),10),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),s=null,n=null,o=null;t.globals.axisCharts||"radialBar"===t.config.chart.type?t.globals.axisCharts?(s=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a,"']")),n=t.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(a,"']")),o=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t.globals.seriesYAxisReverseMap[a],"']"))):s=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"']")):s=t.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"'] path"));for(var c=0;c=h.from&&(g0&&void 0!==arguments[0]?arguments[0]:"asc",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var r=i.config.series.map(function(n,o){return n.data&&n.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(o)&&(!i.globals.comboCharts||0===t.length||t.length&&t.indexOf(i.config.series[o].type)>-1)?o:-1}),s="asc"===e?0:r.length-1;"asc"===e?s=0;"asc"===e?s++:s--)if(-1!==r[s]){a=r[s];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map(function(e,t){return"bar"===e.type||"column"===e.type?t:-1}).filter(function(e){return-1!==e}):this.w.config.series.map(function(e,t){return t})}},{key:"getPreviousPaths",value:function(){var e=this.w;function t(s,n,o){for(var h=s[n].childNodes,c={type:o,paths:[],realIndex:s[n].getAttribute("data:realIndex")},d=0;d0)for(var a=function(s){for(var n=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(e.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(s,"'] rect")),o=[],h=function(d){var g=function(x){return n[d].getAttribute(x)},p={x:parseFloat(g("x")),y:parseFloat(g("y")),width:parseFloat(g("width")),height:parseFloat(g("height"))};o.push({rect:p,color:n[d].getAttribute("color")})},c=0;c0)for(var a=0;a0?t:[]})}}]),y}(),Je=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Z(this.ctx)}return F(y,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var e=this.w.config.series.slice(),t=new se(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),void 0!==e[this.activeSeriesIndex].data&&e[this.activeSeriesIndex].data.length>0&&null!==e[this.activeSeriesIndex].data[0]&&void 0!==e[this.activeSeriesIndex].data[0].x&&null!==e[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var e=this.w.config.series.slice(),t=new se(this.ctx);if(this.activeSeriesIndex=t.getActiveConfigSeriesIndex(),void 0!==e[this.activeSeriesIndex].data&&e[this.activeSeriesIndex].data.length>0&&null!=e[this.activeSeriesIndex].data[0]&&e[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(e,t){for(var i=this.w.config,a=this.w.globals,r="boxPlot"===i.chart.type||"boxPlot"===i.series[t].type,s=0;s=5?e[t].data[s][4]:e[t].data[s][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var n=new Date(e[t].data[s][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(e[t].data[s][0]);for(var o=0;o-1&&(s=this.activeSeriesIndex);for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:this.ctx),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();r.isRangeBar="rangeBar"===a.chart.type&&r.isBarHorizontal,r.hasXaxisGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=a.xaxis.group.groups),e.forEach(function(p,x){r.seriesNames.push(void 0!==p.name?p.name:"series-"+parseInt(x+1,10))}),this.coreUtils.setSeriesYAxisMappings();var o=[],h=$(new Set(a.series.map(function(p){return p.group})));a.series.forEach(function(p,x){var f=h.indexOf(p.group);o[f]||(o[f]=[]),o[f].push(r.seriesNames[x])}),r.seriesGroups=o;for(var c=function(){for(var p=0;p0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=e[d].data.map(function(p){return P.parseNumber(p)});r.series.push(g)}r.seriesZ.push(this.threeDSeries),r.seriesColors.push(void 0!==e[d].color?e[d].color:void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(e){var t=this.w.globals,i=this.w.config;t.series=e.slice(),t.seriesNames=i.labels.slice();for(var a=0;a0?i.labels=t.xaxis.categories:t.labels.length>0?i.labels=t.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map(function(a){a.forEach(function(r){i.labels.indexOf(r.x)<0&&r.x&&i.labels.push(r.x)})}),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),t.xaxis.convertedCatToNumeric&&(new be(t).convertCatToNumericXaxis(t,this.ctx,i.seriesX[0]),this._generateExternalLabels(e))):this._generateExternalLabels(e)}},{key:"_generateExternalLabels",value:function(e){var t=this.w.globals,i=this.w.config,a=[];if(t.axisCharts){if(t.series.length>0)if(this.isFormatXY())for(var r=i.series.map(function(d,g){return d.data.filter(function(p,x,f){return f.findIndex(function(m){return m.x===p.x})===x})}),s=r.reduce(function(d,g,p,x){return x[d].length>g.length?d:p},0),n=0;n0&&r==i.length&&t.push(a)}),e.globals.ignoreYAxisIndexes=t.map(function(i){return i})}}]),y}(),Se=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"scaleSvgNode",value:function(e,t){var i=parseFloat(e.getAttributeNS(null,"width")),a=parseFloat(e.getAttributeNS(null,"height"));e.setAttributeNS(null,"width",i*t),e.setAttributeNS(null,"height",a*t),e.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"getSvgString",value:function(){var e=this;return new Promise(function(t){var i=e.w,r=i.config.chart.toolbar.export.scale||i.config.chart.toolbar.export.width/i.globals.svgWidth;r||(r=1);var s=e.w.globals.dom.Paper.svg(),n=e.w.globals.dom.Paper.node.cloneNode(!0);1!==r&&e.scaleSvgNode(n,r),e.convertImagesToBase64(n).then(function(){s=(new XMLSerializer).serializeToString(n),t(s.replace(/ /g," "))})})}},{key:"convertImagesToBase64",value:function(e){var t=this,i=e.getElementsByTagName("image"),a=Array.from(i).map(function(r){var s=r.getAttributeNS("http://www.w3.org/1999/xlink","href");return s&&!s.startsWith("data:")?t.getBase64FromUrl(s).then(function(n){r.setAttributeNS("http://www.w3.org/1999/xlink","href",n)}).catch(function(n){console.error("Error converting image to base64:",n)}):Promise.resolve()});return Promise.all(a)}},{key:"getBase64FromUrl",value:function(e){return new Promise(function(t,i){var a=new Image;a.crossOrigin="Anonymous",a.onload=function(){var r=document.createElement("canvas");r.width=a.width,r.height=a.height,r.getContext("2d").drawImage(a,0,0),t(r.toDataURL())},a.onerror=i,a.src=e})}},{key:"cleanup",value:function(){var e=this.w,t=e.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=e.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,function(r){r.setAttribute("width",0)}),t&&t[0]&&(t[0].setAttribute("x",-500),t[0].setAttribute("x1",-500),t[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){var e=this;return new Promise(function(t){e.cleanup(),e.getSvgString().then(function(i){var a=new Blob([i],{type:"image/svg+xml;charset=utf-8"});t(URL.createObjectURL(a))})})}},{key:"dataURI",value:function(e){var t=this;return new Promise(function(i){var a=t.w,r=e?e.scale||e.width/a.globals.svgWidth:1;t.cleanup();var s=document.createElement("canvas");s.width=a.globals.svgWidth*r,s.height=parseInt(a.globals.dom.elWrap.style.height,10)*r;var n="transparent"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:"#fff",o=s.getContext("2d");o.fillStyle=n,o.fillRect(0,0,s.width*r,s.height*r),t.getSvgString().then(function(h){var c="data:image/svg+xml,"+encodeURIComponent(h),d=new Image;d.crossOrigin="anonymous",d.onload=function(){if(o.drawImage(d,0,0),s.msToBlob){var g=s.msToBlob();i({blob:g})}else{var p=s.toDataURL("image/png");i({imgURI:p})}},d.src=c})})}},{key:"exportToSVG",value:function(){var e=this;this.svgUrl().then(function(t){e.triggerDownload(t,e.w.config.chart.toolbar.export.svg.filename,".svg")})}},{key:"exportToPng",value:function(){var e=this,t=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width;this.dataURI(t?{scale:t}:i?{width:i}:void 0).then(function(r){var s=r.imgURI,n=r.blob;n?navigator.msSaveOrOpenBlob(n,e.w.globals.chartID+".png"):e.triggerDownload(s,e.w.config.chart.toolbar.export.png.filename,".png")})}},{key:"exportToCSV",value:function(e){var t=this,i=e.series,a=e.fileName,r=e.columnDelimiter,s=void 0===r?",":r,n=e.lineDelimiter,o=void 0===n?"\n":n,h=this.w;i||(i=h.config.series);var c,d,g=[],p=[],x="",f=h.globals.series.map(function(k,S){return-1===h.globals.collapsedSeriesIndices.indexOf(S)?k:[]}),m=function(k){return"function"==typeof h.config.chart.toolbar.export.csv.categoryFormatter?h.config.chart.toolbar.export.csv.categoryFormatter(k):"datetime"===h.config.xaxis.type&&String(k).length>=10?new Date(k).toDateString():P.isNumber(k)?k:k.split(s).join("")},v=function(k){return"function"==typeof h.config.chart.toolbar.export.csv.valueFormatter?h.config.chart.toolbar.export.csv.valueFormatter(k):k},w=Math.max.apply(Math,$(i.map(function(k){return k.data?k.data.length:0}))),l=new Je(this.ctx),u=new le(this.ctx),b=function(k){var S="";if(h.globals.axisCharts){if("category"===h.config.xaxis.type||h.config.xaxis.convertedCatToNumeric)if(h.globals.isBarHorizontal){var L=h.globals.yLabelFormatters[0],C=new se(t.ctx).getActiveConfigSeriesIndex();S=L(h.globals.labels[k],{seriesIndex:C,dataPointIndex:k,w:h})}else S=u.getLabel(h.globals.labels,h.globals.timescaleLabels,0,k).text;"datetime"===h.config.xaxis.type&&(h.config.xaxis.categories.length?S=h.config.xaxis.categories[k]:h.config.labels.length&&(S=h.config.labels[k]))}else S=h.config.labels[k];return null===S?"nullvalue":(Array.isArray(S)&&(S=S.join(" ")),P.isNumber(S)?S:S.split(s).join(""))};g.push(h.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===h.config.chart.type?(g.push("minimum"),g.push("q1"),g.push("median"),g.push("q3"),g.push("maximum")):"candlestick"===h.config.chart.type?(g.push("open"),g.push("high"),g.push("low"),g.push("close")):"rangeBar"===h.config.chart.type?(g.push("minimum"),g.push("maximum")):i.map(function(k,S){var L=(k.name?k.name:"series-".concat(S))+"";h.globals.axisCharts&&g.push(L.split(s).join("")?L.split(s).join(""):"series-".concat(S))}),h.globals.axisCharts||(g.push(h.config.chart.toolbar.export.csv.headerValue),p.push(g.join(s))),h.globals.allSeriesHasEqualX||!h.globals.axisCharts||h.config.xaxis.categories.length||h.config.labels.length?i.map(function(k,S){h.globals.axisCharts?function(k,S){if(g.length&&0===S&&p.push(g.join(s)),k.data){k.data=k.data.length&&k.data||$(Array(w)).map(function(){return""});for(var L=0;L0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],this.offY="top"===i.config.xaxis.position?0:i.globals.gridHeight,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth=this.xaxisBorderWidth.indexOf("%")>-1?i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return F(y,[{key:"drawXaxis",value:function(){var e=this.w,t=new z(this.ctx),i=t.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),a=t.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});i.add(a);for(var r=[],s=0;s6&&void 0!==arguments[6]?arguments[6]:{},c=[],d=[],g=this.w,p=h.xaxisFontSize||this.xaxisFontSize,x=h.xaxisFontFamily||this.xaxisFontFamily,f=h.xaxisForeColors||this.xaxisForeColors,m=h.fontWeight||g.config.xaxis.labels.style.fontWeight,v=h.cssClass||g.config.xaxis.labels.style.cssClass,w=g.globals.padHorizontal,l=a.length,u="category"===g.config.xaxis.type?g.globals.dataPoints:l;0===u&&l>u&&(u=l),r?(n=g.globals.gridWidth/Math.min(u>1?u-1:u,l-1),w=w+s(0,n)/2+g.config.xaxis.labels.offsetX):w=w+s(0,n=g.globals.gridWidth/u)+g.config.xaxis.labels.offsetX;for(var A=function(S){var L=w-s(S,n)/2+g.config.xaxis.labels.offsetX;0===S&&1===l&&n/2===w&&1===u&&(L=g.globals.gridWidth/2);var C=o.axesUtils.getLabel(a,g.globals.timescaleLabels,L,S,c,p,e),M=28;if(g.globals.rotateXLabels&&e&&(M=22),g.config.xaxis.title.text&&"top"===g.config.xaxis.position&&(M+=parseFloat(g.config.xaxis.title.style.fontSize)+2),e||(M=M+parseFloat(p)+(g.globals.xAxisLabelsHeight-g.globals.xAxisGroupLabelsHeight)+(g.globals.rotateXLabels?10:0)),C=void 0!==g.config.xaxis.tickAmount&&"dataPoints"!==g.config.xaxis.tickAmount&&"datetime"!==g.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(S,C,l):o.axesUtils.checkForOverflowingLabels(S,C,l,c,d),g.config.xaxis.labels.show){var X=t.drawText({x:C.x,y:o.offY+g.config.xaxis.labels.offsetY+M-("top"===g.config.xaxis.position?g.globals.xAxisHeight+g.config.xaxis.axisTicks.height-2:0),text:C.text,textAnchor:"middle",fontWeight:C.isBold?600:m,fontSize:p,fontFamily:x,foreColor:Array.isArray(f)?e&&g.config.xaxis.convertedCatToNumeric?f[g.globals.minX+S-1]:f[S]:f,isPlainText:!1,cssClass:(e?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+v});if(i.add(X),X.on("click",function(T){if("function"==typeof g.config.chart.events.xAxisLabelClick){var R=Object.assign({},g,{labelIndex:S});g.config.chart.events.xAxisLabelClick(T,o.ctx,R)}}),e){var I=document.createElementNS(g.globals.SVGNS,"title");I.textContent=Array.isArray(C.text)?C.text.join(" "):C.text,X.node.appendChild(I),""!==C.text&&(c.push(C.text),d.push(C))}}Sa.globals.gridWidth)){var s=this.offY+a.config.xaxis.axisTicks.offsetY;if(t=t+s+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(t=s-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new z(this.ctx).drawLine(e+a.config.xaxis.axisTicks.offsetX,s+a.config.xaxis.offsetY,r+a.config.xaxis.axisTicks.offsetX,t+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var e=this.w,t=[],i=this.xaxisLabels.length,a=e.globals.padHorizontal;if(e.globals.timescaleLabels.length>0)for(var r=0;r0){var c=r[r.length-1].getBBox(),d=r[0].getBBox();c.x<-20&&r[r.length-1].parentNode.removeChild(r[r.length-1]),d.x+d.width>e.globals.gridWidth&&!e.globals.isBarHorizontal&&r[0].parentNode.removeChild(r[0]);for(var g=0;g0&&(this.xaxisLabels=t.globals.timescaleLabels.slice())}return F(y,[{key:"drawGridArea",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.w,i=new z(this.ctx);e||(e=i.group({class:"apexcharts-grid"}));var a=i.drawLine(t.globals.padHorizontal,1,t.globals.padHorizontal,t.globals.gridHeight,"transparent"),r=i.drawLine(t.globals.padHorizontal,t.globals.gridHeight,t.globals.gridWidth,t.globals.gridHeight,"transparent");return e.add(r),e.add(a),e}},{key:"drawGrid",value:function(){if(this.w.globals.axisCharts){var e=this.renderGrid();return this.drawGridArea(e.el),e}return null}},{key:"createGridMask",value:function(){var e=this.w,t=e.globals,i=new z(this.ctx),a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,$(e.config.stroke.width)):e.config.stroke.width,r=function(c){var d=document.createElementNS(t.SVGNS,"clipPath");return d.setAttribute("id",c),d};t.dom.elGridRectMask=r("gridRectMask".concat(t.cuid)),t.dom.elGridRectBarMask=r("gridRectBarMask".concat(t.cuid)),t.dom.elGridRectMarkerMask=r("gridRectMarkerMask".concat(t.cuid)),t.dom.elForecastMask=r("forecastMask".concat(t.cuid)),t.dom.elNonForecastMask=r("nonForecastMask".concat(t.cuid));var s=0,n=0;(["bar","rangeBar","candlestick","boxPlot"].includes(e.config.chart.type)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&(s=Math.max(e.config.grid.padding.left,t.barPadForNumericAxis),n=Math.max(e.config.grid.padding.right,t.barPadForNumericAxis)),t.dom.elGridRect=i.drawRect(0,0,t.gridWidth,t.gridHeight,0,"#fff"),t.dom.elGridRectBar=i.drawRect(-a/2-s-2,-a/2-2,t.gridWidth+a+n+s+4,t.gridHeight+a+4,0,"#fff");var o=e.globals.markers.largestSize;t.dom.elGridRectMarker=i.drawRect(-o,-o,t.gridWidth+2*o,t.gridHeight+2*o,0,"#fff"),t.dom.elGridRectMask.appendChild(t.dom.elGridRect.node),t.dom.elGridRectBarMask.appendChild(t.dom.elGridRectBar.node),t.dom.elGridRectMarkerMask.appendChild(t.dom.elGridRectMarker.node);var h=t.dom.baseEl.querySelector("defs");h.appendChild(t.dom.elGridRectMask),h.appendChild(t.dom.elGridRectBarMask),h.appendChild(t.dom.elGridRectMarkerMask),h.appendChild(t.dom.elForecastMask),h.appendChild(t.dom.elNonForecastMask)}},{key:"_drawGridLines",value:function(e){var t=e.i,i=e.x1,n=e.xCount,h=this.w;if(!(0===t&&h.globals.skipFirstTimelinelabel||t===n-1&&h.globals.skipLastTimelinelabel&&!h.config.xaxis.labels.formatter||"radar"===h.config.chart.type)){h.config.grid.xaxis.lines.show&&this._drawGridLine({i:t,x1:i,y1:e.y1,x2:e.x2,y2:e.y2,xCount:n,parent:e.parent});var c=0;if(h.globals.hasXaxisGroups&&"between"===h.config.xaxis.tickPlacement){var d=h.globals.groups;if(d){for(var g=0,p=0;g0&&"datetime"!==e.config.xaxis.type&&(r=t.yAxisScale[a].result.length-1)),this._drawXYLines({xCount:r,tickAmount:s})):this._drawInvertedXYLines({xCount:r=s,tickAmount:s=t.xTickAmount}),this.drawGridBands(r,s),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.gridWidth/r}}},{key:"drawGridBands",value:function(e,t){var i,a,r=this,s=this.w;if((null===(i=s.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(x,f,m,v,w,l){for(var u=0,b=0;u=s.config.grid.row.colors.length&&(b=0),r._drawGridBandRect({c:b,x1:0,y1:v,x2:w,y2:l,type:"row"}),v+=s.globals.gridHeight/t}(0,t,0,0,s.globals.gridWidth,s.globals.gridHeight/t),(null===(a=s.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var n=s.globals.isBarHorizontal||"on"!==s.config.xaxis.tickPlacement||"category"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric?e:e-1;s.globals.isXNumeric&&(n=s.globals.xAxisScale.result.length-1);for(var o=s.globals.padHorizontal,h=s.globals.padHorizontal+s.globals.gridWidth/n,c=s.globals.gridHeight,d=0,g=0;d=s.config.grid.column.colors.length&&(g=0),"datetime"===s.config.xaxis.type&&(o=this.xaxisLabels[d].position,h=((null===(p=this.xaxisLabels[d+1])||void 0===p?void 0:p.position)||s.globals.gridWidth)-this.xaxisLabels[d].position),this._drawGridBandRect({c:g,x1:o,y1:0,x2:h,y2:c,type:"column"}),o+=s.globals.gridWidth/n}}}}]),y}(),Ke=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.coreUtils=new Z(this.ctx)}return F(y,[{key:"niceScale",value:function(e,t){var i,a,r,s,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=1e-11,h=this.w,c=h.globals;c.isBarHorizontal?(i=h.config.xaxis,a=Math.max((c.svgWidth-100)/25,2)):(i=h.config.yaxis[n],a=Math.max((c.svgHeight-100)/15,2)),P.isNumber(a)||(a=10),r=null!=i.min,s=void 0!==i.max&&null!==i.min;var d=null!=i.stepSize,g=null!=i.tickAmount,p=g?i.tickAmount:c.niceScaleDefaultTicks[Math.min(Math.round(a/2),c.niceScaleDefaultTicks.length-1)];if(c.isMultipleYAxis&&!g&&c.multiAxisTickAmount>0&&(p=c.multiAxisTickAmount,g=!0),p="dataPoints"===p?c.dataPoints-1:Math.abs(Math.round(p)),(e===Number.MIN_VALUE&&0===t||!P.isNumber(e)&&!P.isNumber(t)||e===Number.MIN_VALUE&&t===-Number.MAX_VALUE)&&(e=P.isNumber(i.min)?i.min:0,t=P.isNumber(i.max)?i.max:e+p,c.allSeriesCollapsed=!1),e>t){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var x=t;t=e,e=x}else e===t&&(e=0===e?0:e-1,t=0===t?2:t+1);var f=[];p<1&&(p=1);var m=p,v=Math.abs(t-e);!r&&e>0&&e/v<.15&&(e=0,r=!0),!s&&t<0&&-t/v<.15&&(t=0,s=!0);var w=(v=Math.abs(t-e))/m,l=w,u=Math.floor(Math.log10(l)),b=Math.pow(10,u),A=Math.ceil(l/b);if(w=l=(A=c.niceScaleAllowedMagMsd[0===c.yValueDecimal?0:1][A])*b,c.isBarHorizontal&&i.stepSize&&"datetime"!==i.type?(w=i.stepSize,d=!0):d&&(w=i.stepSize),d&&i.forceNiceScale){var k=Math.floor(Math.log10(w));w*=Math.pow(10,u-k)}if(r&&s){var S=v/m;if(g)if(d)if(0!=P.mod(v,w)){var L=P.getGCD(w,S);w=S/L<10?L:S}else 0==P.mod(w,S)?w=S:(S=w,g=!1);else w=S;else if(d)0==P.mod(v,w)?S=w:w=S;else if(0==P.mod(v,w))S=w;else{S=v/(m=Math.ceil(v/w));var C=P.getGCD(v,w);v/Ca&&(e=t-w*p,e+=w*Math.floor((M-e)/w))}else if(r)if(g)t=e+w*m;else{var X=t;t=w*Math.ceil(t/w),Math.abs(t-e)/P.getGCD(v,w)>a&&(t=e+w*p,t+=w*Math.ceil((X-t)/w))}}else if(c.isMultipleYAxis&&g){var I=w*Math.floor(e/w),T=I+w*m;T0&&e16&&P.getPrimeFactors(m).length<2&&m++,!g&&i.forceNiceScale&&0===c.yValueDecimal&&m>v&&(m=v,w=Math.round(v/m)),m>a&&(!g&&!d||i.forceNiceScale)){var R=P.getPrimeFactors(m),D=R.length-1,H=m;e:for(var O=0;Oae);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:"linearScale",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,s=Math.abs(t-e),n=[];if(e===t)return{result:n=[e],niceMin:n[0],niceMax:n[n.length-1]};"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1),r||(r=s/i),r=Math.round(10*(r+Number.EPSILON))/10,i===Number.MAX_VALUE&&(i=5,r=1);for(var o=e;i>=0;)n.push(o),o=P.preciseAddition(o,r),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(e,t,i){t<=0&&(t=Math.max(e,i)),e<=0&&(e=Math.min(t,i));for(var a=[],r=Math.ceil(Math.log(t)/Math.log(i)+1),s=Math.floor(Math.log(e)/Math.log(i));s5?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=s.forceNiceScale?this.logarithmicScaleNice(t,i,s.logBase):this.logarithmicScale(t,i,s.logBase)):i!==-Number.MAX_VALUE&&P.isNumber(i)&&t!==Number.MAX_VALUE&&P.isNumber(t)?(a.allSeriesCollapsed=!1,a.yAxisScale[e]=this.niceScale(t,i,e)):a.yAxisScale[e]=this.niceScale(Number.MIN_VALUE,0,e)}},{key:"setXScale",value:function(e,t){var i=this.w,a=i.globals,r=Math.abs(t-e);if(t!==-Number.MAX_VALUE&&P.isNumber(t)){var s=a.xTickAmount+1;r<10&&r>1&&(s=r),a.xAxisScale=this.linearScale(e,t,s,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:"scaleMultipleYAxes",value:function(){var e=this,t=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,r=i.minYArr,s=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach(function(n,o){var h=[];n.forEach(function(c){var d=t.series[c].group;h.indexOf(d)<0&&h.push(d)}),n.length>0?function(){var c,d,g=Number.MAX_VALUE,p=-Number.MAX_VALUE,x=g,f=p;if(t.chart.stacked)!function(){var w=new Array(i.dataPoints).fill(0),l=[],u=[],b=[];h.forEach(function(){l.push(w.map(function(){return Number.MIN_VALUE})),u.push(w.map(function(){return Number.MIN_VALUE})),b.push(w.map(function(){return Number.MIN_VALUE}))});for(var A=function(S){!c&&t.series[n[S]].type&&(c=t.series[n[S]].type);var L=n[S];d=t.series[L].group?t.series[L].group:"axis-".concat(o),!(i.collapsedSeriesIndices.indexOf(L)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(L)<0)||(i.allSeriesCollapsed=!1,h.forEach(function(C,M){if(t.series[L].group===C)for(var X=0;X=0?u[M][X]+=I:b[M][X]+=I,l[M][X]+=I,x=Math.min(x,I),f=Math.max(f,I)}})),"bar"!==c&&"column"!==c||i.barGroups.push(d)},k=0;k1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=this.w.config,s=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=e+1);var h=s.series,c=h,d=h;"candlestick"===r.chart.type?(c=s.seriesCandleL,d=s.seriesCandleH):"boxPlot"===r.chart.type?(c=s.seriesCandleO,d=s.seriesCandleC):s.isRangeData&&(c=s.seriesRangeStart,d=s.seriesRangeEnd);var g=!1;if(s.seriesX.length>=a){var p,x=null===(p=s.brushSource)||void 0===p?void 0:p.w.config.chart.brush;(r.chart.zoom.enabled&&r.chart.zoom.autoScaleYaxis||null!=x&&x.enabled&&null!=x&&x.autoScaleYaxis)&&(g=!0)}for(var f=e;fv&&s.seriesX[f][w]>r.xaxis.max;w--);}for(var l=v;l<=w&&lc[f][l]&&c[f][l]<0&&(o=c[f][l])}else s.hasNullValues=!0}"bar"!==m&&"column"!==m||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,t=Math.min(t,0)))}return"rangeBar"===r.chart.type&&s.seriesRangeStart.length&&s.isBarHorizontal&&(o=t),"bar"===r.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:t,highestY:i}}},{key:"setYRange",value:function(){var e=this.w.globals,t=this.w.config;e.maxY=-Number.MAX_VALUE,e.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(e.isMultipleYAxis){a=Number.MAX_VALUE;for(var r=0;re.dataPoints&&0!==e.dataPoints&&(a=e.dataPoints-1);else if("dataPoints"===t.xaxis.tickAmount){if(e.series.length>1&&(a=e.series[e.maxValsInArrayIndex].length-1),e.isXNumeric){var r=e.maxX-e.minX;r<30&&(a=r-1)}}else a=t.xaxis.tickAmount;if(e.xTickAmount=a,void 0!==t.xaxis.max&&"number"==typeof t.xaxis.max&&(e.maxX=t.xaxis.max),void 0!==t.xaxis.min&&"number"==typeof t.xaxis.min&&(e.minX=t.xaxis.min),void 0!==t.xaxis.range&&(e.minX=e.maxX-t.xaxis.range),e.minX!==Number.MAX_VALUE&&e.maxX!==-Number.MAX_VALUE)if(t.xaxis.convertedCatToNumeric&&!e.dataFormatXNumeric){for(var s=[],n=e.minX-1;n0&&(e.xAxisScale=this.scales.linearScale(1,e.labels.length,a-1,0,t.xaxis.stepSize),e.seriesX=e.labels.slice());i&&(e.labels=e.xAxisScale.result.slice())}return e.isBarHorizontal&&e.labels.length&&(e.xTickAmount=e.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:e.minX,maxX:e.maxX}}},{key:"setZRange",value:function(){var e=this.w.globals;if(e.isDataXYZ)for(var t=0;t0){var n=r-a[s-1];n>0&&(e.minXDiff=Math.min(n,e.minXDiff))}}),1!==e.dataPoints&&e.minXDiff!==Number.MAX_VALUE||(e.minXDiff=.5)})}},{key:"_setStackedMinMax",value:function(){var e=this,t=this.w.globals;if(t.series.length){var i=t.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map(function(s){return s})]);var a={},r={};i.forEach(function(s){a[s]=[],r[s]=[],e.w.config.series.map(function(n,o){return s.indexOf(t.seriesNames[o])>-1?o:null}).filter(function(n){return null!==n}).forEach(function(n){for(var o=0;o0?a[s][o]+=parseFloat(t.series[n][o])+1e-4:r[s][o]+=parseFloat(t.series[n][o]))}})}),Object.entries(a).forEach(function(s){var n=je(s,1)[0];a[n].forEach(function(o,h){t.maxY=Math.max(t.maxY,a[n][h]),t.minY=Math.min(t.minY,r[n][h])})})}}}]),y}(),Ee=function(){function y(e,t){Y(this,y),this.ctx=e,this.elgrid=t,this.w=e.w;var i=this.w;this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.axisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xAxisoffX="bottom"===i.config.xaxis.position?i.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new le(e)}return F(y,[{key:"drawYaxis",value:function(e){var t=this.w,i=new z(this.ctx),a=t.config.yaxis[e].labels.style,r=a.fontSize,s=a.fontFamily,n=a.fontWeight,o=i.group({class:"apexcharts-yaxis",rel:e,transform:"translate(".concat(t.globals.translateYAxisX[e],", 0)")});if(this.axesUtils.isYAxisHidden(e))return o;var h=i.group({class:"apexcharts-yaxis-texts-g"});o.add(h);var c=t.globals.yAxisScale[e].result.length-1,d=t.globals.gridHeight/c,g=t.globals.yLabelFormatters[e],p=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice());if(t.config.yaxis[e].labels.show){var x=t.globals.translateY+t.config.yaxis[e].labels.offsetY;t.globals.isBarHorizontal?x=0:"heatmap"===t.config.chart.type&&(x-=d/2),x+=parseInt(r,10)/3;for(var f=c;f>=0;f--){var m=g(p[f],f,t),v=t.config.yaxis[e].labels.padding;t.config.yaxis[e].opposite&&0!==t.config.yaxis.length&&(v*=-1);var w=this.getTextAnchor(t.config.yaxis[e].labels.align,t.config.yaxis[e].opposite),l=this.axesUtils.getYAxisForeColor(a.colors,e),u=Array.isArray(l)?l[f]:l,b=P.listToArray(t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label tspan"))).map(function(k){return k.textContent}),A=i.drawText({x:v,y:x,text:b.includes(m)?"":m,textAnchor:w,fontSize:r,fontFamily:s,fontWeight:n,maxWidth:t.config.yaxis[e].labels.maxWidth,foreColor:u,isPlainText:!1,cssClass:"apexcharts-yaxis-label ".concat(a.cssClass)});h.add(A),this.addTooltip(A,m),0!==t.config.yaxis[e].labels.rotate&&this.rotateLabel(i,A,firstLabel,t.config.yaxis[e].labels.rotate),x+=d}}return this.addYAxisTitle(i,o,e),this.addAxisBorder(i,o,e,c,d),o}},{key:"getTextAnchor",value:function(e,t){return"left"===e?"start":"center"===e?"middle":"right"===e?"end":t?"start":"end"}},{key:"addTooltip",value:function(e,t){var i=document.createElementNS(this.w.globals.SVGNS,"title");i.textContent=Array.isArray(t)?t.join(" "):t,e.node.appendChild(i)}},{key:"rotateLabel",value:function(e,t,i,a){var r=e.rotateAroundCenter(i.node),s=e.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(".concat(a," ").concat(r.x," ").concat(s.y,")"))}},{key:"addYAxisTitle",value:function(e,t,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var r=e.group({class:"apexcharts-yaxis-title"}),n=e.drawText({x:a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:"end",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text ".concat(a.config.yaxis[i].title.style.cssClass)});r.add(n),t.add(r)}}},{key:"addAxisBorder",value:function(e,t,i,a,r){var s=this.w,n=s.config.yaxis[i].axisBorder,o=31+n.offsetX;if(s.config.yaxis[i].opposite&&(o=-31-n.offsetX),n.show){var h=e.drawLine(o,s.globals.translateY+n.offsetY-2,o,s.globals.gridHeight+s.globals.translateY+n.offsetY+2,n.color,0,n.width);t.add(h)}s.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(o,a,n,s.config.yaxis[i].axisTicks,i,r,t)}},{key:"drawYaxisInversed",value:function(e){var t=this.w,i=new z(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),r=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});a.add(r);var s=t.globals.yAxisScale[e].result.length-1,n=t.globals.gridWidth/s+.1,o=n+t.config.xaxis.labels.offsetX,h=t.globals.xLabelFormatter,c=this.axesUtils.checkForReversedLabels(e,t.globals.yAxisScale[e].result.slice()),d=t.globals.timescaleLabels;if(d.length>0&&(this.xaxisLabels=d.slice(),s=(c=d.slice()).length),t.config.xaxis.labels.show)for(var g=d.length?0:s;d.length?g=0;d.length?g++:g--){var p=h(c[g],g,t),x=t.globals.gridWidth+t.globals.padHorizontal-(o-n+t.config.xaxis.labels.offsetX);if(d.length){var f=this.axesUtils.getLabel(c,d,x,g,this.drawnLabels,this.xaxisFontSize);x=f.x,p=f.text,this.drawnLabels.push(f.text),0===g&&t.globals.skipFirstTimelinelabel&&(p=""),g===c.length-1&&t.globals.skipLastTimelinelabel&&(p="")}var m=i.drawText({x,y:this.xAxisoffX+t.config.xaxis.labels.offsetY+30-("top"===t.config.xaxis.position?t.globals.xAxisHeight+t.config.xaxis.axisTicks.height-2:0),text:p,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[e]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:t.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label ".concat(t.config.xaxis.labels.style.cssClass)});r.add(m),m.tspan(p),this.addTooltip(m,p),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(e){var t=this.w,i=new z(this.ctx),a=t.config.xaxis.axisBorder;if(a.show){var r=0;"bar"===t.config.chart.type&&t.globals.isXNumeric&&(r-=15);var s=i.drawLine(t.globals.padHorizontal+r+a.offsetX,this.xAxisoffX,t.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(s):e.add(s)}}},{key:"inversedYAxisTitleText",value:function(e){var t=this.w,i=new z(this.ctx);if(void 0!==t.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),r=i.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(t.config.xaxis.title.style.fontSize)+t.config.xaxis.title.offsetY+20,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text ".concat(t.config.xaxis.title.style.cssClass)});a.add(r),e.add(a)}}},{key:"yAxisTitleRotate",value:function(e,t){var i=this.w,a=new z(this.ctx),r=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g")),s=r?r.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-title text")),o=n?n.getBoundingClientRect():{width:0,height:0};if(n){var h=this.xPaddingForYAxisTitle(e,s,o,t);n.setAttribute("x",h.xPos-(t?10:0));var c=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(t?-1*i.config.yaxis[e].title.rotate:i.config.yaxis[e].title.rotate," ").concat(c.x," ").concat(c.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(e,t,i,a){var r=this.w,s=0,n=10;return void 0===r.config.yaxis[e].title.text||e<0?{xPos:s,padd:0}:(a?s=t.width+r.config.yaxis[e].title.offsetX+i.width/2+n/2:(s=-1*t.width+r.config.yaxis[e].title.offsetX+n/2+i.width/2,r.globals.isBarHorizontal&&(s=-1*t.width-r.config.yaxis[e].title.offsetX-(n=25))),{xPos:s,padd:n})}},{key:"setYAxisXPosition",value:function(e,t){var i=this.w,a=0,r=0,s=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach(function(o,h){var c=i.globals.ignoreYAxisIndexes.includes(h)||!o.show||o.floating||0===e[h].width,d=e[h].width+t[h].width;o.opposite?i.globals.isBarHorizontal?i.globals.translateYAxisX[h]=(r=i.globals.gridWidth+i.globals.translateX-1)-o.labels.offsetX:(r=i.globals.gridWidth+i.globals.translateX+n,c||(n+=d+20),i.globals.translateYAxisX[h]=r-o.labels.offsetX+20):(a=i.globals.translateX-s,c||(s+=d+20),i.globals.translateYAxisX[h]=a+o.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var e=this.w;P.listToArray(e.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach(function(t,i){var a=e.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var r=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),s=P.listToArray(e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"))),n=r.getBoundingClientRect();s.forEach(function(o){o.setAttribute("text-anchor",a.labels.align)}),"left"!==a.labels.align||a.opposite?"center"===a.labels.align?r.setAttribute("transform","translate(".concat(n.width/2*(a.opposite?1:-1),", 0)")):"right"===a.labels.align&&a.opposite&&r.setAttribute("transform","translate(".concat(n.width,", 0)")):r.setAttribute("transform","translate(-".concat(n.width,", 0)"))}})}}]),y}(),vt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.documentEvent=P.bind(this.documentEvent,this)}return F(y,[{key:"addEventListener",value:function(e,t){var i=this.w;i.globals.events.hasOwnProperty(e)?i.globals.events[e].push(t):i.globals.events[e]=[t]}},{key:"removeEventListener",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){var a=i.globals.events[e].indexOf(t);-1!==a&&i.globals.events[e].splice(a,1)}}},{key:"fireEvent",value:function(e,t){var i=this.w;if(i.globals.events.hasOwnProperty(e)){t&&t.length||(t=[]);for(var a=i.globals.events[e],r=a.length,s=0;s0&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(r){return r.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=P.extend(qe,i);this.w.globals.locale=a.options}}]),y}(),wt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"drawAxis",value:function(e,t){var i,a,r=this,s=this.w.globals,n=this.w.config,o=new ve(this.ctx,t),h=new Ee(this.ctx,t);s.axisCharts&&"radar"!==e&&(s.isBarHorizontal?(a=h.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),n.yaxis.map(function(c,d){if(-1===s.ignoreYAxisIndexes.indexOf(d)&&(a=h.drawYaxis(d),s.dom.Paper.add(a),"back"===r.w.config.grid.position)){var g=s.dom.Paper.children()[1];g.remove(),s.dom.Paper.add(g)}})))}}]),y}(),Ye=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"drawXCrosshairs",value:function(){var e=this.w,t=new z(this.ctx),i=new K(this.ctx),a=e.config.xaxis.crosshairs.fill.gradient,r=e.config.xaxis.crosshairs.dropShadow,g=r.enabled,p=r.left,x=r.top,f=r.blur,m=r.color,v=r.opacity,w=e.config.xaxis.crosshairs.fill.color;if(e.config.xaxis.crosshairs.show){"gradient"===e.config.xaxis.crosshairs.fill.type&&(w=t.drawGradient("vertical",a.colorFrom,a.colorTo,a.opacityFrom,a.opacityTo,null,a.stops,null));var l=t.drawRect();1===e.config.xaxis.crosshairs.width&&(l=t.drawLine());var u=e.globals.gridHeight;(!P.isNumber(u)||u<0)&&(u=0);var b=e.config.xaxis.crosshairs.width;(!P.isNumber(b)||b<0)&&(b=0),l.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:u,width:b,height:u,fill:w,filter:"none","fill-opacity":e.config.xaxis.crosshairs.opacity,stroke:e.config.xaxis.crosshairs.stroke.color,"stroke-width":e.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":e.config.xaxis.crosshairs.stroke.dashArray}),g&&(l=i.dropShadow(l,{left:p,top:x,blur:f,color:m,opacity:v})),e.globals.dom.elGraphical.add(l)}}},{key:"drawYCrosshairs",value:function(){var e=this.w,t=new z(this.ctx),i=e.config.yaxis[0].crosshairs,a=e.globals.barPadForNumericAxis;if(e.config.yaxis[0].crosshairs.show){var r=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);r.attr({class:"apexcharts-ycrosshairs"}),e.globals.dom.elGraphical.add(r)}var s=t.drawLine(-a,0,e.globals.gridWidth+a,0,i.stroke.color,0,0);s.attr({class:"apexcharts-ycrosshairs-hidden"}),e.globals.dom.elGraphical.add(s)}}]),y}(),kt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"checkResponsiveConfig",value:function(e){var t=this,i=this.w,a=i.config;if(0!==a.responsive.length){var r=a.responsive.slice();r.sort(function(h,c){return h.breakpoint>c.breakpoint?1:c.breakpoint>h.breakpoint?-1:0}).reverse();var s=new me({}),n=function(){var h=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},d=window.innerWidth>0?window.innerWidth:screen.width;if(d>r[0].breakpoint){var g=P.clone(i.globals.initialConfig);g.series=P.clone(i.config.series);var p=Z.extendArrayProps(s,g,i);h=P.extend(p,h),h=P.extend(i.config,h),t.overrideResponsiveOptions(h)}else for(var x=0;x0&&"function"==typeof e[0]?(this.isColorFn=!0,i.config.series.map(function(a,r){var s=e[r]||e[0];return"function"==typeof s?s({value:i.globals.axisCharts?i.globals.series[r][0]||0:i.globals.series[r],seriesIndex:r,dataPointIndex:r,w:t.w}):s})):e:this.predefined()}},{key:"applySeriesColors",value:function(e,t){e.forEach(function(i,a){i&&(t[a]=i)})}},{key:"getMonochromeColors",value:function(e,t,i){var a=e.color,s=e.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?t[0].length*t.length:t.length,o=1/(n/e.shadeIntensity),h=0;return Array.from({length:n},function(){var c=i.shadeColor("dark"===s?-1*h:h,a);return h+=o,c})}},{key:"applyColorTypes",value:function(e,t){var i=this,a=this.w;e.forEach(function(r){a.globals[r].colors=void 0===a.config[r].colors?i.isColorFn?a.config.colors:t:a.config[r].colors.slice(),i.pushExtraColors(a.globals[r].colors)})}},{key:"applyDataLabelsColors",value:function(e){var t=this.w;t.globals.dataLabels.style.colors=void 0===t.config.dataLabels.style.colors?e:t.config.dataLabels.style.colors.slice(),this.pushExtraColors(t.globals.dataLabels.style.colors,50)}},{key:"applyRadarPolygonsColors",value:function(){var e=this.w;e.globals.radarPolygons.fill.colors=void 0===e.config.plotOptions.radar.polygons.fill.colors?["dark"===e.config.theme.mode?"#424242":"none"]:e.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(e.globals.radarPolygons.fill.colors,20)}},{key:"applyMarkersColors",value:function(e){var t=this.w;t.globals.markers.colors=void 0===t.config.markers.colors?e:t.config.markers.colors.slice(),this.pushExtraColors(t.globals.markers.colors)}},{key:"pushExtraColors",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,r=t||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(r=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),e.lengthe.globals.svgWidth&&(this.dCtx.lgRect.width=e.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var e=this,t=this.w,i=[];t.config.series.forEach(function(o,h){o.data.forEach(function(c,d){a=t.config.dataLabels.formatter(t.globals.series[h][d],{ctx:e.dCtx.ctx,seriesIndex:h,dataPointIndex:d,w:t}),i.push(a)})});var a=P.getLargestStringFromArr(i),r=new z(this.dCtx.ctx),s=t.config.dataLabels.style,n=r.getTextRects(a,parseInt(s.fontSize),s.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(e,t){var i=e;if(this.w.globals.isMultiLineX){var a=t.map(function(s,n){return Array.isArray(s)?s.length:1}),r=Math.max.apply(Math,$(a));i=t[a.indexOf(r)]}return i}}]),y}(),Lt=function(){function y(e){Y(this,y),this.w=e.w,this.dCtx=e}return F(y,[{key:"getxAxisLabelsCoords",value:function(){var e,t=this.w,i=t.globals.labels.slice();if(t.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=t.globals.categoryLabels),t.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();e={width:a.width,height:a.height},t.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==t.config.legend.position&&"right"!==t.config.legend.position||t.config.legend.floating?0:this.dCtx.lgRect.width;var r=t.globals.xLabelFormatter,s=P.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(s,i);t.globals.isBarHorizontal&&(n=s=t.globals.yAxisScale[0].result.reduce(function(x,f){return x.length>f.length?x:f},0));var o=new xe(this.dCtx.ctx),h=s;s=o.xLabelFormat(r,s,h,{i:void 0,dateFormatter:new Q(this.dCtx.ctx).formatDate,w:t}),n=o.xLabelFormat(r,n,h,{i:void 0,dateFormatter:new Q(this.dCtx.ctx).formatDate,w:t}),(t.config.xaxis.convertedCatToNumeric&&void 0===s||""===String(s).trim())&&(n=s="1");var c=new z(this.dCtx.ctx),d=c.getTextRects(s,t.config.xaxis.labels.style.fontSize),g=d;if(s!==n&&(g=c.getTextRects(n,t.config.xaxis.labels.style.fontSize)),(e={width:d.width>=g.width?d.width:g.width,height:d.height>=g.height?d.height:g.height}).width*i.length>t.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==t.config.xaxis.labels.rotate||t.config.xaxis.labels.rotateAlways){if(!t.globals.isBarHorizontal){t.globals.rotateXLabels=!0;var p=function(x){return c.getTextRects(x,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,"rotate(".concat(t.config.xaxis.labels.rotate," 0 0)"),!1)};d=p(s),s!==n&&(g=p(n)),e.height=(d.height>g.height?d.height:g.height)/1.5,e.width=d.width>g.width?d.width:g.width}}else t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(e={width:0,height:0}),{width:e.width,height:e.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var e,t=this.w;if(!t.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(e=t.config.xaxis.group.style)||void 0===e?void 0:e.fontSize)||t.config.xaxis.labels.style.fontSize,r=t.globals.groups.map(function(d){return d.title}),s=P.getLargestStringFromArr(r),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(s,r),o=new z(this.dCtx.ctx),h=o.getTextRects(s,a),c=h;return s!==n&&(c=o.getTextRects(n,a)),i={width:h.width>=c.width?h.width:c.width,height:h.height>=c.height?h.height:c.height},t.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var e=this.w,t=0,i=0;if(void 0!==e.config.xaxis.title.text){var a=new z(this.dCtx.ctx).getTextRects(e.config.xaxis.title.text,e.config.xaxis.title.style.fontSize);t=a.width,i=a.height}return{width:t,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var e,t=this.w;this.dCtx.timescaleLabels=t.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map(function(r){return r.value}),a=i.reduce(function(r,s){return void 0===r?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):r.length>s.length?r:s},0);return 1.05*(e=new z(this.dCtx.ctx).getTextRects(a,t.config.xaxis.labels.style.fontSize)).width*i.length>t.globals.gridWidth&&0!==t.config.xaxis.labels.rotate&&(t.globals.overlappingXLabels=!0),e}},{key:"additionalPaddingXLabels",value:function(e){var t=this,i=this.w,a=i.globals,r=i.config,s=r.xaxis.type,n=e.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal;r.yaxis.forEach(function(c,d){o?(t.dCtx.gridPad.left1&&-1!==a.collapsedSeriesIndices.indexOf(d)||function(g){if(t.dCtx.timescaleLabels&&t.dCtx.timescaleLabels.length){var f=t.dCtx.timescaleLabels[0].position-n/1.75+t.dCtx.yAxisWidthLeft;t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length-1].position+n/1.75-t.dCtx.yAxisWidthRight>a.svgWidth-a.translateX-("right"===i.config.legend.position&&t.dCtx.lgRect.width>0?t.dCtx.lgRect.width:0)&&(a.skipLastTimelinelabel=!0),f<-(g.show&&!g.floating||"bar"!==r.chart.type&&"candlestick"!==r.chart.type&&"rangeBar"!==r.chart.type&&"boxPlot"!==r.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===s?t.dCtx.gridPad.right(null===(k=String(d(b,o)))||void 0===k?void 0:k.length)?u:b},h.niceMin===Number.MIN_VALUE?0:h.niceMin),x=p=d(p,o);if(void 0!==p&&0!==p.length||(p=h.niceMax),t.globals.isBarHorizontal){a=0;var f=t.globals.labels.slice();p=P.getLargestStringFromArr(f),p=d(p,{seriesIndex:n,dataPointIndex:-1,w:t}),x=e.dCtx.dimHelpers.getLargestStringFromMultiArr(p,f)}var m=new z(e.dCtx.ctx),v="rotate(".concat(s.labels.rotate," 0 0)"),w=m.getTextRects(p,s.labels.style.fontSize,s.labels.style.fontFamily,v,!1),l=w;p!==x&&(l=m.getTextRects(x,s.labels.style.fontSize,s.labels.style.fontFamily,v,!1)),i.push({width:(c>l.width||c>w.width?c:l.width>w.width?l.width:w.width)+a,height:l.height>w.height?l.height:w.height})}else i.push({width:0,height:0})}),i}},{key:"getyAxisTitleCoords",value:function(){var e=this,i=[];return this.w.config.yaxis.map(function(a,r){if(a.show&&void 0!==a.title.text){var s=new z(e.dCtx.ctx),n="rotate(".concat(a.title.rotate," 0 0)"),o=s.getTextRects(a.title.text,a.title.style.fontSize,a.title.style.fontFamily,n,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})}),i}},{key:"getTotalYAxisWidth",value:function(){var e=this.w,t=0,i=0,a=0,r=e.globals.yAxisScale.length>1?10:0,s=new le(this.dCtx.ctx),n=function(o,h){var c=e.config.yaxis[h].floating,d=0;o.width>0&&!c?(d=o.width+r,e.globals.ignoreYAxisIndexes.indexOf(h)>-1&&(d=d-o.width-r)):d=c||s.isYAxisHidden(h)?0:5,e.config.yaxis[h].opposite?a+=d:i+=d,t+=d};return e.globals.yLabelsCoords.map(function(o,h){n(o,h)}),e.globals.yTitleCoords.map(function(o,h){n(o,h)}),e.globals.isBarHorizontal&&!e.config.yaxis[0].floating&&(t=e.globals.yLabelsCoords[0].width+e.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,t}}]),y}(),Mt=function(){function y(e){Y(this,y),this.w=e.w,this.dCtx=e}return F(y,[{key:"gridPadForColumnsInNumericAxis",value:function(e){var t=this.w,i=t.config,a=t.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var r=function(p){return["bar","rangeBar","candlestick","boxPlot"].includes(p)},s=i.chart.type,n=0,o=r(s)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach(function(p){r(p.type)&&(o-=1)}),i.chart.stacked&&(o=1);var h=r(s)||a.comboBarCount>0,c=Math.abs(a.initialMaxX-a.initialMinX);if(h&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&0!==c){c<=3&&(c=a.dataPoints);var d=c/e,g=a.minXDiff&&a.minXDiff/d>0?a.minXDiff/d:0;g>e/2&&(g/=2),(n=g*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var e=this,t=this.w,i=t.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;["title","subtitle"].forEach(function(n){a+=void 0!==t.config[n].text?t.config[n].margin:e.dCtx.isSparkline||!i.axisCharts?0:5}),!t.config.legend.show||"bottom"!==t.config.legend.position||t.config.legend.floating||i.axisCharts||(a+=10);var r=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),s=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight-=r.height+s.height+a,i.translateY+=r.height+s.height+a}},{key:"setGridXPosForDualYAxis",value:function(e,t){var i=this.w,a=new le(this.dCtx.ctx);i.config.yaxis.forEach(function(r,s){-1!==i.globals.ignoreYAxisIndexes.indexOf(s)||r.floating||a.isYAxisHidden(s)||(r.opposite&&(i.globals.translateX-=t[s].width+e[s].width+parseInt(r.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))})}}]),y}(),Ce=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new Ct(this),this.dimYAxis=new Pt(this),this.dimXAxis=new Lt(this),this.dimGrid=new Mt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return F(y,[{key:"plotCoords",value:function(){var e=this,t=this.w,i=t.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,$(t.config.stroke.width)):t.config.stroke.width;this.isSparkline&&((t.config.markers.discrete.length>0||t.config.markers.size>0)&&Object.entries(this.gridPad).forEach(function(s){var n=je(s,2);e.gridPad[n[0]]=Math.max(n[1],e.w.globals.markers.largestSize/1.5)}),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var r=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*r,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(r>0?r:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var e=this,t=this.w,i=t.globals,a=this.dimYAxis.getyAxisLabelsCoords(),r=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),t.globals.yLabelsCoords=[],t.globals.yTitleCoords=[],t.config.yaxis.map(function(p,x){t.globals.yLabelsCoords.push({width:a[x].width,index:x}),t.globals.yTitleCoords.push({width:r[x].width,index:x})}),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var s=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(s,o,n),i.translateXAxisY=t.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=t.globals.rotateXLabels&&t.globals.isXNumeric&&t.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,t.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(t.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+t.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+t.config.xaxis.labels.offsetX;var h=this.yAxisWidth,c=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-s.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var d=10;("radar"===t.config.chart.type||this.isSparkline)&&(h=0,c=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===t.config.chart.type)&&(h=0,c=0,d=0),this.isSparkline||"treemap"===t.config.chart.type||this.dimXAxis.additionalPaddingXLabels(s);var g=function(){i.translateX=h+e.datalabelsCoords.width,i.gridHeight=i.svgHeight-e.lgRect.height-c-(e.isSparkline||"treemap"===t.config.chart.type?0:t.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-h-2*e.datalabelsCoords.width};switch("top"===t.config.xaxis.position&&(d=i.xAxisHeight-t.config.xaxis.axisTicks.height-5),t.config.legend.position){case"bottom":i.translateY=d,g();break;case"top":i.translateY=this.lgRect.height+d,g();break;case"left":i.translateY=d,i.translateX=this.lgRect.width+h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width;break;case"right":i.translateY=d,i.translateX=h+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-h-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(r,a),new Ee(this.ctx).setYAxisXPosition(a,r)}},{key:"setDimensionsForNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=e.config,a=0;e.config.legend.show&&!e.config.legend.floating&&(a=20);var r="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",s=i.plotOptions[r].offsetY,n=i.plotOptions[r].offsetX;if(!i.legend.show||i.legend.floating){t.gridHeight=t.svgHeight;var o=t.dom.elWrap.getBoundingClientRect().width;return t.gridWidth=Math.min(o,t.gridHeight),t.translateY=s,void(t.translateX=n+(t.svgWidth-t.gridWidth)/2)}switch(i.legend.position){case"bottom":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=s-10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"top":t.gridHeight=t.svgHeight-this.lgRect.height,t.gridWidth=t.svgWidth,t.translateY=this.lgRect.height+s+10,t.translateX=n+(t.svgWidth-t.gridWidth)/2;break;case"left":t.gridWidth=t.svgWidth-this.lgRect.width-a,t.gridHeight="auto"!==i.chart.height?t.svgHeight:t.gridWidth,t.translateY=s,t.translateX=n+this.lgRect.width+a;break;case"right":t.gridWidth=t.svgWidth-this.lgRect.width-a-5,t.gridHeight="auto"!==i.chart.height?t.svgHeight:t.gridWidth,t.translateY=s,t.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(e,t,i){var a=this.w;this.xAxisHeight=(i.height+e.height+t.height)*(a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO)+(a.globals.hasXaxisGroups?2:1)*(a.globals.rotateXLabels?22:10)+(a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0),this.xAxisWidth=e.width,this.xAxisHeight-t.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightd&&(this.yAxisWidth=d)}}]),y}(),It=function(){function y(e){Y(this,y),this.w=e.w,this.lgCtx=e}return F(y,[{key:"getLegendStyles",value:function(){var e,t,i,a=document.createElement("style");a.setAttribute("type","text/css");var r=(null===(e=this.lgCtx.ctx)||void 0===e||null===(t=e.opts)||void 0===t||null===(i=t.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;r&&a.setAttribute("nonce",r);var s=document.createTextNode("\n .apexcharts-legend {\n display: flex;\n overflow: auto;\n padding: 0 10px;\n }\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n flex-wrap: wrap\n }\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n flex-direction: column;\n bottom: 0;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n justify-content: flex-start;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n justify-content: center;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n justify-content: flex-end;\n }\n .apexcharts-legend-series {\n cursor: pointer;\n line-height: normal;\n display: flex;\n align-items: center;\n }\n .apexcharts-legend-text {\n position: relative;\n font-size: 14px;\n }\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\n pointer-events: none;\n }\n .apexcharts-legend-marker {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n margin-right: 1px;\n }\n\n .apexcharts-legend-series.apexcharts-no-click {\n cursor: auto;\n }\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n display: none !important;\n }\n .apexcharts-inactive-legend {\n opacity: 0.45;\n }");return a.appendChild(s),a}},{key:"getLegendDimensions",value:function(){var e=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect();return{clwh:e.height,clww:e.width}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(e,t){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var r=null,s=null;a.globals.risingSeries=[],a.globals.axisCharts?(r=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"']")),s=parseInt(r.getAttribute("data:realIndex"),10)):(r=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(e+1,"']")),s=parseInt(r.getAttribute("rel"),10)-1),t?[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach(function(c){i.riseCollapsedSeries(c.cs,c.csi,s)}):this.hideSeries({seriesEl:r,realIndex:s})}else{var n=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(e+1,"'] path")),o=a.config.chart.type;if("pie"===o||"polarArea"===o||"donut"===o){var h=a.config.plotOptions.pie.donut.labels;new z(this.lgCtx.ctx).pathMouseDown(n.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(n.members[0].node,h)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(e){var t=e.realIndex,i=this.w,a=i.globals,r=P.clone(i.config.series);if(a.axisCharts){var s=i.config.yaxis[a.seriesYAxisReverseMap[t]],n={index:t,data:r[t].data.slice(),type:r[t].type||i.config.chart.type};if(s&&s.show&&s.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(t)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(t));else if(a.collapsedSeriesIndices.indexOf(t)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(t);var o=a.risingSeries.indexOf(t);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:t,data:r[t]}),a.collapsedSeriesIndices.push(t);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(r)}},{key:"hideSeries",value:function(e){for(var t=e.seriesEl,a=this.w,r=this.getSeriesAfterCollapsing({realIndex:e.realIndex}),s=t.childNodes,n=0;n0){for(var s=0;s1||!t.axisCharts)&&i.legend.show){for(;t.dom.elLegendWrap.firstChild;)t.dom.elLegendWrap.removeChild(t.dom.elLegendWrap.firstChild);this.drawLegends(),this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(e){var t=e.i,i=e.fillcolor,a=this.w,r=document.createElement("span");r.classList.add("apexcharts-legend-marker");var s=a.config.legend.markers.shape||a.config.markers.shape,n=s;Array.isArray(s)&&(n=s[t]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[t]):parseFloat(a.config.legend.markers.size),h=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[t]):parseFloat(a.config.legend.markers.offsetX),c=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[t]):parseFloat(a.config.legend.markers.offsetY),d=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[t]):parseFloat(a.config.legend.markers.strokeWidth),g=r.style;if(g.height=2*(o+d)+"px",g.width=2*(o+d)+"px",g.left=h+"px",g.top=c+"px",a.config.legend.markers.customHTML)g.background="transparent",g.color=i[t],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[t]&&(r.innerHTML=a.config.legend.markers.customHTML[t]()):r.innerHTML=a.config.legend.markers.customHTML();else{var p=new de(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:t,strokeWidth:d,size:o}),x=SVG(r).size("100%","100%"),f=new z(this.ctx).drawMarker(0,0,E(E({},p),{},{pointFillColor:Array.isArray(i)?i[t]:p.pointFillColor,shape:n}));SVG.select(".apexcharts-legend-marker.apexcharts-marker").members.forEach(function(m){m.node.style.transform=m.node.classList.contains("apexcharts-marker-triangle")?"translate(50%, 45%)":"translate(50%, 50%)"}),x.add(f)}return r}},{key:"drawLegends",value:function(){var e=this,t=this.w,i=t.config.legend.fontFamily,a=t.globals.seriesNames,r=t.config.legend.markers.fillColors?t.config.legend.markers.fillColors.slice():t.globals.colors.slice();if("heatmap"===t.config.chart.type){var s=t.config.plotOptions.heatmap.colorScale.ranges;a=s.map(function(b){return b.name?b.name:b.from+" - "+b.to}),r=s.map(function(b){return b.color})}else this.isBarsDistributed&&(a=t.globals.labels.slice());t.config.legend.customLegendItems.length&&(a=t.config.legend.customLegendItems);for(var n=t.globals.legendFormatter,o=t.config.legend.inverseOrder,h=o?a.length-1:0;o?h>=0:h<=a.length-1;o?h--:h++){var c,d=n(a[h],{seriesIndex:h,w:t}),g=!1,p=!1;if(t.globals.collapsedSeries.length>0)for(var x=0;x0)for(var f=0;f0?h-10:0)+(c>0?c-10:0)}a.style.position="absolute",n=n+t+i.config.legend.offsetY,a.style.left=(s=s+e+i.config.legend.offsetX)+"px",a.style.top=n+"px","right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach(function(d){a.style[d]&&(a.style[d]=parseInt(i.config.legend[d],10)+"px")})}},{key:"legendAlignHorizontal",value:function(){var e=this.w;e.globals.dom.elLegendWrap.style.right=0;var t=new Ce(this.ctx),i=t.dimHelpers.getTitleSubtitleCoords("title"),a=t.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"top"===e.config.legend.position&&(r=i.height+a.height+e.config.title.margin+e.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var e=this.w,t=this.legendHelpers.getLegendDimensions(),i=0;"left"===e.config.legend.position&&(i=20),"right"===e.config.legend.position&&(i=e.globals.svgWidth-t.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(e){var t=this.w,i=e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker");if("heatmap"===t.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(e.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new se(this.ctx).highlightRangeInSeries(e,e.target)}}else!e.target.classList.contains("apexcharts-inactive-legend")&&i&&new se(this.ctx).toggleSeriesOnHover(e,e.target)}},{key:"onLegendClick",value:function(e){var t=this.w;if(!t.config.legend.customLegendItems.length&&(e.target.classList.contains("apexcharts-legend-series")||e.target.classList.contains("apexcharts-legend-text")||e.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(e.target.getAttribute("rel"),10)-1,a="true"===e.target.getAttribute("data:collapsed"),r=this.w.config.chart.events.legendClick;"function"==typeof r&&r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var s=this.w.config.legend.markers.onClick;"function"==typeof s&&e.target.classList.contains("apexcharts-legend-marker")&&(s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==t.config.chart.type&&"heatmap"!==t.config.chart.type&&!this.isBarsDistributed&&t.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),y}(),tt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=t.globals.minX,this.maxX=t.globals.maxX}return F(y,[{key:"createToolbar",value:function(){var e=this,t=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=t.config.chart.toolbar.offsetY+"px",a.style.right=3-t.config.chart.toolbar.offsetX+"px",t.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var r=0;r\n \n \n\n'),n("zoomOut",this.elZoomOut,'\n \n \n\n');var o=function(d){e.t[d]&&t.config.chart[d].enabled&&s.push({el:"zoom"===d?e.elZoom:e.elSelection,icon:"string"==typeof e.t[d]?e.t[d]:"zoom"===d?'\n \n \n \n':'\n \n \n',title:e.localeValues["zoom"===d?"selectionZoom":"selection"],class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(d,"-icon")})};o("zoom"),o("selection"),this.t.pan&&t.config.chart.zoom.enabled&&s.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:t.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,'\n \n \n'),this.t.download&&s.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var h=0;hthis.wheelDelay&&(this.executeMouseWheelZoom(i),r.globals.lastWheelExecution=s),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(function(){s-r.globals.lastWheelExecution>a.wheelDelay&&(a.executeMouseWheelZoom(i),r.globals.lastWheelExecution=s)},this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(i){var a,r=this.w;this.minX=r.globals.isRangeBar?r.globals.minY:r.globals.minX,this.maxX=r.globals.isRangeBar?r.globals.maxY:r.globals.maxX;var s=null===(a=this.gridRect)||void 0===a?void 0:a.getBoundingClientRect();if(s){var n,o,h,d=this.minX,g=this.maxX,p=g-d;if(i.deltaY<0){var x=d+(i.clientX-s.left)/s.width*p;o=x-(n=.5*p)/2,h=x+n/2}else o=d-(n=1.5*p)/2,h=g+n/2;if(!r.globals.isRangeBar){o=Math.max(o,r.globals.initialMinX),h=Math.min(h,r.globals.initialMaxX);var f=.01*(r.globals.initialMaxX-r.globals.initialMinX);if(h-o0&&a.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:i.globals.gridWidth,maxY:i.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var i=this.w,a=this.xyRatios;if(!i.globals.zoomEnabled)if(null!=i.globals.selection)this.drawSelectionRect(i.globals.selection);else if(void 0!==i.config.chart.selection.xaxis.min&&void 0!==i.config.chart.selection.xaxis.max){var r=(i.config.chart.selection.xaxis.min-i.globals.minX)/a.xRatio,s=i.globals.gridWidth-(i.globals.maxX-i.config.chart.selection.xaxis.max)/a.xRatio-r;i.globals.isRangeBar&&(r=(i.config.chart.selection.xaxis.min-i.globals.yAxisScale[0].niceMin)/a.invertedYRatio,s=(i.config.chart.selection.xaxis.max-i.config.chart.selection.xaxis.min)/a.invertedYRatio),this.drawSelectionRect({x:r,y:0,width:s,height:i.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0}),this.makeSelectionRectDraggable(),"function"==typeof i.config.chart.events.selection&&i.config.chart.events.selection(this.ctx,{xaxis:{min:i.config.chart.selection.xaxis.min,max:i.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(i){var a=i.x,r=i.y,s=i.width,n=i.height,o=i.translateX,c=i.translateY,g=this.w,p=this.zoomRect,x=this.selectionRect;if(this.dragged||null!==g.globals.selection){var f={transform:"translate("+(void 0===o?0:o)+", "+(void 0===c?0:c)+")"};g.globals.zoomEnabled&&this.dragged&&(s<0&&(s=1),p.attr({x:a,y:r,width:s,height:n,fill:g.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":g.config.chart.zoom.zoomedArea.fill.opacity,stroke:g.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":g.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":g.config.chart.zoom.zoomedArea.stroke.opacity}),z.setAttrs(p.node,f)),g.globals.selectionEnabled&&(x.attr({x:a,y:r,width:s>0?s:0,height:n>0?n:0,fill:g.config.chart.selection.fill.color,"fill-opacity":g.config.chart.selection.fill.opacity,stroke:g.config.chart.selection.stroke.color,"stroke-width":g.config.chart.selection.stroke.width,"stroke-dasharray":g.config.chart.selection.stroke.dashArray,"stroke-opacity":g.config.chart.selection.stroke.opacity}),z.setAttrs(x.node,f))}}},{key:"hideSelectionRect",value:function(i){i&&i.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(i){var f,r=i.zoomtype,s=this.w,n=i.context,o=this.gridRect.getBoundingClientRect(),h=n.startX-1,c=n.startY,d=!1,g=!1,p=n.clientX-o.left-h,x=n.clientY-o.top-c;return Math.abs(p+h)>s.globals.gridWidth?p=s.globals.gridWidth-h:n.clientX-o.left<0&&(p=h),h>n.clientX-o.left&&(d=!0,p=Math.abs(p)),c>n.clientY-o.top&&(g=!0,x=Math.abs(x)),n.drawSelectionRect(f="x"===r?{x:d?h-p:h,y:0,width:p,height:s.globals.gridHeight}:"y"===r?{x:0,y:g?c-x:c,width:s.globals.gridWidth,height:x}:{x:d?h-p:h,y:g?c-x:c,width:p,height:x}),n.selectionDragging("resizing"),f}},{key:"selectionDragging",value:function(i,a){var r=this,s=this.w,n=this.xyRatios,o=this.selectionRect,h=0;"resizing"===i&&(h=30);var c=function(g){return parseFloat(o.node.getAttribute(g))},d={x:c("x"),y:c("y"),width:c("width"),height:c("height")};s.globals.selection=d,"function"==typeof s.config.chart.events.selection&&s.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var g,p,x,f,m=r.gridRect.getBoundingClientRect(),v=o.node.getBoundingClientRect();s.globals.isRangeBar?(g=s.globals.yAxisScale[0].niceMin+(v.left-m.left)*n.invertedYRatio,p=s.globals.yAxisScale[0].niceMin+(v.right-m.left)*n.invertedYRatio,x=0,f=1):(g=s.globals.xAxisScale.niceMin+(v.left-m.left)*n.xRatio,p=s.globals.xAxisScale.niceMin+(v.right-m.left)*n.xRatio,x=s.globals.yAxisScale[0].niceMin+(m.bottom-v.bottom)*n.yRatio[0],f=s.globals.yAxisScale[0].niceMax-(v.top-m.top)*n.yRatio[0]);var w={xaxis:{min:g,max:p},yaxis:{min:x,max:f}};s.config.chart.events.selection(r.ctx,w),s.config.chart.brush.enabled&&void 0!==s.config.chart.events.brushScrolled&&s.config.chart.events.brushScrolled(r.ctx,w)},h))}},{key:"selectionDrawn",value:function(i){var r=i.zoomtype,s=this.w,n=i.context,o=this.xyRatios,h=this.ctx.toolbar;if(n.startX>n.endX){var c=n.startX;n.startX=n.endX,n.endX=c}if(n.startY>n.endY){var d=n.startY;n.startY=n.endY,n.endY=d}var g=void 0,p=void 0;s.globals.isRangeBar?(g=s.globals.yAxisScale[0].niceMin+n.startX*o.invertedYRatio,p=s.globals.yAxisScale[0].niceMin+n.endX*o.invertedYRatio):(g=s.globals.xAxisScale.niceMin+n.startX*o.xRatio,p=s.globals.xAxisScale.niceMin+n.endX*o.xRatio);var x=[],f=[];if(s.config.yaxis.forEach(function(A,k){var S=s.globals.seriesYAxisMap[k][0];x.push(s.globals.yAxisScale[k].niceMax-o.yRatio[S]*n.startY),f.push(s.globals.yAxisScale[k].niceMax-o.yRatio[S]*n.endY)}),n.dragged&&(n.dragX>10||n.dragY>10)&&g!==p)if(s.globals.zoomEnabled){var m=P.clone(s.globals.initialConfig.yaxis),v=P.clone(s.globals.initialConfig.xaxis);if(s.globals.zoomed=!0,s.config.xaxis.convertedCatToNumeric&&(g=Math.floor(g),p=Math.floor(p),g<1&&(g=1,p=s.globals.dataPoints),p-g<2&&(p=g+1)),"xy"!==r&&"x"!==r||(v={min:g,max:p}),"xy"!==r&&"y"!==r||m.forEach(function(A,k){m[k].min=f[k],m[k].max=x[k]}),h){var w=h.getBeforeZoomRange(v,m);w&&(v=w.xaxis?w.xaxis:v,m=w.yaxis?w.yaxis:m)}var l={xaxis:v};s.config.chart.group||(l.yaxis=m),n.ctx.updateHelpers._updateOptions(l,!1,n.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof s.config.chart.events.zoomed&&h.zoomCallback(v,m)}else if(s.globals.selectionEnabled){var u,b=null;u={min:g,max:p},"xy"!==r&&"y"!==r||(b=P.clone(s.config.yaxis)).forEach(function(A,k){b[k].min=f[k],b[k].max=x[k]}),s.globals.selection=n.selection,"function"==typeof s.config.chart.events.selection&&s.config.chart.events.selection(n.ctx,{xaxis:u,yaxis:b})}}},{key:"panDragging",value:function(i){var r=this.w,s=i.context;if(void 0!==r.globals.lastClientPosition.x){var n=r.globals.lastClientPosition.x-s.clientX,o=r.globals.lastClientPosition.y-s.clientY;Math.abs(n)>Math.abs(o)&&n>0?this.moveDirection="left":Math.abs(n)>Math.abs(o)&&n<0?this.moveDirection="right":Math.abs(o)>Math.abs(n)&&o>0?this.moveDirection="up":Math.abs(o)>Math.abs(n)&&o<0&&(this.moveDirection="down")}r.globals.lastClientPosition={x:s.clientX,y:s.clientY},r.config.xaxis.convertedCatToNumeric||s.panScrolled(r.globals.isRangeBar?r.globals.minY:r.globals.minX,r.globals.isRangeBar?r.globals.maxY:r.globals.maxX)}},{key:"delayedPanScrolled",value:function(){var i=this.w,a=i.globals.minX,r=i.globals.maxX,s=(i.globals.maxX-i.globals.minX)/2;"left"===this.moveDirection?(a=i.globals.minX+s,r=i.globals.maxX+s):"right"===this.moveDirection&&(a=i.globals.minX-s,r=i.globals.maxX-s),a=Math.floor(a),r=Math.floor(r),this.updateScrolledChart({xaxis:{min:a,max:r}},a,r)}},{key:"panScrolled",value:function(i,a){var r=this.w,s=this.xyRatios,n=P.clone(r.globals.initialConfig.yaxis),o=s.xRatio,h=r.globals.minX,c=r.globals.maxX;r.globals.isRangeBar&&(o=s.invertedYRatio,h=r.globals.minY,c=r.globals.maxY),"left"===this.moveDirection?(i=h+r.globals.gridWidth/15*o,a=c+r.globals.gridWidth/15*o):"right"===this.moveDirection&&(i=h-r.globals.gridWidth/15*o,a=c-r.globals.gridWidth/15*o),r.globals.isRangeBar||(ir.globals.initialMaxX)&&(i=h,a=c);var d={xaxis:{min:i,max:a}};r.config.chart.group||(d.yaxis=n),this.updateScrolledChart(d,i,a)}},{key:"updateScrolledChart",value:function(i,a,r){var s=this.w;this.ctx.updateHelpers._updateOptions(i,!1,!1),"function"==typeof s.config.chart.events.scrolled&&s.config.chart.events.scrolled(this.ctx,{xaxis:{min:a,max:r}})}}]),t}(),it=function(){function y(e){Y(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return F(y,[{key:"getNearestValues",value:function(e){var t=e.hoverArea,a=e.clientX,r=e.clientY,s=this.w,n=e.elGrid.getBoundingClientRect(),o=n.width,h=n.height,c=o/(s.globals.dataPoints-1),d=h/s.globals.dataPoints,g=this.hasBars();!s.globals.comboCharts&&!g||s.config.xaxis.convertedCatToNumeric||(c=o/s.globals.dataPoints);var p=a-n.left-s.globals.barPadForNumericAxis,x=r-n.top;p<0||x<0||p>o||x>h?(t.classList.remove("hovering-zoom"),t.classList.remove("hovering-pan")):s.globals.zoomEnabled?(t.classList.remove("hovering-pan"),t.classList.add("hovering-zoom")):s.globals.panEnabled&&(t.classList.remove("hovering-zoom"),t.classList.add("hovering-pan"));var f=Math.round(p/c),m=Math.floor(x/d);g&&!s.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(p/c),f-=1);var v=null,w=null,l=s.globals.seriesXvalues.map(function(S){return S.filter(function(L){return P.isNumber(L)})}),u=s.globals.seriesYvalues.map(function(S){return S.filter(function(L){return P.isNumber(L)})});if(s.globals.isXNumeric){var b=this.ttCtx.getElGrid().getBoundingClientRect(),A=p*(b.width/o);v=(w=this.closestInMultiArray(A,x*(b.height/h),l,u)).index,f=w.j,null!==v&&(f=(w=this.closestInArray(A,l=s.globals.seriesXvalues[v])).index)}return s.globals.capturedSeriesIndex=null===v?-1:v,(!f||f<1)&&(f=0),s.globals.capturedDataPointIndex=s.globals.isBarHorizontal?m:f,{capturedSeries:v,j:s.globals.isBarHorizontal?m:f,hoverX:p,hoverY:x}}},{key:"closestInMultiArray",value:function(e,t,i,a){var s=0,n=null,o=-1;this.w.globals.series.length>1?s=this.getFirstActiveXArray(i):n=0;var c=Math.abs(e-i[s][0]);if(i.forEach(function(p){p.forEach(function(x,f){var m=Math.abs(e-x);m<=c&&(c=m,o=f)})}),-1!==o){var g=Math.abs(t-a[s][o]);n=s,a.forEach(function(p,x){var f=Math.abs(t-p[o]);f<=g&&(g=f,n=x)})}return{index:n,j:o}}},{key:"getFirstActiveXArray",value:function(e){for(var t=this.w,i=0,a=e.map(function(s,n){return s.length>0?n:-1}),r=0;r0)for(var a=0;a *"):".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(e=$(e)).sort(function(i,a){var r=Number(i.getAttribute("data:realIndex")),s=Number(a.getAttribute("data:realIndex"));return sr?-1:0});var t=[];return e.forEach(function(i){t.push(i.querySelector(".apexcharts-marker"))}),t}},{key:"hasMarkers",value:function(e){return this.getElMarkers(e).length>0}},{key:"getPathFromPoint",value:function(e,t){var i=Number(e.getAttribute("cx")),a=Number(e.getAttribute("cy")),r=e.getAttribute("shape");return new z(this.ctx).getMarkerPath(i,a,r,t)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(e){var t=this.w,i=t.config.markers.hover.size;return void 0===i&&(i=t.globals.markers.size[e]+t.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(e){var t=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=t.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,r=0;r ').concat(C.attrs.name,""),L+="
".concat(C.val,"
")}),l.innerHTML=S+"",u.innerHTML=L+""};n?h.globals.seriesGoals[t][i]&&Array.isArray(h.globals.seriesGoals[t][i])?b():(l.innerHTML="",u.innerHTML=""):b()}else l.innerHTML="",u.innerHTML="";if(null!==f&&(a[t].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=h.config.tooltip.z.title,a[t].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==f?f:""),n&&m[0]){if(h.config.tooltip.hideEmptySeries){var A=a[t].querySelector(".apexcharts-tooltip-marker"),k=a[t].querySelector(".apexcharts-tooltip-text");0==parseFloat(d)?(A.style.display="none",k.style.display="none"):(A.style.display="block",k.style.display="block")}m[0].parentNode.style.display=null==d||h.globals.ancillaryCollapsedSeriesIndices.indexOf(t)>-1||h.globals.collapsedSeriesIndices.indexOf(t)>-1||Array.isArray(c.tConfig.enabledOnSeries)&&-1===c.tConfig.enabledOnSeries.indexOf(t)?"none":h.config.tooltip.items.display}else Array.isArray(c.tConfig.enabledOnSeries)&&-1===c.tConfig.enabledOnSeries.indexOf(t)&&(m[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(e,t){var i=this.w;if(e)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var a=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(t));a&&(a.classList.add("apexcharts-active"),a.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(e){var t=e.i,i=e.j,a=this.w,r=this.ctx.series.filteredSeriesX(),s="",n="",o=null,h=null,c={series:a.globals.series,seriesIndex:t,dataPointIndex:i,w:a},d=a.globals.ttZFormatter;null===i?h=a.globals.series[t]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(s=r[t][i],0===r[t].length&&(s=r[this.tooltipUtil.getFirstActiveXArray(r)][i])):s=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var g=s;return s=a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?new xe(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,g,g,{i:void 0,dateFormatter:new Q(this.ctx).formatDate,w:this.w}):a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](g,c):a.globals.xLabelFormatter(g,c),void 0!==a.config.tooltip.x.formatter&&(s=a.globals.ttKeyFormatter(g,c)),a.globals.seriesZ.length>0&&a.globals.seriesZ[t].length>0&&(o=d(a.globals.seriesZ[t][i],a)),n="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(g,c):s,{val:Array.isArray(h)?h.join(" "):h,xVal:Array.isArray(s)?s.join(" "):s,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(e){var t=e.i,i=e.j,a=e.y1,r=e.y2,s=e.w,n=this.ttCtx.getElTooltip(),o=s.config.tooltip.custom;Array.isArray(o)&&o[t]&&(o=o[t]),n.innerHTML=o({ctx:this.ctx,series:s.globals.series,seriesIndex:t,dataPointIndex:i,y1:a,y2:r,w:s})}}]),y}(),at=function(){function y(e){Y(this,y),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return F(y,[{key:"moveXCrosshairs",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,r=i.getElXCrosshairs(),s=e-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==t&&(s=a.globals.gridWidth/n*t),null===r||a.globals.isBarHorizontal||(r.setAttribute("x",s),r.setAttribute("x1",s),r.setAttribute("x2",s),r.setAttribute("y2",a.globals.gridHeight),r.classList.add("apexcharts-active")),s<0&&(s=0),s>a.globals.gridWidth&&(s=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=s;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(o=s+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(e){var t=this.ttCtx;null!==t.ycrosshairs&&z.setAttrs(t.ycrosshairs,{y1:e,y2:e}),null!==t.ycrosshairsHidden&&z.setAttrs(t.ycrosshairsHidden,{y1:e,y2:e})}},{key:"moveXAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var r,a=i.xaxisOffY+t.config.xaxis.tooltip.offsetY+t.globals.translateY+1+t.config.xaxis.offsetY;e-=i.xaxisTooltip.getBoundingClientRect().width/2,isNaN(e)||(e+=t.globals.translateX,r=new z(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=r.width+"px",i.xaxisTooltip.style.left=e+"px",i.xaxisTooltip.style.top=a+"px")}}},{key:"moveYAxisTooltip",value:function(e){var t=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),r=t.globals.translateY+a,s=i.yaxisTTEls[e].getBoundingClientRect().height,n=t.globals.translateYAxisX[e]-2;t.config.yaxis[e].opposite&&(n-=26),r-=s/2,-1===t.globals.ignoreYAxisIndexes.indexOf(e)?(i.yaxisTTEls[e].classList.add("apexcharts-active"),i.yaxisTTEls[e].style.top=r+"px",i.yaxisTTEls[e].style.left=n+t.config.yaxis[e].tooltip.offsetX+"px"):i.yaxisTTEls[e].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,r=this.ttCtx,s=r.getElTooltip(),n=r.tooltipRect,o=null!==i?parseFloat(i):1,h=parseFloat(e)+o+5,c=parseFloat(t)+o/2;if(h>a.globals.gridWidth/2&&(h=h-n.ttWidth-o-10),h>a.globals.gridWidth-n.ttWidth-10&&(h=a.globals.gridWidth-n.ttWidth),h<-20&&(h=-20),a.config.tooltip.followCursor){var d=r.getElGrid().getBoundingClientRect();(h=r.e.clientX-d.left)>a.globals.gridWidth/2&&(h-=r.tooltipRect.ttWidth),(c=r.e.clientY+a.globals.translateY-d.top)>a.globals.gridHeight/2&&(c-=r.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+c>a.globals.gridHeight&&(c=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(h)||(s.style.left=(h+=a.globals.translateX)+"px",s.style.top=c+"px")}},{key:"moveMarkers",value:function(e,t){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[e]>0)for(var r=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-marker")),s=0;s0){var x=p.getAttribute("shape"),f=h.getMarkerPath(r,s,x,1.5*d);p.setAttribute("d",f)}this.moveXCrosshairs(r),o.fixedTooltip||this.moveTooltip(r,s,d)}}},{key:"moveDynamicPointsOnHover",value:function(e){var t,i=this.ttCtx,a=i.w,r=0,s=0,n=a.globals.pointsArray,o=new se(this.ctx),h=new z(this.ctx);t=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var c=i.tooltipUtil.getHoverMarkerSize(t);n[t]&&(r=n[t][e][0],s=n[t][e][1]);var d=i.tooltipUtil.getAllMarkers();if(null!==d)for(var g=0;g0){var w=h.getMarkerPath(r,x,m,c);d[g].setAttribute("d",w)}else d[g].setAttribute("d","")}}this.moveXCrosshairs(r),i.fixedTooltip||this.moveTooltip(r,s||a.globals.gridHeight,c)}},{key:"moveStickyTooltipOverBars",value:function(e,t){var i=this.w,a=this.ttCtx,r=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,s=r>=2&&r%2==0?Math.floor(r/2):Math.floor(r/2)+1;i.globals.isBarHorizontal&&(s=new se(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(s,"'] path[j='").concat(e,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(e,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(e,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(e,"']"));n||"number"!=typeof t||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(t,"'] path[j='").concat(e,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(t,"'] path[j='").concat(e,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(t,"'] path[j='").concat(e,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,h=n?parseFloat(n.getAttribute("cy")):0,c=n?parseFloat(n.getAttribute("barWidth")):0,d=a.getElGrid().getBoundingClientRect(),g=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!g&&(o-=r%2!=0?c/2:0),n&&g&&i.globals.comboCharts&&(o-=c/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[e-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[e]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?h-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?h=a.e.clientY-d.top-a.tooltipRect.ttHeight/2:h+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(h=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,h||i.globals.gridHeight)}}]),y}(),Xt=function(){function y(e){Y(this,y),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new at(e)}return F(y,[{key:"drawDynamicPoints",value:function(){var e=this.w,t=new z(this.ctx),i=new de(this.ctx),a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=$(a),e.config.chart.stacked&&a.sort(function(d,g){return parseFloat(d.getAttribute("data:realIndex"))-parseFloat(g.getAttribute("data:realIndex"))});for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=this.w;"bubble"!==r.config.chart.type&&this.newPointSize(e,t);var s=t.getAttribute("cx"),n=t.getAttribute("cy");if(null!==i&&null!==a&&(s=i,n=a),this.tooltipPosition.moveXCrosshairs(s),!this.fixedTooltip){if("radar"===r.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();s=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(s,n,r.config.markers.hover.size)}}},{key:"enlargePoints",value:function(e){for(var t=this.w,i=this,a=this.ttCtx,r=e,s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=t.config.markers.hover.size,o=0;o=0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(e[t],i);e[t].setAttribute("d",a)}else e[t].setAttribute("d","M0,0")}}}]),y}(),Et=function(){function y(e){Y(this,y),this.w=e.w;var t=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!t.globals.isBarHorizontal&&"rangeBar"===t.config.chart.type&&t.config.plotOptions.bar.rangeBarGroupRows}return F(y,[{key:"getAttr",value:function(e,t){return parseFloat(e.target.getAttribute(t))}},{key:"handleHeatTreeTooltip",value:function(e){var t=e.e,i=e.opt,a=e.x,r=e.y,n=this.ttCtx,o=this.w;if(t.target.classList.contains("apexcharts-".concat(e.type,"-rect"))){var h=this.getAttr(t,"i"),c=this.getAttr(t,"j"),d=this.getAttr(t,"cx"),g=this.getAttr(t,"cy"),p=this.getAttr(t,"width"),x=this.getAttr(t,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:h,j:c,shared:!1,e:t}),o.globals.capturedSeriesIndex=h,o.globals.capturedDataPointIndex=c,a=d+n.tooltipRect.ttWidth/2+p,r=g+n.tooltipRect.ttHeight/2-x/2,n.tooltipPosition.moveXCrosshairs(d+p/2),a>o.globals.gridWidth/2&&(a=d-n.tooltipRect.ttWidth/2+p),n.w.config.tooltip.followCursor){var f=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-f.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),r=o.globals.clientY-f.top-(r>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:r}}},{key:"handleMarkerTooltip",value:function(e){var t,i,a=e.e,r=e.opt,s=e.x,n=e.y,o=this.w,h=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var c=parseInt(r.paths.getAttribute("cx"),10),d=parseInt(r.paths.getAttribute("cy"),10),g=parseFloat(r.paths.getAttribute("val"));if(i=parseInt(r.paths.getAttribute("rel"),10),t=parseInt(r.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,h.intersect){var p=P.findAncestor(r.paths,"apexcharts-series");p&&(t=parseInt(p.getAttribute("data:realIndex"),10))}if(h.tooltipLabels.drawSeriesTexts({ttItems:r.ttItems,i:t,j:i,shared:!h.showOnIntersect&&o.config.tooltip.shared,e:a}),"mouseup"===a.type&&h.markerClick(a,t,i),o.globals.capturedSeriesIndex=t,o.globals.capturedDataPointIndex=i,s=c,n=d+o.globals.translateY-1.4*h.tooltipRect.ttHeight,h.w.config.tooltip.followCursor){var x=h.getElGrid().getBoundingClientRect();n=h.e.clientY+o.globals.translateY-x.top}g<0&&(n=d),h.marker.enlargeCurrentPoint(i,r.paths,s,n)}return{x:s,y:n}}},{key:"handleBarTooltip",value:function(e){var t,i,a=e.e,r=e.opt,s=this.w,n=this.ttCtx,o=n.getElTooltip(),h=0,c=0,d=0,g=this.getBarTooltipXY({e:a,opt:r}),p=g.j;if(s.globals.capturedSeriesIndex=t=g.i,s.globals.capturedDataPointIndex=p,s.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!s.config.tooltip.shared?(c=g.x,d=g.y,i=Array.isArray(s.config.stroke.width)?s.config.stroke.width[t]:s.config.stroke.width,h=c):s.globals.comboCharts||s.config.tooltip.shared||(h/=2),isNaN(d)&&(d=s.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(r.paths.parentNode.getAttribute("data:realIndex"),10),c+n.tooltipRect.ttWidth>s.globals.gridWidth?c-=n.tooltipRect.ttWidth:c<0&&(c=0),n.w.config.tooltip.followCursor){var f=n.getElGrid().getBoundingClientRect();d=n.e.clientY-f.top}null===n.tooltip&&(n.tooltip=s.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),s.config.tooltip.shared||n.tooltipPosition.moveXCrosshairs(s.globals.comboBarCount>0?h+i/2:h),!n.fixedTooltip&&(!s.config.tooltip.shared||s.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(d=d+s.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=c+s.globals.translateX+"px",o.style.top=d+"px")}},{key:"getBarTooltipXY",value:function(e){var t=this,i=e.e,a=e.opt,r=this.w,s=null,n=this.ttCtx,o=0,h=0,c=0,d=0,g=0,p=i.target.classList;if(p.contains("apexcharts-bar-area")||p.contains("apexcharts-candlestick-area")||p.contains("apexcharts-boxPlot-area")||p.contains("apexcharts-rangebar-area")){var x=i.target,f=x.getBoundingClientRect(),m=a.elGrid.getBoundingClientRect(),v=f.height;g=f.height;var w=f.width,l=parseInt(x.getAttribute("cx"),10),u=parseInt(x.getAttribute("cy"),10);d=parseFloat(x.getAttribute("barWidth"));var b="touchmove"===i.type?i.touches[0].clientX:i.clientX;s=parseInt(x.getAttribute("j"),10),o=parseInt(x.parentNode.getAttribute("rel"),10)-1;var A=x.getAttribute("data-range-y1"),k=x.getAttribute("data-range-y2");r.globals.comboCharts&&(o=parseInt(x.parentNode.getAttribute("data:realIndex"),10));var S=function(C){return r.globals.isXNumeric?l-w/2:t.isVerticalGroupedRangeBar?l+w/2:l-n.dataPointsDividedWidth+w/2},L=function(){return u-n.dataPointsDividedHeight+v/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:s,y1:A?parseInt(A,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&r.config.tooltip.shared,e:i}),r.config.tooltip.followCursor?r.globals.isBarHorizontal?(h=b-m.left+15,c=L()):(h=S(),c=i.clientY-m.top-n.tooltipRect.ttHeight/2-15):r.globals.isBarHorizontal?((h=l)0&&i.setAttribute("width",t.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var e=this.w,t=this.ttCtx;t.ycrosshairs=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),t.ycrosshairsHidden=e.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(e,t,i){var a=this.ttCtx,r=this.w,s=r.globals,n=s.seriesYAxisMap[e];if(a.yaxisTooltips[e]&&n.length>0){var o=s.yLabelFormatters[e],h=a.getElGrid().getBoundingClientRect(),c=n[0],d=0;i.yRatio.length>1&&(d=c);var g=(t-h.top)*i.yRatio[d],p=s.maxYArr[c]-s.minYArr[c],x=s.minYArr[c]+(p-g);r.config.yaxis[e].reversed&&(x=s.maxYArr[c]-(p-g)),a.tooltipPosition.moveYCrosshairs(t-h.top),a.yaxisTooltipText[e].innerHTML=o(x),a.tooltipPosition.moveYAxisTooltip(e)}}}]),y}(),st=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w;var t=this.w;this.tConfig=t.config.tooltip,this.tooltipUtil=new it(this),this.tooltipLabels=new zt(this),this.tooltipPosition=new at(this),this.marker=new Xt(this),this.intersect=new Et(this),this.axesTooltip=new Yt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!t.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return F(y,[{key:"getElTooltip",value:function(e){return e||(e=this),e.w.globals.dom.baseEl?e.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(e){var t=this.w;this.xyRatios=e,this.isXAxisTooltipEnabled=t.config.xaxis.tooltip.enabled&&t.globals.axisCharts,this.yaxisTooltips=t.config.yaxis.map(function(s,n){return!!(s.show&&s.tooltip.enabled&&t.globals.axisCharts)}),this.allTooltipSeriesGroups=[],t.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),t.config.tooltip.cssClass&&i.classList.add(t.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),t.globals.dom.elWrap.appendChild(i),t.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new ve(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!t.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==t.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==t.config.markers.size&&0!==t.globals.markers.largestSize||this.marker.drawDynamicPoints(this),t.globals.collapsedSeries.length!==t.globals.series.length){this.dataPointsDividedHeight=t.globals.gridHeight/t.globals.dataPoints,this.dataPointsDividedWidth=t.globals.gridWidth/t.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||t.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var r=t.globals.series.length;(t.globals.xyCharts||t.globals.comboCharts)&&this.tConfig.shared&&(r=this.showOnIntersect?1:t.globals.series.length),this.legendLabels=t.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(r),this.addSVGEvents()}}},{key:"createTTElements",value:function(e){for(var t=this,i=this.w,a=[],r=this.getElTooltip(),s=function(o){var h=document.createElement("div");h.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(o)),h.style.order=i.config.tooltip.inverseOrder?e-o:o+1;var c=document.createElement("span");c.classList.add("apexcharts-tooltip-marker"),c.style.backgroundColor=i.globals.colors[o],h.appendChild(c);var d=document.createElement("div");d.classList.add("apexcharts-tooltip-text"),d.style.fontFamily=t.tConfig.style.fontFamily||i.config.chart.fontFamily,d.style.fontSize=t.tConfig.style.fontSize,["y","goals","z"].forEach(function(g){var p=document.createElement("div");p.classList.add("apexcharts-tooltip-".concat(g,"-group"));var x=document.createElement("span");x.classList.add("apexcharts-tooltip-text-".concat(g,"-label")),p.appendChild(x);var f=document.createElement("span");f.classList.add("apexcharts-tooltip-text-".concat(g,"-value")),p.appendChild(f),d.appendChild(p)}),h.appendChild(d),r.appendChild(h),a.push(h)},n=0;n0&&this.addPathsEventListeners(x,d),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(d)}}},{key:"drawFixedTooltipRect",value:function(){var e=this.w,t=this.getElTooltip(),i=t.getBoundingClientRect(),a=i.width+10,r=i.height+10,s=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(s=s+e.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+e.globals.svgHeight-r-10),t.style.left=s+"px",t.style.top=n+"px",{x:s,y:n,ttWidth:a,ttHeight:r}}},{key:"addDatapointEventsListeners",value:function(e){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(t,e)}},{key:"addPathsEventListeners",value:function(e,t){for(var i=this,a=function(s){var n={paths:e[s],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(o){return e[s].addEventListener(o,i.onSeriesHover.bind(i,n),{capture:!1,passive:!0})})},r=0;r=100?this.seriesHover(e,t):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout(function(){i.seriesHover(e,t)},100-a))}},{key:"seriesHover",value:function(e,t){var i=this;this.lastHoverTime=Date.now();var a=[],r=this.w;r.config.chart.group&&(a=this.ctx.getGroupedCharts()),r.globals.axisCharts&&(r.globals.minX===-1/0&&r.globals.maxX===1/0||0===r.globals.dataPoints)||(a.length?a.forEach(function(s){var n=i.getElTooltip(s);s.w.globals.minX===i.w.globals.minX&&s.w.globals.maxX===i.w.globals.maxX&&s.w.globals.tooltip.seriesHoverByContext({chartCtx:s,ttCtx:s.w.globals.tooltip,opt:{paths:e.paths,tooltipEl:n,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:s.w.globals.tooltip.ttItems},e:t})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:e,e:t}))}},{key:"seriesHoverByContext",value:function(e){var t=e.chartCtx,i=e.ttCtx,a=e.opt,r=e.e,s=t.w,n=this.getElTooltip(t);n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=r,i.tooltipUtil.hasBars()&&!s.globals.comboCharts&&!i.isBarShared&&this.tConfig.onDatasetHover.highlightDataSeries&&new se(t).toggleSeriesOnHover(r,r.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),s.globals.axisCharts?i.axisChartsTooltips({e:r,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:r,opt:a,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(e){var t,i,a=e.e,r=e.opt,s=this.w,n=r.elGrid.getBoundingClientRect(),o="touchmove"===a.type?a.touches[0].clientX:a.clientX,h="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=h,this.clientX=o,s.globals.capturedSeriesIndex=-1,s.globals.capturedDataPointIndex=-1,hn.top+n.height)this.handleMouseOut(r);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!s.config.tooltip.shared){var c=parseInt(r.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(c)<0)return void this.handleMouseOut(r)}var d=this.getElTooltip(),g=this.getElXCrosshairs(),p=[];s.config.chart.group&&(p=this.ctx.getSyncedCharts());var x=s.globals.xyCharts||"bar"===s.config.chart.type&&!s.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||s.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(s.globals.collapsedSeries.length+s.globals.ancillaryCollapsedSeries.length===s.globals.series.length)return;null!==g&&g.classList.add("apexcharts-active");var f=this.yaxisTooltips.filter(function(w){return!0===w});if(null!==this.ycrosshairs&&f.length&&this.ycrosshairs.classList.add("apexcharts-active"),x&&!this.showOnIntersect||p.length>1)this.handleStickyTooltip(a,o,h,r);else if("heatmap"===s.config.chart.type||"treemap"===s.config.chart.type){var m=this.intersect.handleHeatTreeTooltip({e:a,opt:r,x:t,y:i,type:s.config.chart.type});i=m.y,d.style.left=(t=m.x)+"px",d.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:r}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:r,x:t,y:i});if(this.yaxisTooltips.length)for(var v=0;vh.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(e,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||r.globals.isBarHorizontal){var c=r.globals.series.findIndex(function(d,g){return!r.globals.collapsedSeriesIndices.includes(g)});this.create(e,this,c,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(e,t,i,a){var r=this.w;if(this.tConfig.shared||null!==r.globals.series[t][a]){if(void 0!==r.globals.series[t][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(e,this,t,a,i.ttItems):this.create(e,this,t,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var s=r.globals.series.findIndex(function(n,o){return!r.globals.collapsedSeriesIndices.includes(o)});this.create(e,this,s,a,i.ttItems)}}else this.handleMouseOut(i)}},{key:"deactivateHoverFilter",value:function(){for(var e=this.w,t=new z(this.ctx),i=e.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,k=this.w,S=t;"mouseup"===e.type&&this.markerClick(e,i,a),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(i),C=this.tooltipUtil.getElBars();if(k.config.legend.tooltipHoverFormatter){var M=k.config.legend.tooltipHoverFormatter,X=Array.from(this.legendLabels);X.forEach(function(U){var q=U.getAttribute("data:default-text");U.innerHTML=decodeURIComponent(q)});for(var I=0;I0?S.marker.enlargePoints(a):S.tooltipPosition.moveDynamicPointsOnHover(a);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(C),this.barSeriesHeight>0)){var W=new z(this.ctx),N=k.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var B=0;B0&&t.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(p-=c*k)),A&&(p=p+g.height/2-w/2-2);var L=t.globals.series[i][a]<0,C=o;switch(this.barCtx.isReversed&&(C=o+(L?d:-d)),m.position){case"center":x=A?L?C-d/2+u:C+d/2-u:L?C-d/2+g.height/2+u:C+d/2+g.height/2-u;break;case"bottom":x=A?L?C-d+u:C+d-u:L?C-d+g.height+w+u:C+d-g.height/2+w-u;break;case"top":x=A?L?C+u:C-u:L?C-g.height/2-u:C+g.height+u}if(this.barCtx.lastActiveBarSerieIndex===r&&v.enabled){var M=new z(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:a}),f.fontSize);s=L?C-M.height/2-u-v.offsetY+18:C+M.height+u+v.offsetY-18,n=b+(t.globals.isXNumeric?-c*t.globals.barGroups.length/2:t.globals.barGroups.length*c/2-(t.globals.barGroups.length-1)*c-S)+v.offsetX}return t.config.chart.stacked||(x<0?x=0+w:x+g.height/3>t.globals.gridHeight&&(x=t.globals.gridHeight-w)),{bcx:h,bcy:o,dataLabelsX:p,dataLabelsY:x,totalDataLabelsX:n,totalDataLabelsY:s,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(e){var t=this.w,i=e.x,a=e.i,r=e.j,s=e.realIndex,n=e.bcy,o=e.barHeight,h=e.barWidth,c=e.textRects,d=e.dataLabelsX,g=e.strokeWidth,p=e.dataLabelsConfig,x=e.barDataLabelsConfig,f=e.barTotalDataLabelsConfig,m=e.offX,v=e.offY,w=t.globals.gridHeight/t.globals.dataPoints;h=Math.abs(h);var l,u,b=n-(this.barCtx.isRangeBar?0:w)+o/2+c.height/2+v-3,A="start",k=t.globals.series[a][r]<0,S=i;switch(this.barCtx.isReversed&&(S=i+(k?-h:h),A=k?"start":"end"),x.position){case"center":d=k?S+h/2-m:Math.max(c.width/2,S-h/2)+m;break;case"bottom":d=k?S+h-g-m:S-h+g+m;break;case"top":d=k?S-g-m:S-g+m}if(this.barCtx.lastActiveBarSerieIndex===s&&f.enabled){var L=new z(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:s,j:r}),p.fontSize);k?(l=S-g-m-f.offsetX,A="end"):l=S+m+f.offsetX+(this.barCtx.isReversed?-(h+g):g),u=b-c.height/2+L.height/2+f.offsetY+g}return t.config.chart.stacked||("start"===p.textAnchor?d-c.width<0?d=k?c.width+g:g:d+c.width>t.globals.gridWidth&&(d=k?t.globals.gridWidth-g:t.globals.gridWidth-c.width-g):"middle"===p.textAnchor?d-c.width/2<0?d=c.width/2+g:d+c.width/2>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width/2-g):"end"===p.textAnchor&&(d<1?d=c.width+g:d+1>t.globals.gridWidth&&(d=t.globals.gridWidth-c.width-g))),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:b,totalDataLabelsX:l,totalDataLabelsY:u,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(e){var t=e.x,i=e.y,a=e.val,r=e.i,s=e.j,n=e.textRects,o=e.barHeight,h=e.barWidth,c=e.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(t,", ").concat(i,")"));var p=new ge(this.barCtx.ctx),x=new z(this.barCtx.ctx),f=c.formatter,m=null,v=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!v){m=x.group({class:"apexcharts-data-labels",transform:g});var w="";void 0!==a&&(w=f(a,E(E({},d),{},{seriesIndex:r,dataPointIndex:s,w:d}))),!a&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(w="");var l=d.globals.series[r][s]<0,u=d.config.plotOptions.bar.dataLabels.position;"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===u&&(c.textAnchor=l?"end":"start"),"center"===u&&(c.textAnchor="middle"),"bottom"===u&&(c.textAnchor=l?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&hMath.abs(h)&&(w=""):n.height/1.6>Math.abs(o)&&(w=""));var b=E({},c);this.barCtx.isHorizontal&&a<0&&("start"===c.textAnchor?b.textAnchor="end":"end"===c.textAnchor&&(b.textAnchor="start")),p.plotDataLabelsText({x:t,y:i,text:w,i:r,j:s,parent:m,dataLabelsConfig:b,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return m}},{key:"drawTotalDataLabels",value:function(e){var o,t=e.x,i=e.y,a=e.val,r=e.realIndex,s=e.textAnchor,n=e.barTotalDataLabelsConfig,h=new z(this.barCtx.ctx);return n.enabled&&void 0!==t&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===r&&(o=h.drawText({x:t,y:i,foreColor:n.style.color,text:a,textAnchor:s,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),y}(),Rt=function(){function y(e){Y(this,y),this.w=e.w,this.barCtx=e}return F(y,[{key:"initVariables",value:function(e){var t=this.w;this.barCtx.series=e,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=e[i].length),t.globals.isXNumeric)for(var a=0;at.globals.minX&&t.globals.seriesX[i][a]0&&(a=h.globals.minXDiff/g),(s=a/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(s=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(s=parseInt(this.barCtx.barOptions.columnWidth,10)),n=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),e=h.globals.padHorizontal+(a-s*this.barCtx.seriesLen)/2}return h.globals.barHeight=r,h.globals.barWidth=s,{x:e,y:t,yDivision:i,xDivision:a,barHeight:r,barWidth:s,zeroH:n,zeroW:o}}},{key:"initializeStackedPrevVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].prevY=[],e[t].prevX=[],e[t].prevYF=[],e[t].prevXF=[],e[t].prevYVal=[],e[t].prevXVal=[]})}},{key:"initializeStackedXYVars",value:function(e){e.w.globals.seriesGroups.forEach(function(t){e[t]||(e[t]={}),e[t].xArrj=[],e[t].xArrjF=[],e[t].xArrjVal=[],e[t].yArrj=[],e[t].yArrjF=[],e[t].yArrjVal=[]})}},{key:"getPathFillColor",value:function(e,t,i,a){var r,s,n,o,h,c=this.w,d=this.barCtx.ctx.fill,g=null,p=this.barCtx.barOptions.distributed?i:t;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map(function(x){e[t][i]>=x.from&&e[t][i]<=x.to&&(g=x.color)}),null!==(r=c.config.series[t].data[i])&&void 0!==r&&r.fillColor&&(g=c.config.series[t].data[i].fillColor),d.fillPath({seriesNumber:this.barCtx.barOptions.distributed?p:a,dataPointIndex:i,color:g,value:e[t][i],fillConfig:null===(s=c.config.series[t].data[i])||void 0===s?void 0:s.fill,fillType:null!==(n=c.config.series[t].data[i])&&void 0!==n&&null!==(o=n.fill)&&void 0!==o&&o.type?null===(h=c.config.series[t].data[i])||void 0===h?void 0:h.fill.type:Array.isArray(c.config.fill.type)?c.config.fill.type[a]:c.config.fill.type})}},{key:"getStrokeWidth",value:function(e,t,i){var a=0,r=this.w;return this.barCtx.isNullValue=null==this.barCtx.series[e][t],r.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(e){var t=this.w,i=!1;return t.config.plotOptions.bar.borderRadius>0&&(t.config.chart.stacked&&"last"===t.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===e&&(i=!0):i=!0),i}},{key:"barBackground",value:function(e){var t=e.j,i=e.i,a=e.x1,r=e.x2,s=e.y1,n=e.y2,o=e.elSeries,h=this.w,c=new z(this.barCtx.ctx),d=new se(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&d===i){t>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(t%=this.barCtx.barOptions.colors.backgroundBarColors.length);var p=c.drawRect(void 0!==a?a:0,void 0!==s?s:0,void 0!==r?r:h.globals.gridWidth,void 0!==n?n:h.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,this.barCtx.barOptions.colors.backgroundBarColors[t],this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(p),p.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(e){var t,i=e.barWidth,a=e.barXPosition,r=e.y1,s=e.y2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,g=e.w,p=new z(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var x=i,f=a;null!==(t=g.config.series[h].data[d])&&void 0!==t&&t.columnWidthOffset&&(f=a-g.config.series[h].data[d].columnWidthOffset/2,x=i+g.config.series[h].data[d].columnWidthOffset);var m=n/2,v=f+m,w=f+x-m;s+=.001+m;var l=p.move(v,r+=.001-m),u=p.move(v,r),b=p.line(w,r);if(g.globals.previousPaths.length>0&&(u=this.barCtx.getPreviousPath(h,d,!1)),l=l+p.line(v,s)+p.line(w,s)+p.line(w,r)+("around"===g.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),u=u+p.line(v,r)+b+b+b+b+b+p.line(v,r)+("around"===g.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(h)&&(l=p.roundPathCorners(l,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var A=this.barCtx;(A=this.barCtx[o]).yArrj.push(s-m),A.yArrjF.push(Math.abs(r-s+n)),A.yArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:u}}},{key:"getBarpaths",value:function(e){var t,i=e.barYPosition,a=e.barHeight,r=e.x1,s=e.x2,n=e.strokeWidth,o=e.seriesGroup,h=e.realIndex,c=e.i,d=e.j,g=e.w,p=new z(this.barCtx.ctx);(n=Array.isArray(n)?n[h]:n)||(n=0);var x=i,f=a;null!==(t=g.config.series[h].data[d])&&void 0!==t&&t.barHeightOffset&&(x=i-g.config.series[h].data[d].barHeightOffset/2,f=a+g.config.series[h].data[d].barHeightOffset);var m=n/2,v=x+m,w=x+f-m;s+=.001+m;var l=p.move(r+=.001-m,v),u=p.move(r,v);g.globals.previousPaths.length>0&&(u=this.barCtx.getPreviousPath(h,d,!1));var b=p.line(r,w);if(l=l+p.line(s,v)+p.line(s,w)+b+("around"===g.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),u=u+p.line(r,v)+b+b+b+b+b+p.line(r,v)+("around"===g.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(h)&&(l=p.roundPathCorners(l,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var A=this.barCtx;(A=this.barCtx[o]).xArrj.push(s+m),A.xArrjF.push(Math.abs(r-s)),A.xArrjVal.push(this.barCtx.series[c][d])}return{pathTo:l,pathFrom:u}}},{key:"checkZeroSeries",value:function(e){for(var t=e.series,i=this.w,a=0;a2&&void 0!==arguments[2]&&!arguments[2]?null:t;return null!=e&&(i=t+e/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?e/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(e,t,i){var a=arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?null:t;return null!=e&&(a=t-e/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?e/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(e,t,i,a,r,s){var n=this,o=this.w,h=[],c=function(p,x){var f;h.push((we(f={},e,"x"===e?n.getXForValue(p,t,!1):n.getYForValue(p,i,s,!1)),we(f,"attrs",x),f))};if(o.globals.seriesGoals[a]&&o.globals.seriesGoals[a][r]&&Array.isArray(o.globals.seriesGoals[a][r])&&o.globals.seriesGoals[a][r].forEach(function(p){c(p.value,p)}),this.barCtx.barOptions.isDumbbell&&o.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:o.globals.colors,g={strokeHeight:"x"===e?0:o.globals.markers.size[a],strokeWidth:"x"===e?o.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(o.globals.seriesRangeStart[a][r],g),c(o.globals.seriesRangeEnd[a][r],E(E({},g),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:"drawGoalLine",value:function(e){var t=e.barXPosition,i=e.barYPosition,a=e.goalX,r=e.goalY,s=e.barWidth,n=e.barHeight,o=new z(this.barCtx.ctx),h=o.group({className:"apexcharts-bar-goals-groups"});h.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:h.node}),h.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var c=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach(function(d){if(d.x>=-1&&d.x<=o.w.globals.gridWidth+1){var g=void 0!==d.attrs.strokeHeight?d.attrs.strokeHeight:n/2,p=i+g+n/2;c=o.drawLine(d.x,p-2*g,d.x,p,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeWidth?d.attrs.strokeWidth:2,d.attrs.strokeLineCap),h.add(c)}}):Array.isArray(r)&&r.forEach(function(d){if(d.y>=-1&&d.y<=o.w.globals.gridHeight+1){var g=void 0!==d.attrs.strokeWidth?d.attrs.strokeWidth:s/2,p=t+g+s/2;c=o.drawLine(p-2*g,d.y,p,d.y,d.attrs.strokeColor?d.attrs.strokeColor:void 0,d.attrs.strokeDashArray,d.attrs.strokeHeight?d.attrs.strokeHeight:2,d.attrs.strokeLineCap),h.add(c)}}),h}},{key:"drawBarShadow",value:function(e){var t=e.prevPaths,i=e.currPaths,a=e.color,r=this.w,s=t.x,n=t.x1,h=i.x,c=i.x1,d=i.barYPosition,g=t.barYPosition+i.barHeight,p=new z(this.barCtx.ctx),x=new P,f=p.move(n,g)+p.line(s,g)+p.line(h,d)+p.line(c,d)+p.line(n,g)+("around"===r.config.plotOptions.bar.borderRadiusApplication?" Z":" z");return p.drawPath({d:f,fill:x.shadeColor(.5,P.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadows"})}},{key:"getZeroValueEncounters",value:function(e){var t,i=e.i,a=e.j,r=this.w,s=0,n=0;return(r.config.plotOptions.bar.horizontal?r.globals.series.map(function(o,h){return h}):(null===(t=r.globals.columnSeries)||void 0===t?void 0:t.i.map(function(o){return o}))||[]).forEach(function(o){var h=r.globals.seriesPercent[o][a];h&&s++,o-1}),a=this.barCtx.columnGroupIndices,r=a.indexOf(i);return r<0&&(a.push(i),r=a.length-1),{groupIndex:i,columnGroupIndex:r}}}]),y}(),ue=function(){function y(e,t){Y(this,y),this.ctx=e,this.w=e.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.isRangeBar=i.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&i.globals.seriesRange.length&&i.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=t,null!==this.xyRatios&&(this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.invertedXRatio=t.invertedXRatio,this.invertedYRatio=t.invertedYRatio,this.baseLineY=t.baseLineY,this.baseLineInvertedY=t.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var a=new se(this.ctx);this.lastActiveBarSerieIndex=a.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var r=a.getBarSeriesIndices(),s=new Z(this.ctx);this.stackedSeriesTotals=s.getStackedSeriesTotals(this.w.config.series.map(function(n,o){return-1===r.indexOf(o)?o:-1}).filter(function(n){return-1!==n})),this.barHelpers=new Rt(this)}return F(y,[{key:"draw",value:function(e,t){var i=this.w,a=new z(this.ctx),r=new Z(this.ctx,i);e=r.getLogSeries(e),this.series=e,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(e);var s=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,o=0;n0&&(this.visibleI=this.visibleI+1);var u=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[v],this.translationsIndex=v);var A=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var k=this.barHelpers.initialPositions();x=k.y,u=k.barHeight,c=k.yDivision,g=k.zeroW,p=k.x,b=k.barWidth,h=k.xDivision,d=k.zeroH,this.horizontal||m.push(p+b/2);var S=a.group({class:"apexcharts-datalabels","data:realIndex":v});i.globals.delayedElements.push({el:S.node}),S.node.classList.add("apexcharts-element-hidden");var L=a.group({class:"apexcharts-bar-goals-markers"}),C=a.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:C.node}),C.node.classList.add("apexcharts-element-hidden");for(var M=0;M0){var D=this.barHelpers.drawBarShadow({color:"string"==typeof R&&-1===R?.indexOf("url")?R:P.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:I});D&&C.add(D)}this.pathArr.push(I);var H=this.barHelpers.drawGoalLine({barXPosition:I.barXPosition,barYPosition:I.barYPosition,goalX:I.goalX,goalY:I.goalY,barHeight:u,barWidth:b});H&&L.add(H),x=I.y,p=I.x,M>0&&m.push(p+b/2),f.push(x),this.renderSeries({realIndex:v,pathFill:R,j:M,i:n,columnGroupIndex:w,pathFrom:I.pathFrom,pathTo:I.pathTo,strokeWidth:X,elSeries:l,x:p,y:x,series:e,barHeight:Math.abs(I.barHeight?I.barHeight:u),barWidth:Math.abs(I.barWidth?I.barWidth:b),elDataLabelsWrap:S,elGoalsMarkers:L,elBarShadows:C,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[v]=m,i.globals.seriesYvalues[v]=f,s.add(l)}return s}},{key:"renderSeries",value:function(e){var H,O,W,t=e.realIndex,i=e.pathFill,a=e.lineFill,r=e.j,s=e.i,n=e.columnGroupIndex,o=e.pathFrom,h=e.pathTo,c=e.strokeWidth,d=e.elSeries,g=e.x,p=e.y,x=e.y1,f=e.y2,m=e.series,v=e.barHeight,w=e.barWidth,l=e.barXPosition,u=e.barYPosition,b=e.elDataLabelsWrap,A=e.elGoalsMarkers,k=e.elBarShadows,S=e.visibleSeries,L=e.type,C=this.w,M=new z(this.ctx);if(!a){var X="function"==typeof C.globals.stroke.colors[t]?(H=t,W=C.config.stroke.colors,Array.isArray(W)&&W.length>0&&((O=W[H])||(O=""),"function"==typeof O)?O({value:C.globals.series[H][r],dataPointIndex:r,w:C}):O):C.globals.stroke.colors[t];a=this.barOptions.distributed?C.globals.stroke.colors[r]:X}C.config.series[s].data[r]&&C.config.series[s].data[r].strokeColor&&(a=C.config.series[s].data[r].strokeColor),this.isNullValue&&(i="none");var T=M.renderPaths({i:s,j:r,realIndex:t,pathFrom:o,pathTo:h,stroke:a,strokeWidth:c,strokeLineCap:C.config.stroke.lineCap,fill:i,animationDelay:r/C.config.chart.animations.animateGradually.delay*(C.config.chart.animations.speed/C.globals.dataPoints)/2.4,initialSpeed:C.config.chart.animations.speed,dataChangeSpeed:C.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(L,"-area"),chartType:L});T.attr("clip-path","url(#gridRectBarMask".concat(C.globals.cuid,")"));var R=C.config.forecastDataPoints;R.count>0&&r>=C.globals.dataPoints-R.count&&(T.node.setAttribute("stroke-dasharray",R.dashArray),T.node.setAttribute("stroke-width",R.strokeWidth),T.node.setAttribute("fill-opacity",R.fillOpacity)),void 0!==x&&void 0!==f&&(T.attr("data-range-y1",x),T.attr("data-range-y2",f)),new K(this.ctx).setSelectionFilter(T,t,r),d.add(T);var D=new Ft(this).handleBarDataLabels({x:g,y:p,y1:x,y2:f,i:s,j:r,series:m,realIndex:t,columnGroupIndex:n,barHeight:v,barWidth:w,barXPosition:l,barYPosition:u,renderedPath:T,visibleSeries:S});return null!==D.dataLabels&&b.add(D.dataLabels),D.totalDataLabels&&b.add(D.totalDataLabels),d.add(b),A&&d.add(A),k&&d.add(k),d}},{key:"drawBarPaths",value:function(e){var t,n,i=e.indexes,a=e.barHeight,r=e.strokeWidth,s=e.zeroW,o=e.y,h=e.yDivision,c=e.elSeries,d=this.w,g=i.i,p=i.j;if(d.globals.isXNumeric)t=(o=(d.globals.seriesX[g][p]-d.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=0,f=0;d.globals.seriesPercent.forEach(function(v,w){v[p]&&x++,w0&&(a=this.seriesLen*a/x),t=o+a*this.visibleI,t-=a*f}else t=o+a*this.visibleI;this.isFunnel&&(s-=(this.barHelpers.getXForValue(this.series[g][p],s)-s)/2),n=this.barHelpers.getXForValue(this.series[g][p],s);var m=this.barHelpers.getBarpaths({barYPosition:t,barHeight:a,x1:s,x2:n,strokeWidth:r,series:this.series,realIndex:i.realIndex,i:g,j:p,w:d});return d.globals.isXNumeric||(o+=h),this.barHelpers.barBackground({j:p,i:g,y1:t-a*this.visibleI,y2:a*this.seriesLen,elSeries:c}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x1:s,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",s,null,g,p),barYPosition:t,barHeight:a}}},{key:"drawColumnPaths",value:function(e){var t,r,i=e.indexes,a=e.x,s=e.xDivision,n=e.barWidth,o=e.zeroH,h=e.strokeWidth,c=e.elSeries,d=this.w,g=i.realIndex,p=i.translationsIndex,x=i.i,f=i.j,m=i.bc;if(d.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:a,j:f,realIndex:g,barWidth:n});a=v.x,t=v.barXPosition}else if(d.config.plotOptions.bar.hideZeroBarsWhenGrouped){var w=this.barHelpers.getZeroValueEncounters({i:x,j:f}),l=w.nonZeroColumns;l>0&&(n=this.seriesLen*n/l),t=a+n*this.visibleI,t-=n*w.zeroEncounters}else t=a+n*this.visibleI;r=this.barHelpers.getYForValue(this.series[x][f],o,p);var b=this.barHelpers.getColumnPaths({barXPosition:t,barWidth:n,y1:o,y2:r,strokeWidth:h,series:this.series,realIndex:g,i:x,j:f,w:d});return d.globals.isXNumeric||(a+=s),this.barHelpers.barBackground({bc:m,j:f,i:x,x1:t-h/2-n*this.visibleI,x2:n*this.seriesLen+h/2,elSeries:c}),{pathTo:b.pathTo,pathFrom:b.pathFrom,x:a,y:r,goalY:this.barHelpers.getGoalValues("y",null,o,x,f,p),barXPosition:t,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(e){var t=e.x,i=e.barWidth,a=e.realIndex,r=e.j,s=this.w,n=a;return s.globals.seriesX[a].length||(n=s.globals.maxValsInArrayIndex),s.globals.seriesX[n][r]&&(t=(s.globals.seriesX[n][r]-s.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:t+i*this.visibleI,x:t}}},{key:"getPreviousPath",value:function(e,t){for(var i,a=this.w,r=0;r0&&parseInt(s.realIndex,10)===parseInt(e,10)&&void 0!==a.globals.previousPaths[r].paths[t]&&(i=a.globals.previousPaths[r].paths[t].d)}return i}}]),y}(),rt=function(y){fe(t,ue);var e=pe(t);function t(){return Y(this,t),e.apply(this,arguments)}return F(t,[{key:"draw",value:function(i,a){var r=this,s=this.w;this.graphics=new z(this.ctx),this.bar=new ue(this.ctx,this.xyRatios);var n=new Z(this.ctx,s);i=n.getLogSeries(i),this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i),"100%"===s.config.chart.stackType&&(i=s.globals.comboCharts?a.map(function(x){return s.globals.seriesPercent[x]}):s.globals.seriesPercent.slice()),this.series=i,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),h=0,c=0,d=function(x,f){var m=void 0,v=void 0,w=void 0,l=void 0,u=s.globals.comboCharts?a[x]:x,b=r.barHelpers.getGroupIndex(u),A=b.groupIndex,k=b.columnGroupIndex;r.groupCtx=r[s.globals.seriesGroups[A]];var S=[],L=[],C=0;r.yRatio.length>1&&(r.yaxisIndex=s.globals.seriesYAxisReverseMap[u][0],C=u),r.isReversed=s.config.yaxis[r.yaxisIndex]&&s.config.yaxis[r.yaxisIndex].reversed;var M=r.graphics.group({class:"apexcharts-series",seriesName:P.escapeString(s.globals.seriesNames[u]),rel:x+1,"data:realIndex":u});r.ctx.series.addCollapsedClassToSeries(M,u);var X=r.graphics.group({class:"apexcharts-datalabels","data:realIndex":u}),I=r.graphics.group({class:"apexcharts-bar-goals-markers"}),T=0,R=0,D=r.initialPositions(h,c,m,v,w,l,C);c=D.y,v=D.yDivision,l=D.zeroW,h=D.x,R=D.barWidth,m=D.xDivision,w=D.zeroH,s.globals.barHeight=T=D.barHeight,s.globals.barWidth=R,r.barHelpers.initializeStackedXYVars(r),1===r.groupCtx.prevY.length&&r.groupCtx.prevY[0].every(function(q){return isNaN(q)})&&(r.groupCtx.prevY[0]=r.groupCtx.prevY[0].map(function(){return w}),r.groupCtx.prevYF[0]=r.groupCtx.prevYF[0].map(function(){return 0}));for(var H=0;H1?d=(r=g.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(x).indexOf("%")?d=parseInt(x,10):d*=parseInt(x,10)/100,n=this.isReversed?this.baseLineY[h]:g.globals.gridHeight-this.baseLineY[h],i=g.globals.padHorizontal+(r-d)/2}var f=g.globals.barGroups.length||1;return{x:i,y:a,yDivision:s,xDivision:r,barHeight:c/f,barWidth:d/f,zeroH:n,zeroW:o}}},{key:"drawStackedBarPaths",value:function(i){for(var a,h,r=i.indexes,s=i.barHeight,n=i.strokeWidth,o=i.zeroW,c=i.y,g=i.seriesGroup,p=i.yDivision,x=i.elSeries,f=this.w,m=c+i.columnGroupIndex*s,v=r.i,w=r.j,l=r.realIndex,u=r.translationsIndex,b=0,A=0;A0){var S=o;this.groupCtx.prevXVal[k-1][w]<0?S=this.series[v][w]>=0?this.groupCtx.prevX[k-1][w]+b-2*(this.isReversed?b:0):this.groupCtx.prevX[k-1][w]:this.groupCtx.prevXVal[k-1][w]>=0&&(S=this.series[v][w]>=0?this.groupCtx.prevX[k-1][w]:this.groupCtx.prevX[k-1][w]-b+2*(this.isReversed?b:0)),a=S}else a=o;var L=this.barHelpers.getBarpaths({barYPosition:m,barHeight:s,x1:a,x2:h=null===this.series[v][w]?a:a+this.series[v][w]/this.invertedYRatio-2*(this.isReversed?this.series[v][w]/this.invertedYRatio:0),strokeWidth:n,series:this.series,realIndex:r.realIndex,seriesGroup:g,i:v,j:w,w:f});return this.barHelpers.barBackground({j:w,i:v,y1:m,y2:s,elSeries:x}),c+=p,{pathTo:L.pathTo,pathFrom:L.pathFrom,goalX:this.barHelpers.getGoalValues("x",o,null,v,w,u),barXPosition:a,barYPosition:m,x:h,y:c}}},{key:"drawStackedColumnPaths",value:function(i){var s,a=i.indexes,r=i.x,n=i.xDivision,o=i.barWidth,h=i.zeroH,d=i.seriesGroup,g=i.elSeries,p=this.w,x=a.i,f=a.j,m=a.bc,v=a.realIndex,w=a.translationsIndex;if(p.globals.isXNumeric){var l=p.globals.seriesX[v][f];l||(l=0),r=(l-p.globals.minX)/this.xRatio-o/2*p.globals.barGroups.length}for(var u,b=r+i.columnGroupIndex*o,A=0,k=0;k0&&!p.globals.isXNumeric||S>0&&p.globals.isXNumeric&&p.globals.seriesX[v-1][f]===p.globals.seriesX[v][f]){var L,C,M,X=Math.min(this.yRatio.length+1,v+1);if(void 0!==this.groupCtx.prevY[S-1]&&this.groupCtx.prevY[S-1].length)for(var I=1;I=0?M-A+2*(this.isReversed?A:0):M;break}if((null===(H=this.groupCtx.prevYVal[S-R])||void 0===H?void 0:H[f])>=0){C=this.series[x][f]>=0?M:M+A-2*(this.isReversed?A:0);break}}void 0===C&&(C=p.globals.gridHeight),u=null!==(L=this.groupCtx.prevYF[0])&&void 0!==L&&L.every(function(W){return 0===W})&&this.groupCtx.prevYF.slice(1,S).every(function(W){return W.every(function(N){return isNaN(N)})})?h:C}else u=h;var O=this.barHelpers.getColumnPaths({barXPosition:b,barWidth:o,y1:u,y2:s=this.series[x][f]?u-this.series[x][f]/this.yRatio[w]+2*(this.isReversed?this.series[x][f]/this.yRatio[w]:0):u,yRatio:this.yRatio[w],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:d,realIndex:a.realIndex,i:x,j:f,w:p});return this.barHelpers.barBackground({bc:m,j:f,i:x,x1:b,x2:o,elSeries:g}),{pathTo:O.pathTo,pathFrom:O.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,h,x,f),barXPosition:b,x:p.globals.isXNumeric?r:r+n,y:s}}}]),t}(),Fe=function(y){fe(t,ue);var e=pe(t);function t(){return Y(this,t),e.apply(this,arguments)}return F(t,[{key:"draw",value:function(i,a,r){var s=this,n=this.w,o=new z(this.ctx),h=n.globals.comboCharts?a:n.config.chart.type,c=new re(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=n.config.plotOptions.bar.horizontal;var d=new Z(this.ctx,n);i=d.getLogSeries(i),this.series=i,this.yRatio=d.getLogYRatios(this.yRatio),this.barHelpers.initVariables(i);for(var g=o.group({class:"apexcharts-".concat(h,"-series apexcharts-plot-series")}),p=function(f){s.isBoxPlot="boxPlot"===n.config.chart.type||"boxPlot"===n.config.series[f].type;var m,v,w,l,u=void 0,b=void 0,A=[],k=[],S=n.globals.comboCharts?r[f]:f,L=s.barHelpers.getGroupIndex(S).columnGroupIndex,C=o.group({class:"apexcharts-series",seriesName:P.escapeString(n.globals.seriesNames[S]),rel:f+1,"data:realIndex":S});s.ctx.series.addCollapsedClassToSeries(C,S),i[f].length>0&&(s.visibleI=s.visibleI+1);var M,X,I=0;s.yRatio.length>1&&(s.yaxisIndex=n.globals.seriesYAxisReverseMap[S][0],I=S);var T=s.barHelpers.initialPositions();b=T.y,M=T.barHeight,v=T.yDivision,l=T.zeroW,m=T.xDivision,w=T.zeroH,k.push((u=T.x)+(X=T.barWidth)/2);for(var R=o.group({class:"apexcharts-datalabels","data:realIndex":S}),D=function(O){var W=s.barHelpers.getStrokeWidth(f,O,S),N=null,B={indexes:{i:f,j:O,realIndex:S,translationsIndex:I},x:u,y:b,strokeWidth:W,elSeries:C};N=s.isHorizontal?s.drawHorizontalBoxPaths(E(E({},B),{},{yDivision:v,barHeight:M,zeroW:l})):s.drawVerticalBoxPaths(E(E({},B),{},{xDivision:m,barWidth:X,zeroH:w})),b=N.y,u=N.x,O>0&&k.push(u+X/2),A.push(b),N.pathTo.forEach(function(U,q){var _=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?N.color[q]:n.globals.stroke.colors[f],ae=c.fillPath({seriesNumber:S,dataPointIndex:O,color:N.color[q],value:i[f][O]});s.renderSeries({realIndex:S,pathFill:ae,lineFill:_,j:O,i:f,pathFrom:N.pathFrom,pathTo:U,strokeWidth:W,elSeries:C,x:u,y:b,series:i,columnGroupIndex:L,barHeight:M,barWidth:X,elDataLabelsWrap:R,visibleSeries:s.visibleI,type:n.config.chart.type})})},H=0;Hu.c&&(x=!1);var k=Math.min(u.o,u.c),S=Math.max(u.o,u.c),L=u.m;c.globals.isXNumeric&&(r=(c.globals.seriesX[l][p]-c.globals.minX)/this.xRatio-n/2);var C=r+n*this.visibleI;null==this.series[g][p]?(k=o,S=o):(k=o-k/w,S=o-S/w,b=o-u.h/w,A=o-u.l/w,L=o-u.m/w);var M=d.move(C,o),X=d.move(C+n/2,k);return c.globals.previousPaths.length>0&&(X=this.getPreviousPath(l,p,!0)),M=this.isBoxPlot?[d.move(C,k)+d.line(C+n/2,k)+d.line(C+n/2,b)+d.line(C+n/4,b)+d.line(C+n-n/4,b)+d.line(C+n/2,b)+d.line(C+n/2,k)+d.line(C+n,k)+d.line(C+n,L)+d.line(C,L)+d.line(C,k+h/2),d.move(C,L)+d.line(C+n,L)+d.line(C+n,S)+d.line(C+n/2,S)+d.line(C+n/2,A)+d.line(C+n-n/4,A)+d.line(C+n/4,A)+d.line(C+n/2,A)+d.line(C+n/2,S)+d.line(C,S)+d.line(C,L)+"z"]:[d.move(C,S)+d.line(C+n/2,S)+d.line(C+n/2,b)+d.line(C+n/2,S)+d.line(C+n,S)+d.line(C+n,k)+d.line(C+n/2,k)+d.line(C+n/2,A)+d.line(C+n/2,k)+d.line(C,k)+d.line(C,S-h/2)],X+=d.move(C,k),c.globals.isXNumeric||(r+=s),{pathTo:M,pathFrom:X,x:r,y:S,barXPosition:C,color:this.isBoxPlot?v:x?[f]:[m]}}},{key:"drawHorizontalBoxPaths",value:function(i){var a=i.indexes,r=i.y,s=i.yDivision,n=i.barHeight,o=i.zeroW,h=i.strokeWidth,c=this.w,d=new z(this.ctx),g=a.i,p=a.j,x=this.boxOptions.colors.lower;this.isBoxPlot&&(x=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var f=this.invertedYRatio,m=a.realIndex,v=this.getOHLCValue(m,p),w=o,l=o,u=Math.min(v.o,v.c),b=Math.max(v.o,v.c),A=v.m;c.globals.isXNumeric&&(r=(c.globals.seriesX[m][p]-c.globals.minX)/this.invertedXRatio-n/2);var k=r+n*this.visibleI;null==this.series[g][p]?(u=o,b=o):(u=o+u/f,b=o+b/f,w=o+v.h/f,l=o+v.l/f,A=o+v.m/f);var S=d.move(o,k),L=d.move(u,k+n/2);return c.globals.previousPaths.length>0&&(L=this.getPreviousPath(m,p,!0)),S=[d.move(u,k)+d.line(u,k+n/2)+d.line(w,k+n/2)+d.line(w,k+n/2-n/4)+d.line(w,k+n/2+n/4)+d.line(w,k+n/2)+d.line(u,k+n/2)+d.line(u,k+n)+d.line(A,k+n)+d.line(A,k)+d.line(u+h/2,k),d.move(A,k)+d.line(A,k+n)+d.line(b,k+n)+d.line(b,k+n/2)+d.line(l,k+n/2)+d.line(l,k+n-n/4)+d.line(l,k+n/4)+d.line(l,k+n/2)+d.line(b,k+n/2)+d.line(b,k)+d.line(A,k)+"z"],L+=d.move(u,k),c.globals.isXNumeric||(r+=s),{pathTo:S,pathFrom:L,x:b,y:r,barYPosition:k,color:x}}},{key:"getOHLCValue",value:function(i,a){var r=this.w;return{o:this.isBoxPlot?r.globals.seriesCandleH[i][a]:r.globals.seriesCandleO[i][a],h:this.isBoxPlot?r.globals.seriesCandleO[i][a]:r.globals.seriesCandleH[i][a],m:r.globals.seriesCandleM[i][a],l:this.isBoxPlot?r.globals.seriesCandleC[i][a]:r.globals.seriesCandleL[i][a],c:this.isBoxPlot?r.globals.seriesCandleL[i][a]:r.globals.seriesCandleC[i][a]}}}]),t}(),nt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"checkColorRange",value:function(){var e=this.w,t=!1,i=e.config.plotOptions[e.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map(function(a,r){a.from<=0&&(t=!0)}),t}},{key:"getShadeColor",value:function(e,t,i,a){var r=this.w,s=1,n=r.config.plotOptions[e].shadeIntensity,o=this.determineColor(e,t,i);r.globals.hasNegs||a?s=r.config.plotOptions[e].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):1.25*n*(1-o.percent/100):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(s=1-o.percent/100,"treemap"===e&&(s=1.25*n*(1-o.percent/100)));var h=o.color,c=new P;if(r.config.plotOptions[e].enableShades)if("dark"===this.w.config.theme.mode){var d=c.shadeColor(-1*s,o.color);h=P.hexToRgba(P.isColorHex(d)?d:P.rgb2hex(d),r.config.fill.opacity)}else{var g=c.shadeColor(s,o.color);h=P.hexToRgba(P.isColorHex(g)?g:P.rgb2hex(g),r.config.fill.opacity)}return{color:h,colorProps:o}}},{key:"determineColor",value:function(e,t,i){var a=this.w,r=a.globals.series[t][i],s=a.config.plotOptions[e],n=s.colorScale.inverse?i:t;s.distributed&&"treemap"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],h=null,c=Math.min.apply(Math,$(a.globals.series[t])),d=Math.max.apply(Math,$(a.globals.series[t]));s.distributed||"heatmap"!==e||(c=a.globals.minY,d=a.globals.maxY),void 0!==s.colorScale.min&&(c=s.colorScale.mina.globals.maxY?s.colorScale.max:a.globals.maxY);var g=Math.abs(d)+Math.abs(c),p=100*r/(0===g?g-1e-6:g);return s.colorScale.ranges.length>0&&s.colorScale.ranges.map(function(x,f){if(r>=x.from&&r<=x.to){o=x.color,h=x.foreColor?x.foreColor:null,c=x.from,d=x.to;var m=Math.abs(d)+Math.abs(c);p=100*r/(0===m?m-1e-6:m)}}),{color:o,foreColor:h,percent:p}}},{key:"calculateDataLabels",value:function(e){var t=e.text,i=e.x,a=e.y,r=e.i,s=e.j,n=e.colorProps,o=e.fontSize,h=this.w.config.dataLabels,c=new z(this.ctx),d=new ge(this.ctx),g=null;if(h.enabled){g=c.group({class:"apexcharts-data-labels"});var x=h.offsetY,f=i+h.offsetX,m=a+parseFloat(h.style.fontSize)/3+x;d.plotDataLabelsText({x:f,y:m,text:t,i:r,j:s,color:n.foreColor,parent:g,fontSize:o,dataLabelsConfig:h})}return g}},{key:"addListeners",value:function(e){var t=new z(this.ctx);e.node.addEventListener("mouseenter",t.pathMouseEnter.bind(this,e)),e.node.addEventListener("mouseleave",t.pathMouseLeave.bind(this,e)),e.node.addEventListener("mousedown",t.pathMouseDown.bind(this,e))}}]),y}(),Dt=function(){function y(e,t){Y(this,y),this.ctx=e,this.w=e.w,this.xRatio=t.xRatio,this.yRatio=t.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new nt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return F(y,[{key:"draw",value:function(e){var t=this.w,i=new z(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(t.globals.cuid,")"));var r=t.globals.gridWidth/t.globals.dataPoints,s=t.globals.gridHeight/t.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var h=e.slice();t.config.yaxis[0].reversed&&(o=!0,h.reverse());for(var c=o?0:h.length-1;o?c=0;o?c++:c--){var d=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:P.escapeString(t.globals.seriesNames[c]),rel:c+1,"data:realIndex":c});if(this.ctx.series.addCollapsedClassToSeries(d,c),t.config.chart.dropShadow.enabled){var g=t.config.chart.dropShadow;new K(this.ctx).dropShadow(d,g,c)}for(var p=0,x=t.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(g),i.config.dataLabels.enabled){var b=l.x,A=l.y,k=100*x/this.fullAngle+"%";if(0!==x&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?t.endAngle=t.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(c=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(c)>this.fullAngle&&(c-=this.fullAngle);var d=Math.PI*(c-90)/180,g=i.centerX+s*Math.cos(h),p=i.centerY+s*Math.sin(h),x=i.centerX+s*Math.cos(d),f=i.centerY+s*Math.sin(d),m=P.polarToCartesian(i.centerX,i.centerY,i.donutSize,c),v=P.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),w=r>180?1:0,l=["M",g,p,"A",s,s,0,w,1,x,f];return t="donut"===i.chartType?[].concat(l,["L",m.x,m.y,"A",i.donutSize,i.donutSize,0,w,0,v.x,v.y,"L",g,p,"z"]).join(" "):"pie"===i.chartType||"polarArea"===i.chartType?[].concat(l,["L",i.centerX,i.centerY,"L",g,p]).join(" "):[].concat(l).join(" "),n.roundPathCorners(t,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(e){var t=this.w,i=new Ke(this.ctx),a=new z(this.ctx),r=new ot(this.ctx),s=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),h=o.result.reverse(),c=o.result.length;this.maxY=o.niceMax;for(var d=t.globals.radialSize,g=d/(c-1),p=0;p1&&e.total.show&&(r=e.total.color);var n=s.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=s.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,e.value.formatter)(i,s),a||"function"!=typeof e.total.formatter||(i=e.total.formatter(s)),t=this.donutDataLabels.total.label?e.name.formatter(t,t===e.total.label,s):"",null!==n&&(n.textContent=t),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=r)}},{key:"printDataLabelsInner",value:function(e,t){var i=this.w,a=e.getAttribute("data:value"),r=i.globals.seriesNames[parseInt(e.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(t,r,a,e);var s=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==s&&(s.style.opacity=1)}},{key:"drawSpokes",value:function(e){var t=this,i=this.w,a=new z(this.ctx),r=i.config.plotOptions.polarArea.spokes;if(0!==r.strokeWidth){for(var s=[],n=360/i.globals.series.length,o=0;o0&&(A=t.getPreviousPath(v));for(var k=0;k=10?e.x>0?(i="start",a+=10):e.x<0&&(i="end",a-=10):i="middle",Math.abs(e.y)>=t-10&&(e.y<0?r-=10:e.y>0&&(r+=10)),{textAnchor:i,newX:a,newY:r}}},{key:"getPreviousPath",value:function(e){for(var t=this.w,i=null,a=0;a0&&parseInt(r.realIndex,10)===parseInt(e,10)&&void 0!==t.globals.previousPaths[a].paths[0]&&(i=t.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;e=e||[],t=t||[];for(var a=[],r=0;r=360&&(f=360-Math.abs(this.startAngle)-.1);var m=r.drawPath({d:"",stroke:p,strokeWidth:h*parseInt(g.strokeWidth,10)/100,fill:"none",strokeOpacity:g.opacity,classes:"apexcharts-radialbar-area"});g.dropShadow.enabled&&n.dropShadow(m,g.dropShadow),d.add(m),m.attr("id","apexcharts-radialbarTrack-"+c),this.animatePaths(m,{centerX:i.centerX,centerY:i.centerY,endAngle:f,startAngle:x,size:i.size,i:c,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:a.globals.easing})}return s}},{key:"drawArcs",value:function(i){var a=this.w,r=new z(this.ctx),s=new re(this.ctx),n=new K(this.ctx),o=r.group(),h=this.getStrokeWidth(i);i.size=i.size-h/2;var c=a.config.plotOptions.radialBar.hollow.background,d=i.size-h*i.series.length-this.margin*i.series.length-h*parseInt(a.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,g=d-a.config.plotOptions.radialBar.hollow.margin;void 0!==a.config.plotOptions.radialBar.hollow.image&&(c=this.drawHollowImage(i,o,d,c));var p=this.drawHollow({size:g,centerX:i.centerX,centerY:i.centerY,fill:c||"transparent"});a.config.plotOptions.radialBar.hollow.dropShadow.enabled&&n.dropShadow(p,a.config.plotOptions.radialBar.hollow.dropShadow);var f=1;!this.radialDataLabels.total.show&&a.globals.series.length>1&&(f=0);var m=null;if(this.radialDataLabels.show){var v=a.globals.dom.Paper.select(".apexcharts-datalabels-group").members[0];m=this.renderInnerDataLabels(v,this.radialDataLabels,{hollowSize:d,centerX:i.centerX,centerY:i.centerY,opacity:f})}"back"===a.config.plotOptions.radialBar.hollow.position&&(o.add(p),m&&o.add(m));var w=!1;a.config.plotOptions.radialBar.inverseOrder&&(w=!0);for(var l=w?i.series.length-1:0;w?l>=0:l100?100:i.series[l])/100,L=Math.round(this.totalAngle*S)+this.startAngle,C=void 0;a.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*P.negToZero(a.globals.previousPaths[l])/100)+k),Math.abs(L)+Math.abs(A)>360&&(L-=.01),Math.abs(C)+Math.abs(k)>360&&(C-=.01);var M=L-A,X=Array.isArray(a.config.stroke.dashArray)?a.config.stroke.dashArray[l]:a.config.stroke.dashArray,I=r.drawPath({d:"",stroke:b,strokeWidth:h,fill:"none",fillOpacity:a.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+l,strokeDashArray:X});if(z.setAttrs(I.node,{"data:angle":M,"data:value":i.series[l]}),a.config.chart.dropShadow.enabled&&n.dropShadow(I,a.config.chart.dropShadow,l),n.setSelectionFilter(I,0,l),this.addListeners(I,this.radialDataLabels),u.add(I),I.attr({index:0,j:l}),this.barLabels.enabled){var R=P.polarToCartesian(i.centerX,i.centerY,i.size,A),D=this.barLabels.formatter(a.globals.seriesNames[l],{seriesIndex:l,w:a}),H=["apexcharts-radialbar-label"];this.barLabels.onClick||H.push("apexcharts-no-click");var O=this.barLabels.useSeriesColors?a.globals.colors[l]:a.config.chart.foreColor;O||(O=a.config.chart.foreColor);var W=R.x+this.barLabels.offsetX,N=R.y+this.barLabels.offsetY,B=r.drawText({x:W,y:N,text:D,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:O,cssClass:H.join(" ")});B.on("click",this.onBarLabelClick),B.attr({rel:l+1}),0!==A&&B.attr({"transform-origin":"".concat(W," ").concat(N),transform:"rotate(".concat(A," 0 0)")}),u.add(B)}var U=0;!this.initialAnim||a.globals.resized||a.globals.dataChanged||(U=a.config.chart.animations.speed),a.globals.dataChanged&&(U=a.config.chart.animations.dynamicAnimation.speed),this.animDur=U/(1.2*i.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:i.centerX,centerY:i.centerY,endAngle:L,startAngle:A,prevEndAngle:C,prevStartAngle:k,size:i.size,i:l,totalItems:2,animBeginArr:this.animBeginArr,dur:U,shouldSetPrevPaths:!0,easing:a.globals.easing})}return{g:o,elHollow:p,dataLabels:m}}},{key:"drawHollow",value:function(i){var a=new z(this.ctx).drawCircle(2*i.size);return a.attr({class:"apexcharts-radialbar-hollow",cx:i.centerX,cy:i.centerY,r:i.size,fill:i.fill}),a}},{key:"drawHollowImage",value:function(i,a,r,s){var n=this.w,o=new re(this.ctx),h=P.randomId(),c=n.config.plotOptions.radialBar.hollow.image;if(n.config.plotOptions.radialBar.hollow.imageClipped)o.clippedImgArea({width:r,height:r,image:c,patternID:"pattern".concat(n.globals.cuid).concat(h)}),s="url(#pattern".concat(n.globals.cuid).concat(h,")");else{var d=n.config.plotOptions.radialBar.hollow.imageWidth,g=n.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===d&&void 0===g){var p=n.globals.dom.Paper.image(c).loaded(function(f){this.move(i.centerX-f.width/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-f.height/2+n.config.plotOptions.radialBar.hollow.imageOffsetY)});a.add(p)}else{var x=n.globals.dom.Paper.image(c).loaded(function(f){this.move(i.centerX-d/2+n.config.plotOptions.radialBar.hollow.imageOffsetX,i.centerY-g/2+n.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(d,g)});a.add(x)}}return s}},{key:"getStrokeWidth",value:function(i){return i.size*(100-parseInt(this.w.config.plotOptions.radialBar.hollow.size,10))/100/(i.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(i){var a=parseInt(i.target.getAttribute("rel"),10)-1,r=this.barLabels.onClick,s=this.w;r&&r(s.globals.seriesNames[a],{w:s,seriesIndex:a})}}]),t}(),Nt=function(y){fe(t,ue);var e=pe(t);function t(){return Y(this,t),e.apply(this,arguments)}return F(t,[{key:"draw",value:function(i,a){var r=this.w,s=new z(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=i,this.seriesRangeStart=r.globals.seriesRangeStart,this.seriesRangeEnd=r.globals.seriesRangeEnd,this.barHelpers.initVariables(i);for(var n=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var w=0,l=0,u=0;this.yRatio.length>1&&(this.yaxisIndex=r.globals.seriesYAxisReverseMap[f][0],u=f);var b=this.barHelpers.initialPositions();x=b.y,g=b.zeroW,p=b.x,l=b.barWidth,w=b.barHeight,h=b.xDivision,c=b.yDivision,d=b.zeroH;for(var A=s.group({class:"apexcharts-datalabels","data:realIndex":f}),k=s.group({class:"apexcharts-rangebar-goals-markers"}),S=0;S0});return this.isHorizontal?(s=f.config.plotOptions.bar.rangeBarGroupRows?o+g*u:o+c*this.visibleI+g*u,b>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(m=f.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(s=(c=x.barHeight/m.length)*this.visibleI+g*(100-parseInt(this.barOptions.barHeight,10))/100/2+c*(this.visibleI+m.indexOf(v))+g*u)):(u>-1&&!f.globals.timescaleLabels.length&&(n=f.config.plotOptions.bar.rangeBarGroupRows?h+p*u:h+d*this.visibleI+p*u),b>-1&&!f.config.plotOptions.bar.rangeBarOverlap&&(m=f.globals.seriesRange[a][b].overlaps).indexOf(v)>-1&&(n=(d=x.barWidth/m.length)*this.visibleI+p*(100-parseInt(this.barOptions.barWidth,10))/100/2+d*(this.visibleI+m.indexOf(v))+p*u)),{barYPosition:s,barXPosition:n,barHeight:c,barWidth:d}}},{key:"drawRangeColumnPaths",value:function(i){var a=i.indexes,r=i.x,s=i.xDivision,n=i.barWidth,o=i.barXPosition,h=i.zeroH,c=this.w,d=a.i,g=a.j,p=a.realIndex,x=a.translationsIndex,f=this.yRatio[x],m=this.getRangeValue(p,g),v=Math.min(m.start,m.end),w=Math.max(m.start,m.end);null==this.series[d][g]?v=h:(v=h-v/f,w=h-w/f);var l=Math.abs(w-v),u=this.barHelpers.getColumnPaths({barXPosition:o,barWidth:n,y1:v,y2:w,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:p,i:p,j:g,w:c});if(c.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:r,j:g,realIndex:p,barWidth:n});r=b.x,o=b.barXPosition}else r+=s;return{pathTo:u.pathTo,pathFrom:u.pathFrom,barHeight:l,x:r,y:m.start<0&&m.end<0?v:w,goalY:this.barHelpers.getGoalValues("y",null,h,d,g,x),barXPosition:o}}},{key:"preventBarOverflow",value:function(i){var a=this.w;return i<0&&(i=0),i>a.globals.gridWidth&&(i=a.globals.gridWidth),i}},{key:"drawRangeBarPaths",value:function(i){var a=i.indexes,r=i.y,n=i.y2,o=i.yDivision,h=i.barHeight,c=i.barYPosition,d=i.zeroW,g=this.w,p=a.realIndex,x=a.j,f=this.preventBarOverflow(d+i.y1/this.invertedYRatio),m=this.preventBarOverflow(d+n/this.invertedYRatio),v=this.getRangeValue(p,x),w=Math.abs(m-f),l=this.barHelpers.getBarpaths({barYPosition:c,barHeight:h,x1:f,x2:m,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:p,realIndex:p,j:x,w:g});return g.globals.isXNumeric||(r+=o),{pathTo:l.pathTo,pathFrom:l.pathFrom,barWidth:w,x:v.start<0&&v.end<0?f:m,goalX:this.barHelpers.getGoalValues("x",d,null,p,x),y:r}}},{key:"getRangeValue",value:function(i,a){var r=this.w;return{start:r.globals.seriesRangeStart[i][a],end:r.globals.seriesRangeEnd[i][a]}}}]),t}(),Wt=function(){function y(e){Y(this,y),this.w=e.w,this.lineCtx=e}return F(y,[{key:"sameValueSeriesFix",value:function(e,t){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[e])&&new Z(this.lineCtx.ctx,i).seriesHaveSameValues(e)){var a=t[e].slice();a[a.length-1]=a[a.length-1]+1e-6,t[e]=a}return t}},{key:"calculatePoints",value:function(e){var t=e.series,a=e.x,r=e.y,s=e.i,n=e.j,o=e.prevY,h=this.w,c=[],d=[];if(0===n){var g=this.lineCtx.categoryAxisCorrection+h.config.markers.offsetX;h.globals.isXNumeric&&(g=(h.globals.seriesX[e.realIndex][0]-h.globals.minX)/this.lineCtx.xRatio+h.config.markers.offsetX),c.push(g),d.push(P.isNumber(t[s][0])?o+h.config.markers.offsetY:null),c.push(a+h.config.markers.offsetX),d.push(P.isNumber(t[s][n+1])?r+h.config.markers.offsetY:null)}else c.push(a+h.config.markers.offsetX),d.push(P.isNumber(t[s][n+1])?r+h.config.markers.offsetY:null);return{x:c,y:d}}},{key:"checkPreviousPaths",value:function(e){for(var t=e.pathFromLine,i=e.pathFromArea,a=e.realIndex,r=this.w,s=0;s0&&parseInt(n.realIndex,10)===parseInt(a,10)&&("line"===n.type?(this.lineCtx.appendPathFrom=!1,t=r.globals.previousPaths[s].paths[0].d):"area"===n.type&&(this.lineCtx.appendPathFrom=!1,i=r.globals.previousPaths[s].paths[0].d,r.config.stroke.show&&r.globals.previousPaths[s].paths[1]&&(t=r.globals.previousPaths[s].paths[1].d)))}return{pathFromLine:t,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(e){var t,i,a,r=e.i,s=e.realIndex,n=e.series,o=e.prevY,h=e.lineYPosition,c=e.translationsIndex,d=this.w,g=d.config.chart.stacked&&!d.globals.comboCharts||d.config.chart.stacked&&d.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(t=this.w.config.series[s])||void 0===t?void 0:t.type)||"column"===(null===(i=this.w.config.series[s])||void 0===i?void 0:i.type));if(void 0!==(null===(a=n[r])||void 0===a?void 0:a[0]))o=(h=g&&r>0?this.lineCtx.prevSeriesY[r-1][0]:this.lineCtx.zeroY)-n[r][0]/this.lineCtx.yRatio[c]+2*(this.lineCtx.isReversed?n[r][0]/this.lineCtx.yRatio[c]:0);else if(g&&r>0&&void 0===n[r][0])for(var p=r-1;p>=0;p--)if(null!=n[p][0]){o=h=this.lineCtx.prevSeriesY[p][0];break}return{prevY:o,lineYPosition:h}}}]),y}(),Vt=function(y,e,t){var i=y.slice(e,t);if(e){if(t-e>1&&i[1].length<6){var a=i[0].length;i[1]=[2*i[0][a-2]-i[0][a-4],2*i[0][a-1]-i[0][a-3]].concat(i[1])}i[0]=i[0].slice(-2)}return i};function Re(y,e){return(e[1]-y[1])/(e[0]-y[0])}var De=function(){function y(e,t,i){Y(this,y),this.ctx=e,this.w=e.w,this.xyRatios=t,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||i,this.scatter=new $e(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Wt(this),this.markers=new de(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return F(y,[{key:"draw",value:function(e,t,i,a){var r,s=this.w,n=new z(this.ctx),o=s.globals.comboCharts?t:s.config.chart.type,h=n.group({class:"apexcharts-".concat(o,"-series apexcharts-plot-series")}),c=new Z(this.ctx,s);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,e=c.getLogSeries(e),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var d=[],g=0;g1?p:0;this._initSerieVariables(e,g,p);var f=[],m=[],v=[],w=s.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,p),s.globals.isXNumeric&&s.globals.seriesX.length>0&&(w=(s.globals.seriesX[p][0]-s.globals.minX)/this.xRatio),v.push(w);var l,u=w,b=void 0,A=u,k=this.zeroY,S=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:g,realIndex:p,series:e,prevY:k,lineYPosition:0,translationsIndex:x}).prevY,f.push("monotoneCubic"===s.config.stroke.curve&&null===e[g][0]?null:k),l=k,"rangeArea"===o&&(b=S=this.lineHelpers.determineFirstPrevY({i:g,realIndex:p,series:a,prevY:S,lineYPosition:0,translationsIndex:x}).prevY,m.push(null!==f[0]?S:null));var L=this._calculatePathsFrom({type:o,series:e,i:g,realIndex:p,translationsIndex:x,prevX:A,prevY:k,prevY2:S}),C=[f[0]],M=[m[0]],X={type:o,series:e,realIndex:p,translationsIndex:x,i:g,x:w,y:1,pX:u,pY:l,pathsFrom:L,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:v,yArrj:f,y2Arrj:m,seriesRangeEnd:a},I=this._iterateOverDataPoints(E(E({},X),{},{iterations:"rangeArea"===o?e[g].length-1:void 0,isRangeStart:!0}));if("rangeArea"===o){for(var T=this._calculatePathsFrom({series:a,i:g,realIndex:p,prevX:A,prevY:S}),R=this._iterateOverDataPoints(E(E({},X),{},{series:a,xArrj:[w],yArrj:C,y2Arrj:M,pY:b,areaPaths:I.areaPaths,pathsFrom:T,iterations:a[g].length-1,isRangeStart:!1})),D=I.linePaths.length/2,H=0;H=0;O--)h.add(d[O]);else for(var W=0;W1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],s=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[s]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[s]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=r.group({class:"apexcharts-series",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:P.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=r.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=r.group({class:"apexcharts-datalabels","data:realIndex":i}),this.elSeries.attr({"data:longestSeries":e[t].length===a.globals.dataPoints,rel:t+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(e){var t,i,a,r,s=e.type,n=e.series,o=e.i,h=e.realIndex,c=e.translationsIndex,d=e.prevX,g=e.prevY,p=e.prevY2,x=this.w,f=new z(this.ctx);if(null===n[o][0]){for(var m=0;m0){var v=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:r,realIndex:h});a=v.pathFromLine,r=v.pathFromArea}return{prevX:d,prevY:g,linePath:t,areaPath:i,pathFromLine:a,pathFromArea:r}}},{key:"_handlePaths",value:function(e){var t=e.type,i=e.realIndex,a=e.i,r=e.paths,s=this.w,n=new z(this.ctx),o=new re(this.ctx);this.prevSeriesY.push(r.yArrj),s.globals.seriesXvalues[i]=r.xArrj,s.globals.seriesYvalues[i]=r.yArrj;var h=s.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==t){var c=s.globals.seriesXvalues[i][s.globals.seriesXvalues[i].length-h.count-1],d=n.drawRect(c,0,s.globals.gridWidth,s.globals.gridHeight,0);s.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,s.globals.gridHeight,0);s.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||s.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var p={i:a,realIndex:i,animationDelay:a,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(t)};if("area"===t)for(var x=o.fillPath({seriesNumber:i}),f=0;f0&&"rangeArea"!==t){var k=n.renderPaths(b);k.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&k.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(s.globals.cuid,")")),A.attr("clip-path","url(#nonForecastMask".concat(s.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(e){var t,i,a=this,r=e.type,s=e.series,n=e.iterations,o=e.realIndex,h=e.translationsIndex,c=e.i,d=e.x,g=e.y,p=e.pX,x=e.pY,f=e.pathsFrom,m=e.linePaths,v=e.areaPaths,w=e.seriesIndex,l=e.lineYPosition,u=e.xArrj,b=e.yArrj,A=e.y2Arrj,k=e.isRangeStart,S=e.seriesRangeEnd,L=this.w,C=new z(this.ctx),M=this.yRatio,X=f.prevY,I=f.linePath,T=f.areaPath,R=f.pathFromLine,D=f.pathFromArea,H=P.isNumber(L.globals.minYArr[o])?L.globals.minYArr[o]:L.globals.minY;n||(n=L.globals.dataPoints>1?L.globals.dataPoints-1:L.globals.dataPoints);var O=function(ee,te){return te-ee/M[h]+2*(a.isReversed?ee/M[h]:0)},W=g,N=L.config.chart.stacked&&!L.globals.comboCharts||L.config.chart.stacked&&L.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(t=this.w.config.series[o])||void 0===t?void 0:t.type)||"column"===(null===(i=this.w.config.series[o])||void 0===i?void 0:i.type)),B=L.config.stroke.curve;Array.isArray(B)&&(B=Array.isArray(w)?B[w[c]]:B[c]);for(var U,q=0,_=0;_0&&L.globals.collapsedSeries.length0;te--){if(!(L.globals.collapsedSeriesIndices.indexOf(w?.[te]||te)>-1))return te;te--}return 0}(c-1)][_+1]:this.zeroY,ae?g=O(H,l):(g=O(s[c][_+1],l),"rangeArea"===r&&(W=O(S[c][_+1],l))),u.push(d),!ae||"smooth"!==L.config.stroke.curve&&"monotoneCubic"!==L.config.stroke.curve?(b.push(g),A.push(W)):(b.push(null),A.push(null));var G=this.lineHelpers.calculatePoints({series:s,x:d,y:g,realIndex:o,i:c,j:_,prevY:X}),j=this._createPaths({type:r,series:s,i:c,realIndex:o,j:_,x:d,y:g,y2:W,xArrj:u,yArrj:b,y2Arrj:A,pX:p,pY:x,pathState:q,segmentStartX:U,linePath:I,areaPath:T,linePaths:m,areaPaths:v,curve:B,isRangeStart:k});v=j.areaPaths,m=j.linePaths,p=j.pX,x=j.pY,q=j.pathState,U=j.segmentStartX,T=j.areaPath,I=j.linePath,!this.appendPathFrom||"monotoneCubic"===B&&"rangeArea"===r||(R+=C.line(d,this.zeroY),D+=C.line(d,this.zeroY)),this.handleNullDataPoints(s,G,c,_,o),this._handleMarkersAndLabels({type:r,pointsPos:G,i:c,j:_,realIndex:o,isRangeStart:k})}return{yArrj:b,xArrj:u,pathFromArea:D,areaPaths:v,pathFromLine:R,linePaths:m,linePath:I,areaPath:T}}},{key:"_handleMarkersAndLabels",value:function(e){var t=e.type,i=e.pointsPos,a=e.isRangeStart,r=e.i,s=e.j,n=e.realIndex,o=this.w,h=new ge(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,s,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[r].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var c=this.markers.plotChartMarkers(i,n,s+1);null!==c&&this.elPointsMain.add(c)}var d=h.drawDataLabel({type:t,isRangeStart:a,pos:i,i:n,j:s+1});null!==d&&this.elDataLabelsWrap.add(d)}},{key:"_createPaths",value:function(e){var r,t=e.type,i=e.series,a=e.i,s=e.j,n=e.x,o=e.y,h=e.xArrj,c=e.yArrj,d=e.y2,g=e.y2Arrj,p=e.pX,x=e.pY,f=e.pathState,m=e.segmentStartX,v=e.linePath,w=e.areaPath,l=e.linePaths,u=e.areaPaths,b=e.curve,A=e.isRangeStart,k=new z(this.ctx),S=this.areaBottomY,L="rangeArea"===t,C="rangeArea"===t&&A;switch(b){case"monotoneCubic":var M=A?c:g;switch(f){case 0:if(null===M[s+1])break;f=1;case 1:if(!(L?h.length===i[a].length:s===i[a].length-2))break;case 2:var X=A?h:h.slice().reverse(),I=A?M:M.slice().reverse(),T=(r=I,X.map(function(V,G){return[V,r[G]]}).filter(function(V){return null!==V[1]})),R=T.length>1?function(y){var e=function(y){for(var e,t,i,a,r=function(c){for(var d=[],g=c[0],p=c[1],x=d[0]=Re(g,p),f=1,m=c.length-1;f9&&(a=3*i/Math.sqrt(a),r[o]=a*e,r[o+1]=a*t);for(var h=0;h<=s;h++)a=(y[Math.min(s,h+1)][0]-y[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([a||0,r[h]*a||0]);return n}(y),t=y[1],i=y[0],a=[],r=e[1],s=e[0];a.push(i,[i[0]+s[0],i[1]+s[1],t[0]-r[0],t[1]-r[1],t[0],t[1]]);for(var n=2,o=e.length;n0&&(ie.push(oe),oe=0)}),oe>0&&ie.push(oe),ie}(V),ee=[],te=0,ne=0;te4?(ne+="C".concat(ie[0],", ").concat(ie[1]),ne+=", ".concat(ie[2],", ").concat(ie[3]),ne+=", ".concat(ie[4],", ").concat(ie[5])):oe>2&&(ne+="S".concat(ie[0],", ").concat(ie[1]),ne+=", ".concat(ie[2],", ").concat(ie[3]))}return ne}(V),j=O,ee=(O+=V.length)-1;C?v=k.move(T[j][0],T[j][1])+G:L?v=k.move(D[j][0],D[j][1])+k.line(T[j][0],T[j][1])+G+k.line(D[ee][0],D[ee][1]):(v=k.move(T[j][0],T[j][1])+G,w=v+k.line(T[ee][0],S)+k.line(T[j][0],S)+"z",u.push(w)),l.push(v)}),L&&H>1&&!C){var W=l.slice(H).reverse();l.splice(H),W.forEach(function(V){return l.push(V)})}f=0}break;case"smooth":var N=.35*(n-p);if(null===i[a][s])f=0;else switch(f){case 0:if(m=p,v=C?k.move(p,g[s])+k.line(p,x):k.move(p,x),w=k.move(p,x),null===i[a][s+1]){l.push(v),u.push(w);break}if(f=1,s=i[a].length-2&&(C&&(v+=k.curve(n,o,n,o,n,d)+k.move(n,d)),w+=k.curve(n,o,n,o,n,S)+k.line(m,S)+"z",l.push(v),u.push(w),f=-1)}}p=n,x=o;break;default:var q=function(V,G,j){var ee=[];switch(V){case"stepline":ee=k.line(G,null,"H")+k.line(null,j,"V");break;case"linestep":ee=k.line(null,j,"V")+k.line(G,null,"H");break;case"straight":ee=k.line(G,j)}return ee};if(null===i[a][s])f=0;else switch(f){case 0:if(m=p,v=C?k.move(p,g[s])+k.line(p,x):k.move(p,x),w=k.move(p,x),null===i[a][s+1]){l.push(v),u.push(w);break}if(f=1,s=i[a].length-2&&(C&&(v+=k.line(n,d)),w+=k.line(n,S)+k.line(m,S)+"z",l.push(v),u.push(w),f=-1)}}p=n,x=o}return{linePaths:l,areaPaths:u,pX:p,pY:x,pathState:f,segmentStartX:m,linePath:v,areaPath:w}}},{key:"handleNullDataPoints",value:function(e,t,i,a,r){var s=this.w;if(null===e[i][a]&&s.config.markers.showNullDataPoints||1===e[i].length){var n=this.strokeWidth-s.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers(t,r,a+1,n,!0);null!==o&&this.elPointsMain.add(o)}}}]),y}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function y(n,o,h,c){this.xoffset=n,this.yoffset=o,this.height=c,this.width=h,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(d){var g,p=[],x=this.xoffset,f=this.yoffset,m=r(d)/this.height,v=r(d)/this.width;if(this.width>=this.height)for(g=0;g=this.height){var p=d/this.height;g=new y(this.xoffset+p,this.yoffset,this.width-p,this.height)}else{var f=d/this.width;g=new y(this.xoffset,this.yoffset+f,this.width,this.height-f)}return g}}function e(n,o,h,c,d){return c=void 0===c?0:c,d=void 0===d?0:d,function(p){var x,f,m=[];for(x=0;x=i(v,m))?(o.push(g),t(n.slice(1),o,h,c)):(p=h.cutArea(r(o),c),c.push(h.getCoordinates(o)),t(n,[],p,c)),c;c.push(h.getCoordinates(o))}function i(n,o){var h=Math.min.apply(Math,n),c=Math.max.apply(Math,n),d=r(n);return Math.max(Math.pow(o,2)*c/Math.pow(d,2),Math.pow(d,2)/(Math.pow(o,2)*h))}function a(n){return n&&n.constructor===Array}function r(n){var o,h=0;for(o=0;os-a&&h.width<=n-r){var c=o.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(-90 ".concat(c.x," ").concat(c.y,") translate(").concat(h.height/3,")"))}}},{key:"truncateLabels",value:function(e,t,i,a,r,s){var n=new z(this.ctx),o=n.getTextRects(e,t).width+this.w.config.stroke.width+5>r-i&&s-a>r-i?s-a:r-i,h=n.getTextBasedOnMaxWidth({text:e,maxWidth:o,fontSize:t});return e.length!==h.length&&o/t<5?"":h}},{key:"animateTreemap",value:function(e,t,i,a){var r=new ce(this.ctx);r.animateRect(e,{x:t.x,y:t.y,width:t.width,height:t.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,function(){r.animationCompleted(e)})}}]),y}(),Ut=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return F(y,[{key:"calculateTimeScaleTicks",value:function(e,t){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var r=new Q(this.ctx),s=(t-e)/864e5;this.determineInterval(s),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,s<.00011574074074074075?a.globals.disableZoomIn=!0:s>5e4&&(a.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(e,t,this.utc),o=a.globals.gridWidth/s,h=o/24,c=h/60,d=c/60,g=Math.floor(24*s),p=Math.floor(1440*s),x=Math.floor(86400*s),f=Math.floor(s),m=Math.floor(s/30),v=Math.floor(s/365),w={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},l={firstVal:w,currentMillisecond:w.minMillisecond,currentSecond:w.minSecond,currentMinute:w.minMinute,currentHour:w.minHour,currentMonthDate:w.minDate,currentDate:w.minDate,currentMonth:w.minMonth,currentYear:w.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:x,numberOfMinutes:p,numberOfHours:g,numberOfDays:f,numberOfMonths:m,numberOfYears:v};switch(this.tickInterval){case"years":this.generateYearScale(l);break;case"months":case"half_year":this.generateMonthScale(l);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(l);break;case"hours":this.generateHourScale(l);break;case"minutes_fives":case"minutes":this.generateMinuteScale(l);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(l)}var u=this.timeScaleArray.map(function(b){var A={position:b.position,unit:b.unit,year:b.year,day:b.day?b.day:1,hour:b.hour?b.hour:0,month:b.month+1};return"month"===b.unit?E(E({},A),{},{day:1,value:b.value+1}):"day"===b.unit||"hour"===b.unit?E(E({},A),{},{value:b.value}):"minute"===b.unit?E(E({},A),{},{value:b.value,minute:b.value}):"second"===b.unit?E(E({},A),{},{value:b.value,minute:b.minute,second:b.second}):b});return u.filter(function(b){var A=1,k=Math.ceil(a.globals.gridWidth/120),S=b.value;void 0!==a.config.xaxis.tickAmount&&(k=a.config.xaxis.tickAmount),u.length>k&&(A=Math.floor(u.length/k));var L=!1,C=!1;switch(i.tickInterval){case"years":"year"===b.unit&&(L=!0);break;case"half_year":A=7,"year"===b.unit&&(L=!0);break;case"months":A=1,"year"===b.unit&&(L=!0);break;case"months_fortnight":A=15,"year"!==b.unit&&"month"!==b.unit||(L=!0),30===S&&(C=!0);break;case"months_days":A=10,"month"===b.unit&&(L=!0),30===S&&(C=!0);break;case"week_days":A=8,"month"===b.unit&&(L=!0);break;case"days":A=1,"month"===b.unit&&(L=!0);break;case"hours":"day"===b.unit&&(L=!0);break;case"minutes_fives":case"seconds_fives":S%5!=0&&(C=!0);break;case"seconds_tens":S%10!=0&&(C=!0)}if("hours"===i.tickInterval||"minutes_fives"===i.tickInterval||"seconds_tens"===i.tickInterval||"seconds_fives"===i.tickInterval){if(!C)return!0}else if((S%A==0||L)&&!C)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(e,t){var i=this.w,a=this.formatDates(e),r=this.removeOverlappingTS(a);i.globals.timescaleLabels=r.slice(),new Ce(this.ctx).plotCoords()}},{key:"determineInterval",value:function(e){var t=24*e,i=60*t;switch(!0){case e/365>5:this.tickInterval="years";break;case e>800:this.tickInterval="half_year";break;case e>180:this.tickInterval="months";break;case e>90:this.tickInterval="months_fortnight";break;case e>60:this.tickInterval="months_days";break;case e>30:this.tickInterval="week_days";break;case e>2:this.tickInterval="days";break;case t>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(e){var t=e.firstVal,i=e.currentMonth,a=e.currentYear,r=e.daysWidthOnXAxis,s=e.numberOfYears,n=t.minYear,o=0,h=new Q(this.ctx),c="year";if(t.minDate>1||t.minMonth>0){var d=h.determineRemainingDaysOfYear(t.minYear,t.minMonth,t.minDate);o=(h.determineDaysOfYear(t.minYear)-d+1)*r,this.timeScaleArray.push({position:o,value:n=t.minYear+1,unit:c,year:n,month:P.monthMod(i+1)})}else 1===t.minDate&&0===t.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:c,year:a,month:P.monthMod(i+1)});for(var g=n,p=o,x=0;x1){h=(c.determineDaysOfMonths(a+1,t.minYear)-i+1)*s,o=P.monthMod(a+1);var p=r+g,x=P.monthMod(o),f=o;0===o&&(d="year",f=p,x=1,p+=g+=1),this.timeScaleArray.push({position:h,value:f,unit:d,year:p,month:x})}else this.timeScaleArray.push({position:h,value:o,unit:d,year:r,month:P.monthMod(a)});for(var m=o+1,v=h,w=0,l=1;wn.determineDaysOfMonths(u+1,b)&&(c=1,o="month",p=u+=1),u},g=(24-t.minHour)*r,p=h,x=d(c,i,a);0===t.minHour&&1===t.minDate?(g=0,p=P.monthMod(t.minMonth),o="month",c=t.minDate):1!==t.minDate&&0===t.minHour&&0===t.minMinute&&(g=0,p=h=t.minDate,x=d(c=h,i,a)),this.timeScaleArray.push({position:g,value:p,unit:o,year:this._getYear(a,x,0),month:P.monthMod(x),day:c});for(var f=g,m=0;mo.determineDaysOfMonths(k+1,r)&&(m=1,k+=1),{month:k,date:m}},d=function(A,k){return A>o.determineDaysOfMonths(k+1,r)?k+=1:k},g=60-(t.minMinute+t.minSecond/60),p=g*s,x=t.minHour+1,f=x;60===g&&(p=0,f=x=t.minHour);var m=i;f>=24&&(f=0,m+=1,h="day");var v=c(m,a).month;v=d(m,v),this.timeScaleArray.push({position:p,value:x,unit:h,day:m,hour:f,year:r,month:P.monthMod(v)}),f++;for(var w=p,l=0;l=24&&(f=0,h="day",v=c(m+=1,v).month,v=d(m,v));var u=this._getYear(r,v,0);this.timeScaleArray.push({position:w=60*s+w,value:0===f?m:f,unit:h,hour:f,day:m,year:u,month:P.monthMod(v)}),f++}}},{key:"generateMinuteScale",value:function(e){for(var h=e.minutesWidthOnXAxis,d=e.numberOfMinutes,g=e.currentMinute+1,p=e.currentDate,x=e.currentMonth,f=e.currentYear,m=e.currentHour,v=(60-e.currentSecond-e.currentMillisecond/1e3)*e.secondsWidthOnXAxis,w=0;w=60&&(g=0,24===(m+=1)&&(m=0)),this.timeScaleArray.push({position:v,value:g,unit:"minute",hour:m,minute:g,day:p,year:this._getYear(f,x,0),month:P.monthMod(x)}),v+=h,g++}},{key:"generateSecondScale",value:function(e){for(var h=e.secondsWidthOnXAxis,c=e.numberOfSeconds,d=e.currentSecond+1,g=e.currentMinute,p=e.currentDate,x=e.currentMonth,f=e.currentYear,m=e.currentHour,v=(1e3-e.currentMillisecond)/1e3*h,w=0;w=60&&(d=0,++g>=60&&(g=0,24==++m&&(m=0))),this.timeScaleArray.push({position:v,value:d,unit:"second",hour:m,minute:g,second:d,day:p,year:this._getYear(f,x,0),month:P.monthMod(x)}),v+=h,d++}},{key:"createRawDateString",value:function(e,t){var i=e.year;return 0===e.month&&(e.month=1),i+="-"+("0"+e.month.toString()).slice(-2),i+="day"===e.unit?"day"===e.unit?"-"+("0"+t).slice(-2):"-01":"-"+("0"+(e.day?e.day:"1")).slice(-2),i+="hour"===e.unit?"hour"===e.unit?"T"+("0"+t).slice(-2):"T00":"T"+("0"+(e.hour?e.hour:"0")).slice(-2),i+="minute"===e.unit?":"+("0"+t).slice(-2):":"+(e.minute?("0"+e.minute).slice(-2):"00"),i+="second"===e.unit?":"+("0"+t).slice(-2):":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(e){var t=this,i=this.w;return e.map(function(a){var r=a.value.toString(),s=new Q(t.ctx),n=t.createRawDateString(a,r),o=s.getDate(s.parseDate(n));if(t.utc||(o=s.getDate(s.parseDateWithTimezone(n))),void 0===i.config.xaxis.labels.format){var h="dd MMM",c=i.config.xaxis.labels.datetimeFormatter;"year"===a.unit&&(h=c.year),"month"===a.unit&&(h=c.month),"day"===a.unit&&(h=c.day),"hour"===a.unit&&(h=c.hour),"minute"===a.unit&&(h=c.minute),"second"===a.unit&&(h=c.second),r=s.formatDate(o,h)}else r=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:n,position:a.position,value:r,unit:a.unit,year:a.year,month:a.month}})}},{key:"removeOverlappingTS",value:function(e){var t,i=this,a=new z(this.ctx),r=!1;e.length>0&&e[0].value&&e.every(function(o){return o.value.length===e[0].value.length})&&(r=!0,t=a.getTextRects(e[0].value).width);var s=0;return e.map(function(o,h){if(h>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var c=r?t:a.getTextRects(e[s].value).width;return o.position>e[s].position+c+10?(s=h,o):null}return o}).filter(function(o){return null!==o})}},{key:"_getYear",value:function(e,t,i){return e+Math.floor(t/12)+i}}]),y}(),qt=function(){function y(e,t){Y(this,y),this.ctx=t,this.w=t.w,this.el=e}return F(y,[{key:"setupElements",value:function(){var e=this.w,t=e.globals,i=e.config,a=i.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].includes(a),t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].includes(a),t.isBarHorizontal=["bar","rangeBar","boxPlot"].includes(a)&&i.plotOptions.bar.horizontal,t.chartClass=".apexcharts".concat(t.chartID),t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),z.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas ".concat(t.chartClass.substring(1))}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(i.chart.offsetX,", ").concat(i.chart.offsetY,")")}),t.dom.Paper.node.style.background="dark"!==i.theme.mode||i.chart.background?"light"!==i.theme.mode||i.chart.background?i.chart.background:"#fff":"#424242",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),z.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendContainer=document.createElement("div"),Object.assign(t.dom.elLegendContainer.style,{position:"relative",height:"100%",width:"100%"}),t.dom.elLegendContainer.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendContainer.appendChild(t.dom.elLegendWrap),t.dom.elLegendForeign.appendChild(t.dom.elLegendContainer),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(e,t){var i=this.w,a=this.ctx,r=i.config,s=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},column:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},o=r.chart.type||"line",h=null,c=0;s.series.forEach(function(A,k){var S=e[k].type||o;n[S]?("rangeArea"===S?(n[S].series.push(s.seriesRangeStart[k]),n[S].seriesRangeEnd.push(s.seriesRangeEnd[k])):n[S].series.push(A),n[S].i.push(k),"column"!==S&&"bar"!==S||(i.globals.columnSeries=n.column)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(S)?h=S:"bar"===S?(n.column.series.push(A),n.column.i.push(k)):console.warn("You have specified an unrecognized series type (".concat(S,").")),o!==S&&"scatter"!==S&&c++}),c>0&&(h&&console.warn("Chart or series type ".concat(h," cannot appear with other chart or series types.")),n.column.series.length>0&&r.plotOptions.bar.horizontal&&(c-=n.column.series.length,n.column={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),s.comboCharts||(s.comboCharts=c>0);var d=new De(a,t),g=new Fe(a,t);a.pie=new lt(a);var p=new Ot(a);a.rangeBar=new Nt(a,t);var x=new Ht(a),f=[];if(s.comboCharts){var m,v,w=new Z(a);if(n.area.series.length>0&&(m=f).push.apply(m,$(w.drawSeriesByGroup(n.area,s.areaGroups,"area",d))),n.column.series.length>0)if(r.chart.stacked){var l=new rt(a,t);f.push(l.draw(n.column.series,n.column.i))}else a.bar=new ue(a,t),f.push(a.bar.draw(n.column.series,n.column.i));if(n.rangeArea.series.length>0&&f.push(d.draw(n.rangeArea.series,"rangeArea",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0&&(v=f).push.apply(v,$(w.drawSeriesByGroup(n.line,s.lineGroups,"line",d))),n.candlestick.series.length>0&&f.push(g.draw(n.candlestick.series,"candlestick",n.candlestick.i)),n.boxPlot.series.length>0&&f.push(g.draw(n.boxPlot.series,"boxPlot",n.boxPlot.i)),n.rangeBar.series.length>0&&f.push(a.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var u=new De(a,t,!0);f.push(u.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var b=new De(a,t,!0);f.push(b.draw(n.bubble.series,"bubble",n.bubble.i))}}else switch(r.chart.type){case"line":f=d.draw(s.series,"line");break;case"area":f=d.draw(s.series,"area");break;case"bar":r.chart.stacked?f=new rt(a,t).draw(s.series):(a.bar=new ue(a,t),f=a.bar.draw(s.series));break;case"candlestick":f=new Fe(a,t).draw(s.series,"candlestick");break;case"boxPlot":f=new Fe(a,t).draw(s.series,r.chart.type);break;case"rangeBar":f=a.rangeBar.draw(s.series);break;case"rangeArea":f=d.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":f=new Dt(a,t).draw(s.series);break;case"treemap":f=new jt(a,t).draw(s.series);break;case"pie":case"donut":case"polarArea":f=a.pie.draw(s.series);break;case"radialBar":f=p.draw(s.series);break;case"radar":f=x.draw(s.series);break;default:f=d.draw(s.series)}return f}},{key:"setSVGDimensions",value:function(){var e=this.w,t=e.globals,i=e.config;i.chart.width=i.chart.width||"100%",i.chart.height=i.chart.height||"auto",t.svgWidth=i.chart.width,t.svgHeight=i.chart.height;var a=P.getDimensions(this.el),r=i.chart.width.toString().split(/[0-9]+/g).pop();"%"===r?P.isNumber(a[0])&&(0===a[0].width&&(a=P.getDimensions(this.el.parentNode)),t.svgWidth=a[0]*parseInt(i.chart.width,10)/100):"px"!==r&&""!==r||(t.svgWidth=parseInt(i.chart.width,10));var s=String(i.chart.height).toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var n=P.getDimensions(this.el.parentNode);t.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else t.svgHeight=parseInt(i.chart.height,10);else t.svgHeight=t.axisCharts?t.svgWidth/1.61:t.svgWidth/1.2;t.svgWidth=Math.max(t.svgWidth,0),t.svgHeight=Math.max(t.svgHeight,0),z.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s&&(t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(t.svgHeight+(i.chart.sparkline.enabled?0:t.axisCharts?i.chart.parentHeightOffset:0),"px")),t.dom.elWrap.style.width="".concat(t.svgWidth,"px"),t.dom.elWrap.style.height="".concat(t.svgHeight,"px")}},{key:"shiftGraphPosition",value:function(){var e=this.w.globals,t=e.translateY;z.setAttrs(e.dom.elGraphical.node,{transform:"translate(".concat(e.translateX,", ").concat(t,")")})}},{key:"resizeNonAxisCharts",value:function(){var e=this.w,t=e.globals,i=0,a=e.config.chart.sparkline.enabled?1:15;a+=e.config.grid.padding.bottom,["top","bottom"].includes(e.config.legend.position)&&e.config.legend.show&&!e.config.legend.floating&&(i=new et(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var r=e.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),s=2.05*e.globals.radialSize;if(r&&!e.config.chart.sparkline.enabled&&0!==e.config.plotOptions.radialBar.startAngle){var n=P.getBoundingClientRect(r);s=n.bottom,s=Math.max(2.05*e.globals.radialSize,n.bottom-n.top)}var h=Math.ceil(s+t.translateY+i+a);t.dom.elLegendForeign&&t.dom.elLegendForeign.setAttribute("height",h),e.config.chart.height&&String(e.config.chart.height).includes("%")||(t.dom.elWrap.style.height="".concat(h,"px"),z.setAttrs(t.dom.Paper.node,{height:h}),t.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(h,"px"))}},{key:"coreCalculations",value:function(){new Xe(this.ctx).init()}},{key:"resetGlobals",value:function(){var e=this,t=function(){return e.w.config.series.map(function(){return[]})},i=new Ze,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=t(),a.seriesYvalues=t()}},{key:"isMultipleY",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:"xySettings",value:function(){var e=this.w,t=null;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position&&new Ye(this.ctx).drawXCrosshairs(),"back"===e.config.yaxis[0].crosshairs.position&&new Ye(this.ctx).drawYCrosshairs(),"datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Ut(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new Z(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(e){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var e=this,t=this.w;if(t.config.chart.brush.enabled&&"function"!=typeof t.config.chart.events.selection){var i=Array.isArray(t.config.chart.brush.targets)?t.config.chart.brush.targets:[t.config.chart.brush.target];i.forEach(function(a){var r=ApexCharts.getChartByID(a);r.w.globals.brushSource=e.ctx,"function"!=typeof r.w.config.chart.events.zoomed&&(r.w.config.chart.events.zoomed=function(){return e.updateSourceChart(r)}),"function"!=typeof r.w.config.chart.events.scrolled&&(r.w.config.chart.events.scrolled=function(){return e.updateSourceChart(r)})}),t.config.chart.events.selection=function(a,r){i.forEach(function(s){ApexCharts.getChartByID(s).ctx.updateHelpers._updateOptions({xaxis:{min:r.xaxis.min,max:r.xaxis.max}},!1,!1,!1,!1)})}}}}]),y}(),Zt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"_updateOptions",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise(function(n){var o=[t.ctx];r&&(o=t.ctx.getSyncedCharts()),t.ctx.w.globals.isExecCalled&&(o=[t.ctx],t.ctx.w.globals.isExecCalled=!1),o.forEach(function(h,c){var d=h.w;if(d.globals.shouldAnimate=a,i||(d.globals.resized=!0,d.globals.dataChanged=!0,a&&h.series.getPreviousPaths()),e&&"object"===J(e)&&(h.config=new me(e),e=Z.extendArrayProps(h.config,e,d),h.w.globals.chartID!==t.ctx.w.globals.chartID&&delete e.series,d.config=P.extend(d.config,e),s&&(d.globals.lastXAxis=e.xaxis?P.clone(e.xaxis):[],d.globals.lastYAxis=e.yaxis?P.clone(e.yaxis):[],d.globals.initialConfig=P.extend({},d.config),d.globals.initialSeries=P.clone(d.config.series),e.series))){for(var g=0;g2&&void 0!==arguments[2]&&arguments[2];return new Promise(function(r){var s,n=i.w;return n.globals.shouldAnimate=t,n.globals.dataChanged=!0,t&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?(0===(s=e.map(function(o,h){return i._extendSeries(o,h)})).length&&(s=[{data:[]}]),n.config.series=s):n.config.series=e.slice(),a&&(n.globals.initialConfig.series=P.clone(n.config.series),n.globals.initialSeries=P.clone(n.config.series)),i.ctx.update().then(function(){r(i.ctx)})})}},{key:"_extendSeries",value:function(e,t){var i=this.w,a=i.config.series[t];return E(E({},i.config.series[t]),{},{name:e.name?e.name:a?.name,color:e.color?e.color:a?.color,type:e.type?e.type:a?.type,group:e.group?e.group:a?.group,hidden:void 0!==e.hidden?e.hidden:a?.hidden,data:e.data?e.data:a?.data,zIndex:void 0!==e.zIndex?e.zIndex:t})}},{key:"toggleDataPointSelection",value:function(e,t){var i=this.w,a=null,r=".apexcharts-series[data\\:realIndex='".concat(e,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(r," path[j='").concat(t,"'], ").concat(r," circle[j='").concat(t,"'], ").concat(r," rect[j='").concat(t,"']")).members[0]:void 0===t&&(a=i.globals.dom.Paper.select("".concat(r," path[j='").concat(e,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(e)),a?(new z(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(e){var t=this.w;if(["min","max"].forEach(function(a){void 0!==e.xaxis[a]&&(t.config.xaxis[a]=e.xaxis[a],t.globals.lastXAxis[a]=e.xaxis[a])}),e.xaxis.categories&&e.xaxis.categories.length&&(t.config.xaxis.categories=e.xaxis.categories),t.config.xaxis.convertedCatToNumeric){var i=new be(e);e=i.convertCatToNumericXaxis(e,this.ctx)}return e}},{key:"forceYAxisUpdate",value:function(e){return e.chart&&e.chart.stacked&&"100%"===e.chart.stackType&&(Array.isArray(e.yaxis)?e.yaxis.forEach(function(t,i){e.yaxis[i].min=0,e.yaxis[i].max=100}):(e.yaxis.min=0,e.yaxis.max=100)),e}},{key:"revertDefaultAxisMinMax",value:function(e){var t=this,i=this.w,a=i.globals.lastXAxis,r=i.globals.lastYAxis;e&&e.xaxis&&(a=e.xaxis),e&&e.yaxis&&(r=e.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max,i.config.yaxis.map(function(n,o){i.globals.zoomed||void 0!==r[o]?function(n){void 0!==r[n]&&(i.config.yaxis[n].min=r[n].min,i.config.yaxis[n].max=r[n].max)}(o):void 0!==t.ctx.opts.yaxis[o]&&(n.min=t.ctx.opts.yaxis[o].min,n.max=t.ctx.opts.yaxis[o].max)})}}]),y}();He=typeof window<"u"?window:void 0,ht=function(y,e){var t=(void 0!==this?this:y).SVG=function(l){if(t.supported)return l=new t.Doc(l),t.parser.draw||t.prepare(),l};if(t.ns="http://www.w3.org/2000/svg",t.xmlns="http://www.w3.org/2000/xmlns/",t.xlink="http://www.w3.org/1999/xlink",t.svgjs="http://svgjs.dev",t.supported=!0,!t.supported)return!1;t.did=1e3,t.eid=function(l){return"Svgjs"+c(l)+t.did++},t.create=function(l){var u=e.createElementNS(this.ns,l);return u.setAttribute("id",this.eid(l)),u},t.extend=function(){var l,u;u=(l=[].slice.call(arguments)).pop();for(var b=l.length-1;b>=0;b--)if(l[b])for(var A in u)l[b].prototype[A]=u[A];t.Set&&t.Set.inherit&&t.Set.inherit()},t.invent=function(l){var u="function"==typeof l.create?l.create:function(){this.constructor.call(this,t.create(l.create))};return l.inherit&&(u.prototype=new l.inherit),l.extend&&t.extend(u,l.extend),l.construct&&t.extend(l.parent||t.Container,l.construct),u},t.adopt=function(l){return l?l.instance?l.instance:((u="svg"==l.nodeName?l.parentNode instanceof y.SVGElement?new t.Nested:new t.Doc:"linearGradient"==l.nodeName?new t.Gradient("linear"):"radialGradient"==l.nodeName?new t.Gradient("radial"):t[c(l.nodeName)]?new(t[c(l.nodeName)]):new t.Element(l)).type=l.nodeName,u.node=l,l.instance=u,u instanceof t.Doc&&u.namespace().defs(),u.setData(JSON.parse(l.getAttribute("svgjs:data"))||{}),u):null;var u},t.prepare=function(){var l=e.getElementsByTagName("body")[0],u=(l?new t.Doc(l):t.adopt(e.documentElement).nested()).size(2,0);t.parser={body:l||e.documentElement,draw:u.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:u.polyline().node,path:u.path().node,native:t.create("svg")}},t.parser={native:t.create("svg")},e.addEventListener("DOMContentLoaded",function(){t.parser.draw||t.prepare()},!1),t.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},t.utils={map:function(l,u){for(var b=l.length,A=[],k=0;k1?1:l)),g:~~(this.g+(this.destination.g-this.g)*l),b:~~(this.b+(this.destination.b-this.b)*l)}):this}}),t.Color.test=function(l){return t.regex.isHex.test(l+="")||t.regex.isRgb.test(l)},t.Color.isRgb=function(l){return l&&"number"==typeof l.r&&"number"==typeof l.g&&"number"==typeof l.b},t.Color.isColor=function(l){return t.Color.isRgb(l)||t.Color.test(l)},t.Array=function(l,u){0==(l=(l||[]).valueOf()).length&&u&&(l=u.valueOf()),this.value=this.parse(l)},t.extend(t.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(l){return l=l.valueOf(),Array.isArray(l)?l:this.split(l)}}),t.PointArray=function(l,u){t.Array.call(this,l,u||[[0,0]])},t.PointArray.prototype=new t.Array,t.PointArray.prototype.constructor=t.PointArray;for(var i={M:function(l,u,b){return u.x=b.x=l[0],u.y=b.y=l[1],["M",u.x,u.y]},L:function(l,u){return u.x=l[0],u.y=l[1],["L",l[0],l[1]]},H:function(l,u){return u.x=l[0],["H",l[0]]},V:function(l,u){return u.y=l[0],["V",l[0]]},C:function(l,u){return u.x=l[4],u.y=l[5],["C",l[0],l[1],l[2],l[3],l[4],l[5]]},Q:function(l,u){return u.x=l[2],u.y=l[3],["Q",l[0],l[1],l[2],l[3]]},S:function(l,u){return u.x=l[2],u.y=l[3],["S",l[0],l[1],l[2],l[3]]},Z:function(l,u,b){return u.x=b.x,u.y=b.y,["Z"]}},a="mlhvqtcsaz".split(""),r=0,s=a.length;rL);return A},bbox:function(){return t.parser.draw||t.prepare(),t.parser.path.setAttribute("d",this.toString()),t.parser.path.getBBox()}}),t.Number=t.invent({create:function(l,u){this.value=0,this.unit=u||"","number"==typeof l?this.value=isNaN(l)?0:isFinite(l)?l:l<0?-34e37:34e37:"string"==typeof l?(u=l.match(t.regex.numberAndUnit))&&(this.value=parseFloat(u[1]),"%"==u[5]?this.value/=100:"s"==u[5]&&(this.value*=1e3),this.unit=u[5]):l instanceof t.Number&&(this.value=l.valueOf(),this.unit=l.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(l){return l=new t.Number(l),new t.Number(this+l,this.unit||l.unit)},minus:function(l){return l=new t.Number(l),new t.Number(this-l,this.unit||l.unit)},times:function(l){return l=new t.Number(l),new t.Number(this*l,this.unit||l.unit)},divide:function(l){return l=new t.Number(l),new t.Number(this/l,this.unit||l.unit)},to:function(l){var u=new t.Number(this);return"string"==typeof l&&(u.unit=l),u},morph:function(l){return this.destination=new t.Number(l),l.relative&&(this.destination.value+=this.value),this},at:function(l){return this.destination?new t.Number(this.destination).minus(this).times(l).plus(this):this}}}),t.Element=t.invent({create:function(l){this._stroke=t.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=l)&&(this.type=l.nodeName,this.node.instance=this,this._stroke=l.getAttribute("stroke")||this._stroke)},extend:{x:function(l){return this.attr("x",l)},y:function(l){return this.attr("y",l)},cx:function(l){return null==l?this.x()+this.width()/2:this.x(l-this.width()/2)},cy:function(l){return null==l?this.y()+this.height()/2:this.y(l-this.height()/2)},move:function(l,u){return this.x(l).y(u)},center:function(l,u){return this.cx(l).cy(u)},width:function(l){return this.attr("width",l)},height:function(l){return this.attr("height",l)},size:function(l,u){var b=g(this,l,u);return this.width(new t.Number(b.width)).height(new t.Number(b.height))},clone:function(l){this.writeDataToDom();var u=f(this.node.cloneNode(!0));return l?l.add(u):this.after(u),u},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(l){return this.after(l).remove(),l},addTo:function(l){return l.put(this)},putIn:function(l){return l.add(this)},id:function(l){return this.attr("id",l)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var l=this.attr("class");return null==l?[]:l.trim().split(t.regex.delimiter)},hasClass:function(l){return-1!=this.classes().indexOf(l)},addClass:function(l){if(!this.hasClass(l)){var u=this.classes();u.push(l),this.attr("class",u.join(" "))}return this},removeClass:function(l){return this.hasClass(l)&&this.attr("class",this.classes().filter(function(u){return u!=l}).join(" ")),this},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l)},reference:function(l){return t.get(this.attr(l))},parent:function(l){var u=this;if(!u.node.parentNode)return null;if(u=t.adopt(u.node.parentNode),!l)return u;for(;u&&u.node instanceof y.SVGElement;){if("string"==typeof l?u.matches(l):u instanceof l)return u;if(!u.node.parentNode||"#document"==u.node.parentNode.nodeName)return null;u=t.adopt(u.node.parentNode)}},doc:function(){return this instanceof t.Doc?this:this.parent(t.Doc)},parents:function(l){var u=[],b=this;do{if(!(b=b.parent(l))||!b.node)break;u.push(b)}while(b.parent);return u},matches:function(l){return((u=this.node).matches||u.matchesSelector||u.msMatchesSelector||u.mozMatchesSelector||u.webkitMatchesSelector||u.oMatchesSelector).call(u,l);var u},native:function(){return this.node},svg:function(l){var u=e.createElementNS("http://www.w3.org/2000/svg","svg");if(!(l&&this instanceof t.Parent))return u.appendChild(l=e.createElementNS("http://www.w3.org/2000/svg","svg")),this.writeDataToDom(),l.appendChild(this.node.cloneNode(!0)),u.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");u.innerHTML=""+l.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var b=0,A=u.firstChild.childNodes.length;b":function(l){return-Math.cos(l*Math.PI)/2+.5},">":function(l){return Math.sin(l*Math.PI/2)},"<":function(l){return 1-Math.cos(l*Math.PI/2)}},t.morph=function(l){return function(u,b){return new t.MorphObj(u,b).at(l)}},t.Situation=t.invent({create:function(l){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new t.Number(l.duration).valueOf(),this.delay=new t.Number(l.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=l.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),t.FX=t.invent({create:function(l){this._target=l,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(l,u,b){"object"===J(l)&&(u=l.ease,b=l.delay,l=l.duration);var A=new t.Situation({duration:l||1e3,delay:b||0,ease:t.easing[u||"-"]||u});return this.queue(A),this},target:function(l){return l&&l instanceof t.Element?(this._target=l,this):this._target},timeToAbsPos:function(l){return(l-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(l){return this.situation.duration/this._speed*l+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=y.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){y.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(l){return("function"==typeof l||l instanceof t.Situation)&&this.situations.push(l),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof t.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var l,u=this.situation;if(u.init)return this;for(var b in u.animations){l=this.target()[b](),Array.isArray(l)||(l=[l]),Array.isArray(u.animations[b])||(u.animations[b]=[u.animations[b]]);for(var A=l.length;A--;)u.animations[b][A]instanceof t.Number&&(l[A]=new t.Number(l[A])),u.animations[b][A]=l[A].morph(u.animations[b][A])}for(var b in u.attrs)u.attrs[b]=new t.MorphObj(this.target().attr(b),u.attrs[b]);for(var b in u.styles)u.styles[b]=new t.MorphObj(this.target().style(b),u.styles[b]);return u.initialTransformation=this.target().matrixify(),u.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(l,u){var b=this.active;return this.active=!1,u&&this.clearQueue(),l&&this.situation&&(!b&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(l){var u=this.last();return this.target().on("finished.fx",function b(A){A.detail.situation==u&&(l.call(this,u),this.off("finished.fx",b))}),this._callStart()},during:function(l){var u=this.last(),b=function(A){A.detail.situation==u&&l.call(this,A.detail.pos,t.morph(A.detail.pos),A.detail.eased,u)};return this.target().off("during.fx",b).on("during.fx",b),this.after(function(){this.off("during.fx",b)}),this._callStart()},afterAll:function(l){var u=function b(A){l.call(this),this.off("allfinished.fx",b)};return this.target().off("allfinished.fx",u).on("allfinished.fx",u),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(l,u,b){return this.last()[b||"animations"][l]=u,this._callStart()},step:function(l){var u,b,A;l||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(u=Math.max(this.absPos,0),b=Math.floor(u),!0===this.situation.loops||bthis.lastPos&&S<=k&&(this.situation.once[S].call(this.target(),this.pos,k),delete this.situation.once[S]);return this.active&&this.target().fire("during",{pos:this.pos,eased:k,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=k,this):this},eachAt:function(){var l,u=this,b=this.target(),A=this.situation;for(var k in A.animations)l=[].concat(A.animations[k]).map(function(C){return"string"!=typeof C&&C.at?C.at(A.ease(u.pos),u.pos):C}),b[k].apply(b,l);for(var k in A.attrs)l=[k].concat(A.attrs[k]).map(function(M){return"string"!=typeof M&&M.at?M.at(A.ease(u.pos),u.pos):M}),b.attr.apply(b,l);for(var k in A.styles)l=[k].concat(A.styles[k]).map(function(M){return"string"!=typeof M&&M.at?M.at(A.ease(u.pos),u.pos):M}),b.style.apply(b,l);if(A.transforms.length){l=A.initialTransformation,k=0;for(var S=A.transforms.length;k=0;--b)this[v[b]]=null!=l[v[b]]?l[v[b]]:u[v[b]]},extend:{extract:function(){var l=p(this,0,1);p(this,1,0);var u=180/Math.PI*Math.atan2(l.y,l.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(u*Math.PI/180)+this.f*Math.sin(u*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(u*Math.PI/180)+this.e*Math.sin(-u*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:u,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new t.Matrix(this)}},clone:function(){return new t.Matrix(this)},morph:function(l){return this.destination=new t.Matrix(l),this},multiply:function(l){return new t.Matrix(this.native().multiply((u=l,u instanceof t.Matrix||(u=new t.Matrix(u)),u).native()));var u},inverse:function(){return new t.Matrix(this.native().inverse())},translate:function(l,u){return new t.Matrix(this.native().translate(l||0,u||0))},native:function(){for(var l=t.parser.native.createSVGMatrix(),u=v.length-1;u>=0;u--)l[v[u]]=this[v[u]];return l},toString:function(){return"matrix("+m(this.a)+","+m(this.b)+","+m(this.c)+","+m(this.d)+","+m(this.e)+","+m(this.f)+")"}},parent:t.Element,construct:{ctm:function(){return new t.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof t.Nested){var l=this.rect(1,1),u=l.node.getScreenCTM();return l.remove(),new t.Matrix(u)}return new t.Matrix(this.node.getScreenCTM())}}}),t.Point=t.invent({create:function(l,u){var b;b=Array.isArray(l)?{x:l[0],y:l[1]}:"object"===J(l)?{x:l.x,y:l.y}:null!=l?{x:l,y:u??l}:{x:0,y:0},this.x=b.x,this.y=b.y},extend:{clone:function(){return new t.Point(this)},morph:function(l,u){return this.destination=new t.Point(l,u),this}}}),t.extend(t.Element,{point:function(l,u){return new t.Point(l,u).transform(this.screenCTM().inverse())}}),t.extend(t.Element,{attr:function(l,u,b){if(null==l){for(l={},b=(u=this.node.attributes).length-1;b>=0;b--)l[u[b].nodeName]=t.regex.isNumber.test(u[b].nodeValue)?parseFloat(u[b].nodeValue):u[b].nodeValue;return l}if("object"===J(l))for(var A in l)this.attr(A,l[A]);else if(null===u)this.node.removeAttribute(l);else{if(null==u)return null==(u=this.node.getAttribute(l))?t.defaults.attrs[l]:t.regex.isNumber.test(u)?parseFloat(u):u;"stroke-width"==l?this.attr("stroke",parseFloat(u)>0?this._stroke:null):"stroke"==l&&(this._stroke=u),"fill"!=l&&"stroke"!=l||(t.regex.isImage.test(u)&&(u=this.doc().defs().image(u,0,0)),u instanceof t.Image&&(u=this.doc().defs().pattern(0,0,function(){this.add(u)}))),"number"==typeof u?u=new t.Number(u):t.Color.isColor(u)?u=new t.Color(u):Array.isArray(u)&&(u=new t.Array(u)),"leading"==l?this.leading&&this.leading(u):"string"==typeof b?this.node.setAttributeNS(b,l,u.toString()):this.node.setAttribute(l,u.toString()),!this.rebuild||"font-size"!=l&&"x"!=l||this.rebuild(l,u)}return this}}),t.extend(t.Element,{transform:function(l,u){var b;return"object"!==J(l)?(b=new t.Matrix(this).extract(),"string"==typeof l?b[l]:b):(b=new t.Matrix(this),u=!!u||!!l.relative,null!=l.a&&(b=u?b.multiply(new t.Matrix(l)):new t.Matrix(l)),this.attr("transform",b))}}),t.extend(t.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(t.regex.transforms).slice(0,-1).map(function(l){var u=l.trim().split("(");return[u[0],u[1].split(t.regex.delimiter).map(function(b){return parseFloat(b)})]}).reduce(function(l,u){return"matrix"==u[0]?l.multiply(x(u[1])):l[u[0]].apply(l,u[1])},new t.Matrix)},toParent:function(l){if(this==l)return this;var u=this.screenCTM(),b=l.screenCTM().inverse();return this.addTo(l).untransform().transform(b.multiply(u)),this},toDoc:function(){return this.toParent(this.doc())}}),t.Transformation=t.invent({create:function(l,u){if(arguments.length>1&&"boolean"!=typeof u)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(l))for(var b=0,A=this.arguments.length;b=0},index:function(l){return[].slice.call(this.node.childNodes).indexOf(l.node)},get:function(l){return t.adopt(this.node.childNodes[l])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(l,u){for(var b=this.children(),A=0,k=b.length;A=0;u--)l.childNodes[u]instanceof y.SVGElement&&f(l.childNodes[u]);return t.adopt(l).id(t.eid(l.nodeName))}function m(l){return Math.abs(l)>1e-37?l:0}["fill","stroke"].forEach(function(l){var u={};u[l]=function(b){if(void 0===b)return this;if("string"==typeof b||t.Color.isRgb(b)||b&&"function"==typeof b.fill)this.attr(l,b);else for(var A=n[l].length-1;A>=0;A--)null!=b[n[l][A]]&&this.attr(n.prefix(l,n[l][A]),b[n[l][A]]);return this},t.extend(t.Element,t.FX,u)}),t.extend(t.Element,t.FX,{translate:function(l,u){return this.transform({x:l,y:u})},matrix:function(l){return this.attr("transform",new t.Matrix(6==arguments.length?[].slice.call(arguments):l))},opacity:function(l){return this.attr("opacity",l)},dx:function(l){return this.x(new t.Number(l).plus(this instanceof t.FX?0:this.x()),!0)},dy:function(l){return this.y(new t.Number(l).plus(this instanceof t.FX?0:this.y()),!0)}}),t.extend(t.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(l){return this.node.getPointAtLength(l)}}),t.Set=t.invent({create:function(l){Array.isArray(l)?this.members=l:this.clear()},extend:{add:function(){for(var l=[].slice.call(arguments),u=0,b=l.length;u-1&&this.members.splice(u,1),this},each:function(l){for(var u=0,b=this.members.length;u=0},index:function(l){return this.members.indexOf(l)},get:function(l){return this.members[l]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(l){return new t.Set(l)}}}),t.FX.Set=t.invent({create:function(l){this.set=l}}),t.Set.inherit=function(){var l=[];for(var u in t.Shape.prototype)"function"==typeof t.Shape.prototype[u]&&"function"!=typeof t.Set.prototype[u]&&l.push(u);for(var u in l.forEach(function(A){t.Set.prototype[A]=function(){for(var k=0,S=this.members.length;k=0;l--)delete this.memory()[arguments[l]];return this},memory:function(){return this._memory||(this._memory={})}}),t.get=function(l){var u=e.getElementById(function(b){var A=(b||"").toString().match(t.regex.reference);if(A)return A[1]}(l)||l);return t.adopt(u)},t.select=function(l,u){return new t.Set(t.utils.map((u||e).querySelectorAll(l),function(b){return t.adopt(b)}))},t.extend(t.Parent,{select:function(l){return t.select(l,this.node)}});var v="abcdef".split("");if("function"!=typeof y.CustomEvent){var w=function(l,u){u=u||{bubbles:!1,cancelable:!1,detail:void 0};var b=e.createEvent("CustomEvent");return b.initCustomEvent(l,u.bubbles,u.cancelable,u.detail),b};w.prototype=y.Event.prototype,t.CustomEvent=w}else t.CustomEvent=y.CustomEvent;return t},void 0!==(Pe=function(){return ht(He,He.document)}.call(Ne,ut,Ne,Le))&&(Le.exports=Pe), +/*! svg.filter.js - v2.0.2 - 2016-02-24 + * https://github.com/wout/svg.filter.js + * Copyright (c) 2016 Wout Fierens; Licensed MIT */ +function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(s,n){return this.add(s,n),!s.attr("in")&&this.autoSetIn&&s.attr("in",this.source),s.attr("result")||s.attr("result",s),s},blend:function(s,n,o){return this.put(new SVG.BlendEffect(s,n,o))},colorMatrix:function(s,n){return this.put(new SVG.ColorMatrixEffect(s,n))},convolveMatrix:function(s){return this.put(new SVG.ConvolveMatrixEffect(s))},componentTransfer:function(s){return this.put(new SVG.ComponentTransferEffect(s))},composite:function(s,n,o){return this.put(new SVG.CompositeEffect(s,n,o))},flood:function(s,n){return this.put(new SVG.FloodEffect(s,n))},offset:function(s,n){return this.put(new SVG.OffsetEffect(s,n))},image:function(s){return this.put(new SVG.ImageEffect(s))},merge:function(){var s=[void 0];for(var n in arguments)s.push(arguments[n]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,s)))},gaussianBlur:function(s,n){return this.put(new SVG.GaussianBlurEffect(s,n))},morphology:function(s,n){return this.put(new SVG.MorphologyEffect(s,n))},diffuseLighting:function(s,n,o){return this.put(new SVG.DiffuseLightingEffect(s,n,o))},displacementMap:function(s,n,o,h,c){return this.put(new SVG.DisplacementMapEffect(s,n,o,h,c))},specularLighting:function(s,n,o,h){return this.put(new SVG.SpecularLightingEffect(s,n,o,h))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(s,n,o,h,c){return this.put(new SVG.TurbulenceEffect(s,n,o,h,c))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(s){var n=this.put(new SVG.Filter);return"function"==typeof s&&s.call(n,n),n}}),SVG.extend(SVG.Container,{filter:function(s){return this.defs().filter(s)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(s){return this.filterer=s instanceof SVG.Element?s:this.doc().filter(s),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(s){return this.filterer&&!0===s&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(s){return null==s?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",s)},result:function(s){return null==s?this.attr("result"):this.attr("result",s)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(s){return null==s?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",s)},result:function(s){return null==s?this.attr("result"):this.attr("result",s)},toString:function(){return this.result()}}});var y={blend:function(s,n){return this.parent()&&this.parent().blend(this,s,n)},colorMatrix:function(s,n){return this.parent()&&this.parent().colorMatrix(s,n).in(this)},convolveMatrix:function(s){return this.parent()&&this.parent().convolveMatrix(s).in(this)},componentTransfer:function(s){return this.parent()&&this.parent().componentTransfer(s).in(this)},composite:function(s,n){return this.parent()&&this.parent().composite(this,s,n)},flood:function(s,n){return this.parent()&&this.parent().flood(s,n)},offset:function(s,n){return this.parent()&&this.parent().offset(s,n).in(this)},image:function(s){return this.parent()&&this.parent().image(s)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(s,n){return this.parent()&&this.parent().gaussianBlur(s,n).in(this)},morphology:function(s,n){return this.parent()&&this.parent().morphology(s,n).in(this)},diffuseLighting:function(s,n,o){return this.parent()&&this.parent().diffuseLighting(s,n,o).in(this)},displacementMap:function(s,n,o,h){return this.parent()&&this.parent().displacementMap(this,s,n,o,h)},specularLighting:function(s,n,o,h){return this.parent()&&this.parent().specularLighting(s,n,o,h).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(s,n,o,h,c){return this.parent()&&this.parent().turbulence(s,n,o,h,c).in(this)}};SVG.extend(SVG.Effect,y),SVG.extend(SVG.ParentEffect,y),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(s){this.attr("in",s)}}});var e={blend:function(s,n,o){this.attr({in:s,in2:n,mode:o||"normal"})},colorMatrix:function(s,n){"matrix"==s&&(n=a(n)),this.attr({type:s,values:void 0===n?null:n})},convolveMatrix:function(s){s=a(s),this.attr({order:Math.sqrt(s.split(" ").length),kernelMatrix:s})},composite:function(s,n,o){this.attr({in:s,in2:n,operator:o})},flood:function(s,n){this.attr("flood-color",s),null!=n&&this.attr("flood-opacity",n)},offset:function(s,n){this.attr({dx:s,dy:n})},image:function(s){this.attr("href",s,SVG.xlink)},displacementMap:function(s,n,o,h,c){this.attr({in:s,in2:n,scale:o,xChannelSelector:h,yChannelSelector:c})},gaussianBlur:function(s,n){this.attr("stdDeviation",null!=s||null!=n?function(o){if(!Array.isArray(o))return o;for(var h=0,c=o.length,d=[];h1&&(W*=c=Math.sqrt(c),N*=c),d=(new SVG.Matrix).rotate(B).scale(1/W,1/N).rotate(-B),V=V.transform(d),x=(g=[(G=G.transform(d)).x-V.x,G.y-V.y])[0]*g[0]+g[1]*g[1],p=Math.sqrt(x),g[0]/=p,g[1]/=p,f=x<4?Math.sqrt(1-x/4):0,U===q&&(f*=-1),m=new SVG.Point((G.x+V.x)/2+f*-g[1],(G.y+V.y)/2+f*g[0]),v=new SVG.Point(V.x-m.x,V.y-m.y),w=new SVG.Point(G.x-m.x,G.y-m.y),l=Math.acos(v.x/Math.sqrt(v.x*v.x+v.y*v.y)),v.y<0&&(l*=-1),u=Math.acos(w.x/Math.sqrt(w.x*w.x+w.y*w.y)),w.y<0&&(u*=-1),q&&l>u&&(u+=2*Math.PI),!q&&ls.maxX-t.width&&(n=(a=s.maxX-t.width)-this.startPoints.box.x),null!=s.minY&&rs.maxY-t.height&&(o=(r=s.maxY-t.height)-this.startPoints.box.y),null!=s.snapToGrid&&(a-=a%s.snapToGrid,r-=r%s.snapToGrid,n-=n%s.snapToGrid,o-=o%s.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:n,y:o},!0):this.el.move(a,r));return i},y.prototype.end=function(e){var t=this.drag(e);this.el.fire("dragend",{event:e,p:t,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,t){"function"!=typeof e&&"object"!=typeof e||(t=e,e=!0);var i=this.remember("_draggable")||new y(this);return(e=void 0===e||e)?i.init(t||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function y(e){this.el=e,e.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,i,a){var r="string"!=typeof t?t:i[t];return a?r/2:r},this.pointCoords=function(t,i){var a=this.pointsList[t];return{x:this.pointCoord(a[0],i,"t"===t||"b"===t),y:this.pointCoord(a[1],i,"r"===t||"l"===t)}}}y.prototype.init=function(e,t){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var r in this.el.selectize.defaults)this.options[r]=this.el.selectize.defaults[r],void 0!==t[r]&&(this.options[r]=t[r]);var s=["points","pointsExclude"];for(var r in s){var n=this.options[s[r]];"string"==typeof n?n=n.length>0?n.split(/\s*,\s*/i):[]:"boolean"==typeof n&&"points"===s[r]&&(n=n?a:[]),this.options[s[r]]=n}this.options.points=[a,this.options.points].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)>-1})}),this.options.points=[this.options.points,this.options.pointsExclude].reduce(function(o,h){return o.filter(function(c){return h.indexOf(c)<0})}),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(e):this.selectRect(e),this.observe(),this.cleanup()},y.prototype.selectPoints=function(e){return this.pointSelection.isSelected=e,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},y.prototype.getPointArray=function(){var e=this.el.bbox();return this.el.array().valueOf().map(function(t){return[t[0]-e.x,t[1]-e.y]})},y.prototype.drawPoints=function(){for(var e=this,t=this.getPointArray(),i=0,a=t.length;i0&&this.parameters.box.height-n[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y+n[1]).size(this.parameters.box.width-n[0],this.parameters.box.height-n[1])}};break;case"rt":this.calc=function(r,s){var n=this.snapToGrid(r,s,2);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height-n[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).size(this.parameters.box.width+n[0],this.parameters.box.height-n[1])}};break;case"rb":this.calc=function(r,s){var n=this.snapToGrid(r,s,0);if(this.parameters.box.width+n[0]>0&&this.parameters.box.height+n[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+n[0]);n=this.checkAspectRatio(n),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+n[0],this.parameters.box.height+n[1])}};break;case"lb":this.calc=function(r,s){var n=this.snapToGrid(r,s,1);if(this.parameters.box.width-n[0]>0&&this.parameters.box.height+n[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+n[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-n[0]);n=this.checkAspectRatio(n,!0),this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).size(this.parameters.box.width-n[0],this.parameters.box.height+n[1])}};break;case"t":this.calc=function(r,s){var n=this.snapToGrid(r,s,2);if(this.parameters.box.height-n[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+n[1]).height(this.parameters.box.height-n[1])}};break;case"r":this.calc=function(r,s){var n=this.snapToGrid(r,s,0);if(this.parameters.box.width+n[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+n[0])}};break;case"b":this.calc=function(r,s){var n=this.snapToGrid(r,s,0);if(this.parameters.box.height+n[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+n[1])}};break;case"l":this.calc=function(r,s){var n=this.snapToGrid(r,s,1);if(this.parameters.box.width-n[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+n[0],this.parameters.box.y).width(this.parameters.box.width-n[0])}};break;case"rot":this.calc=function(r,s){var n=r+this.parameters.p.x,o=s+this.parameters.p.y,h=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),c=Math.atan2(o-this.parameters.box.y-this.parameters.box.height/2,n-this.parameters.box.x-this.parameters.box.width/2),d=this.parameters.rotation+180*(c-h)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(d-d%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(r,s){var n=this.snapToGrid(r,s,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),o=this.el.array().valueOf();o[this.parameters.i][0]=this.parameters.pointCoords[0]+n[0],o[this.parameters.i][1]=this.parameters.pointCoords[1]+n[1],this.el.plot(o)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:e}),SVG.on(window,"touchmove.resize",function(r){t.update(r||window.event)}),SVG.on(window,"touchend.resize",function(){t.done()}),SVG.on(window,"mousemove.resize",function(r){t.update(r||window.event)}),SVG.on(window,"mouseup.resize",function(){t.done()})},y.prototype.update=function(e){if(e){var t=this._extractPosition(e),i=this.transformPoint(t.x,t.y),a=i.x-this.parameters.p.x,r=i.y-this.parameters.p.y;this.lastUpdateCall=[a,r],this.calc(a,r),this.el.fire("resizing",{dx:a,dy:r,event:e})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},y.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},y.prototype.snapToGrid=function(e,t,i,a){var r;return r=void 0!==a?[(i+e)%this.options.snapToGrid,(a+t)%this.options.snapToGrid]:[(this.parameters.box.x+e+(1&(i=i??3)?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+t+(2&i?0:this.parameters.box.height))%this.options.snapToGrid],e<0&&(r[0]-=this.options.snapToGrid),t<0&&(r[1]-=this.options.snapToGrid),e-=Math.abs(r[0])n.maxX&&(e=n.maxX-r),void 0!==n.minY&&s+tn.maxY&&(t=n.maxY-s),[e,t]},y.prototype.checkAspectRatio=function(e,t){if(!this.options.saveAspectRatio)return e;var i=e.slice(),a=this.parameters.box.width/this.parameters.box.height,r=this.parameters.box.width+e[0],s=this.parameters.box.height-e[1],n=r/s;return na&&(i[0]=this.parameters.box.width-s*a,t&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new y(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var dt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","highlightSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new ce(this.ctx),this.ctx.axes=new wt(this.ctx),this.ctx.core=new qt(this.ctx.el,this.ctx),this.ctx.config=new me({}),this.ctx.data=new Je(this.ctx),this.ctx.grid=new Qe(this.ctx),this.ctx.graphics=new z(this.ctx),this.ctx.coreUtils=new Z(this.ctx),this.ctx.crosshairs=new Ye(this.ctx),this.ctx.events=new vt(this.ctx),this.ctx.exports=new Se(this.ctx),this.ctx.fill=new re(this.ctx),this.ctx.localization=new yt(this.ctx),this.ctx.options=new he,this.ctx.responsive=new kt(this.ctx),this.ctx.series=new se(this.ctx),this.ctx.theme=new At(this.ctx),this.ctx.formatters=new xe(this.ctx),this.ctx.titleSubtitle=new St(this.ctx),this.ctx.legend=new et(this.ctx),this.ctx.toolbar=new tt(this.ctx),this.ctx.tooltip=new st(this.ctx),this.ctx.dimensions=new Ce(this.ctx),this.ctx.updateHelpers=new Zt(this.ctx),this.ctx.zoomPanSelection=new Tt(this.ctx),this.ctx.w.globals.tooltip=new st(this.ctx)}}]),y}(),gt=function(){function y(e){Y(this,y),this.ctx=e,this.w=e.w}return F(y,[{key:"clear",value:function(e){var t=e.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:t})}},{key:"killSVG",value:function(e){e.each(function(){this.removeClass("*"),this.off(),this.stop()},!0),e.ungroup(),e.clear()}},{key:"clearDomElements",value:function(e){var t=this,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!e.isUpdating&&(a.parentNode.parentNode.style.minHeight="unset");var r=this.w.globals.dom.baseEl;r&&this.ctx.eventList.forEach(function(n){r.removeEventListener(n,t.ctx.events.documentEvent)});var s=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(s.Paper),s.Paper.remove(),s.elWrap=null,s.elGraphical=null,s.elLegendContainer=null,s.elLegendWrap=null,s.elLegendForeign=null,s.baseEl=null,s.elGridRect=null,s.elGridRectMask=null,s.elGridRectBarMask=null,s.elGridRectMarkerMask=null,s.elForecastMask=null,s.elNonForecastMask=null,s.elDefs=null}}]),y}(),Oe=new WeakMap,$t=function(){function y(e,t){Y(this,y),this.opts=t,this.ctx=this,this.w=new mt(t).init(),this.el=e,this.w.globals.cuid=P.randomId(),this.w.globals.chartID=this.w.config.chart.id?P.escapeString(this.w.config.chart.id):this.w.globals.cuid,new dt(this).initModules(),this.create=P.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return F(y,[{key:"render",value:function(){var e=this;return new Promise(function(t,i){if(null!==e.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),e.w.config.chart.id&&Apex._chartInstances.push({id:e.w.globals.chartID,group:e.w.config.chart.group,chart:e}),e.setLocale(e.w.config.chart.defaultLocale);var a=e.w.config.chart.events.beforeMount;"function"==typeof a&&a(e,e.w),e.events.fireEvent("beforeMount",[e,e.w]),window.addEventListener("resize",e.windowResizeHandler),function(g,p){var x=!1;if(g.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var f=g.getBoundingClientRect();"none"!==g.style.display&&0!==f.width||(x=!0)}var m=new ResizeObserver(function(v){x&&p.call(g,v),x=!0});g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(g.children).forEach(function(v){return m.observe(v)}):m.observe(g),Oe.set(p,m)}(e.el.parentNode,e.parentResizeHandler);var r=e.el.getRootNode&&e.el.getRootNode(),s=P.is("ShadowRoot",r),n=e.el.ownerDocument,o=s?r.getElementById("apexcharts-css"):n.getElementById("apexcharts-css");if(!o){var h;(o=document.createElement("style")).id="apexcharts-css",o.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n\n 0%,\n to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n direction: ltr !important;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\nrect.legend-mouseover-inactive,\n.legend-mouseover-inactive rect,\n.legend-mouseover-inactive path,\n.legend-mouseover-inactive circle,\n.legend-mouseover-inactive line,\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, .96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, .8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, .7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-z-value:empty,\n.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,\n.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,\n.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, .7);\n border: 1px solid rgba(0, 0, 0, .5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, .7);\n border: 1px solid rgba(0, 0, 0, .5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,\n.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,\n.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,\n.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,\n.apexcharts-pan-icon,\n.apexcharts-reset-icon,\n.apexcharts-selection-icon,\n.apexcharts-toolbar-custom-icon,\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,\n.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,\n.apexcharts-reset-icon,\n.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, .7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,\n.apexcharts-datalabel.apexcharts-element-hidden,\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-hidden-element-shown {\n opacity: 1;\n transition: 0.25s ease all;\n}\n\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value,\n.apexcharts-datalabels,\n.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n cursor: pointer;\n}\n\n.apexcharts-annotation-rect,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-gridline,\n.apexcharts-line,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-point-annotation-label,\n.apexcharts-radar-series path:not(.apexcharts-marker),\n.apexcharts-radar-series polygon,\n.apexcharts-toolbar svg,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-tooltip-active .apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,\n.resize-triggers,\n.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n\n.apexcharts-bar-goals-markers {\n pointer-events: none\n}\n\n.apexcharts-bar-shadows {\n pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers {\n pointer-events: none\n}\n';var c=(null===(h=e.opts.chart)||void 0===h?void 0:h.nonce)||e.w.config.chart.nonce;c&&o.setAttribute("nonce",c),s?r.prepend(o):n.head.appendChild(o)}var d=e.create(e.w.config.series,{});if(!d)return t(e);e.mount(d).then(function(){"function"==typeof e.w.config.chart.events.mounted&&e.w.config.chart.events.mounted(e,e.w),e.events.fireEvent("mounted",[e,e.w]),t(d)}).catch(function(g){i(g)})}else i(new Error("Element not found"))})}},{key:"create",value:function(e,t){var i=this,a=this.w;new dt(this).initModules();var r=this.w.globals;if(r.noData=!1,r.animationEnded=!1,this.responsive.checkResponsiveConfig(t),a.config.xaxis.convertedCatToNumeric&&new be(a.config).convertCatToNumericXaxis(a.config,this.ctx),null===this.el||(this.core.setupElements(),"treemap"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===r.svgWidth))return r.animationEnded=!0,null;var s=e;e.forEach(function(g,p){g.hidden&&(s=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:p}))});var n=Z.checkComboSeries(s,a.config.chart.type);r.comboCharts=n.comboCharts,r.comboBarCount=n.comboBarCount;var o=s.every(function(g){return g.data&&0===g.data.length});(0===s.length||o&&r.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(s),this.theme.init(),new de(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),r.noData&&r.collapsedSeries.length!==r.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),r.axisCharts&&(this.core.coreCalculations(),"category"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new Z(this).getLargestMarkerSize(),this.dimensions.plotCoords();var h=this.core.xySettings();this.grid.createGridMask();var c=this.core.plotChartType(s,h),d=new ge(this);return d.bringForward(),a.config.dataLabels.background.enabled&&d.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:c,xyRatios:h,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:"mount",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise(function(r,s){if(null===i.el)return s(new Error("Not enough data to display or target element not found"));(null===t||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Qe(i);var n,o,h=i.grid.drawGrid();if(i.annotations=new bt(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&(h&&a.globals.dom.elGraphical.add(h.el),null!=h&&null!==(n=h.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(h.elGridBorders)),Array.isArray(t.elGraph))for(var c=0;c0&&a.globals.memory.methodsToExec.forEach(function(x){x.method(x.params,!1,x.context)}),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),r(i)})}},{key:"destroy",value:function(){var e,t;window.removeEventListener("resize",this.windowResizeHandler),(t=Oe.get(e=this.parentResizeHandler))&&(t.disconnect(),Oe.delete(e));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach(function(a,r){a.id===P.escapeString(i)&&Apex._chartInstances.splice(r,1)}),new gt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,e.series&&(this.series.resetSeries(!1,!0,!1),e.series.length&&e.series[0].data&&(e.series=e.series.map(function(o,h){return t.updateHelpers._extendSeries(o,h)})),this.updateHelpers.revertDefaultAxisMinMax()),e.xaxis&&(e=this.updateHelpers.forceXAxisUpdate(e)),e.yaxis&&(e=this.updateHelpers.forceYAxisUpdate(e)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),e.theme&&(e=this.theme.updateThemeOptions(e)),this.updateHelpers._updateOptions(e,i,a,r,s)}},{key:"updateSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(e,t,i)}},{key:"appendSeries",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(e),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,t,i)}},{key:"appendData",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),r=0;r0&&void 0!==arguments[0])||arguments[0],!(arguments.length>1&&void 0!==arguments[1])||arguments[1])}},{key:"addEventListener",value:function(e,t){this.events.addEventListener(e,t)}},{key:"removeEventListener",value:function(e,t){this.events.removeEventListener(e,t)}},{key:"addXaxisAnnotation",value:function(e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a)}},{key:"addYaxisAnnotation",value:function(e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a)}},{key:"addPointAnnotation",value:function(e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a)}},{key:"clearAnnotations",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=this;e&&(t=e),t.annotations.clearAnnotations(t)}},{key:"removeAnnotation",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;t&&(i=t),i.annotations.removeAnnotation(i,e)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(e,t){return this.coreUtils.getSeriesTotalsXRange(e,t)}},{key:"getHighestValueInSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Xe(this.ctx).getMinYMaxY(e).highestY}},{key:"getLowestValueInSeries",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Xe(this.ctx).getMinYMaxY(e).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(e,t){return this.updateHelpers.toggleDataPointSelection(e,t)}},{key:"zoomX",value:function(e,t){this.ctx.toolbar.zoomUpdateOptions(e,t)}},{key:"setLocale",value:function(e){this.localization.setCurrentLocaleValues(e)}},{key:"dataURI",value:function(e){return new Se(this.ctx).dataURI(e)}},{key:"exportToCSV",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Se(this.ctx).exportToCSV(e)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var e=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){e.w.globals.resized=!0,e.w.globals.dataChanged=!1,e.ctx.update()},150)}},{key:"_windowResizeHandler",value:function(){var e=this.w.config.chart.redrawOnWindowResize;"function"==typeof e&&(e=e()),e&&this._windowResize()}}],[{key:"getChartByID",value:function(e){var t=P.escapeString(e);if(Apex._chartInstances){var i=Apex._chartInstances.filter(function(a){return a.id===t})[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),t=0;t2?r-2:0),n=2;n{l.r(D),l.d(D,{DetailModule:()=>Dt});var p=l(177),T=l(2665),w=l(6847),o=l(9417),c=l(6803),t=l(8699),S=l(6655),h=l(7110);const k=function(i){return{"is-invalid":i}};function $(i,r){if(1&i){const e=t.RV6();t.j41(0,"ngb-datepicker",24,25),t.bIt("dateSelect",function(s){t.eBV(e);const a=t.XpG();return t.Njj(a.onDateSelection(s))}),t.k0s()}if(2&i){const e=t.XpG(),n=t.sdS(21);t.Y8G("minDate",e.todayDate)("displayMonths",2)("dayTemplate",n)("weekdays",!1)("ngClass",t.eq3(5,k,e.helpers.isInvalid(e.form,"status")))}}function G(i,r){if(1&i){const e=t.RV6();t.j41(0,"span",26),t.bIt("mouseenter",function(){const a=t.eBV(e).$implicit,d=t.XpG();return t.Njj(d.hoveredDate=a)})("mouseleave",function(){t.eBV(e);const s=t.XpG();return t.Njj(s.hoveredDate=null)}),t.EFF(1),t.k0s()}if(2&i){const e=r.$implicit,n=r.focused,s=t.XpG();t.AVh("focused",n)("range",s.isRange(e))("faded",s.isHovered(e)||s.isInside(e)),t.Y8G("ngClass",t.eq3(8,k,s.helpers.isInvalid(s.form,"date_start"))),t.R7$(1),t.SpI(" ",e.day," ")}}function U(i,r){if(1&i&&(t.j41(0,"option",27),t.EFF(1),t.k0s()),2&i){const e=r.$implicit;t.Y8G("value",e.id),t.R7$(1),t.SpI(" ",e.fullname," ")}}let N=(()=>{class i{constructor(e,n,s,a,d){this.surveyor=n,this.activeModal=s,this.helpers=a,this.formBuilder=d,this.action="create",this.data={},this.form={},this.toDate=null,this.showDatePicker=!1,this.hoveredDate=null;const u=new Date;this.todayDate={year:u.getFullYear(),month:u.getMonth()+1,day:u.getDate()},this.surveyor.getAll({filter:{urole_id:{eq:"1b4701ab-da41-405b-9fe3-039a4daf0094"}},limit:10,sort:"-created_at"}).subscribe({next:({data:m})=>{this.dataSurveyor=m}}),this.fromDate=e.getToday(),this.toDate=e.getNext(e.getToday(),"d",1)}ngOnInit(){this.initForm()}initForm(){this.form=this.formBuilder.group({survey_start_date:[this.fromDate,o.k0.required],survey_end_date:[this.fromDate],assign_survey_to:[null,[o.k0.required]]})}formatDate(e){return`${e.year}-${e.month<10?"0"+e.month:e.month}-${e.day<10?"0"+e.day:e.day}`}formatAndPatchValues(){const e=this.formatDate(this.fromDate),n=this.toDate?this.formatDate(this.toDate):null;this.form.patchValue({survey_start_date:e,survey_end_date:n})}onSubmit(){this.formatAndPatchValues(),this.form.valid&&this.activeModal.close(this.form.value)}onSurveyorByChange(e){const n=this.form.get("assign_surveyor");n&&n.setValue(e.target.value)}toggleDatePicker(){this.showDatePicker=!this.showDatePicker}getFormattedDateRange(){if(this.fromDate){const e=`${this.fromDate.day}/${this.fromDate.month}/${this.fromDate.year}`;return this.toDate?`${e} - ${this.toDate.day}/${this.toDate.month}/${this.toDate.year}`:e}return""}onDateSelection(e){this.fromDate||this.toDate?this.fromDate&&!this.toDate&&e.after(this.fromDate)?this.toDate=e:(this.toDate=null,this.fromDate=e):this.fromDate=e}isHovered(e){return this.fromDate&&!this.toDate&&this.hoveredDate&&e.after(this.fromDate)&&e.before(this.hoveredDate)}isInside(e){return this.toDate&&e.after(this.fromDate)&&e.before(this.toDate)}isRange(e){return e.equals(this.fromDate)||this.toDate&&e.equals(this.toDate)||this.isInside(e)||this.isHovered(e)}static{this.\u0275fac=function(n){return new(n||i)(t.rXU(c.iF),t.rXU(S.D),t.rXU(c.Lw),t.rXU(h.V),t.rXU(o.ok))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-modal-assign-surveyor"]],inputs:{action:"action",data:"data"},standalone:!0,features:[t.aNF],decls:34,vars:7,consts:[[1,"modal-header"],[1,"modal-title"],[1,"d-flex","align-items-center"],[1,"rounded-icon","d-inline-flex","align-items-center","justify-content-center","rounded-circle","w-25%","h-25%",2,"width","40px","height","40px","background-color","#eef0fd"],[2,"color","#3f4ec4",3,"ngClass"],[1,"ms-2","my-auto","fw-bolder"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"formGroup"],[1,"mb-3"],["for","tanggal",1,"form-label"],[1,"text-danger","ms-1"],[1,"input-group",3,"click"],["placeholder","dd/mm/yyyy","type","text",1,"form-control",3,"readonly","value"],[1,"input-group-text",2,"cursor","pointer"],[1,"bi","bi-calendar4"],["outsideDays","hidden",3,"minDate","displayMonths","dayTemplate","weekdays","ngClass","dateSelect",4,"ngIf"],["t",""],["for","surveyor",1,"form-label"],["id","surveyor","formControlName","assign_survey_to",1,"form-select",3,"change"],["selected","",3,"value",4,"ngFor","ngForOf"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","btn-primary","me-2",2,"background-color","#eef0fd","color","#586af5",3,"click"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["outsideDays","hidden",3,"minDate","displayMonths","dayTemplate","weekdays","ngClass","dateSelect"],["dp",""],[1,"custom-day",3,"ngClass","mouseenter","mouseleave"],["selected","",3,"value"]],template:function(n,s){1&n&&(t.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),t.nrm(4,"i",4),t.k0s(),t.j41(5,"h5",5),t.EFF(6,"Tambah Surveyor"),t.k0s()()(),t.j41(7,"button",6),t.bIt("click",function(){return s.activeModal.dismiss("Cross click")}),t.k0s()(),t.j41(8,"div",7)(9,"form",8)(10,"div",9)(11,"label",10),t.EFF(12,"Tanggal"),t.j41(13,"span",11),t.EFF(14,"*"),t.k0s()(),t.j41(15,"div",12),t.bIt("click",function(){return s.toggleDatePicker()}),t.nrm(16,"input",13),t.j41(17,"span",14),t.nrm(18,"i",15),t.k0s()(),t.DNE(19,$,2,7,"ngb-datepicker",16),t.DNE(20,G,2,10,"ng-template",null,17,t.C5r),t.k0s(),t.j41(22,"div",9)(23,"label",18),t.EFF(24,"Survey"),t.j41(25,"span",11),t.EFF(26,"*"),t.k0s()(),t.j41(27,"select",19),t.bIt("change",function(d){return s.onSurveyorByChange(d)}),t.DNE(28,U,2,2,"option",20),t.k0s()()(),t.j41(29,"div",21)(30,"button",22),t.bIt("click",function(){return s.activeModal.close("Cancel")}),t.EFF(31," Batal "),t.k0s(),t.j41(32,"button",23),t.bIt("click",function(){return s.onSubmit()}),t.EFF(33," Simpan "),t.k0s()()()),2&n&&(t.R7$(4),t.Y8G("ngClass","create"===s.action?"bi bi-plus-circle":"bi bi-pencil-square"),t.R7$(5),t.Y8G("formGroup",s.form),t.R7$(7),t.Y8G("readonly",!0)("value",s.getFormattedDateRange()),t.R7$(3),t.Y8G("ngIf",s.showDatePicker),t.R7$(9),t.Y8G("ngForOf",s.dataSurveyor),t.R7$(4),t.Y8G("disabled",s.form.invalid))},dependencies:[p.MD,p.YU,p.Sq,p.bT,o.X1,o.qT,o.xH,o.y7,o.wz,o.BC,o.cb,o.j4,o.JD,c.yB,o.YN],styles:[".custom-day[_ngcontent-%COMP%]{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused[_ngcontent-%COMP%]{background-color:#e6e6e6}.custom-day.range[_ngcontent-%COMP%], .custom-day[_ngcontent-%COMP%]:hover{background-color:#0275d8;color:#fff}.custom-day.faded[_ngcontent-%COMP%]{background-color:#d87f0280}"]})}}return i})();var y=l(1413),b=l(6977);let X=(()=>{class i{constructor(e,n,s){this.activeModal=e,this.formBuilder=n,this.helpers=s,this.message="",this.form={}}static{this.\u0275fac=function(n){return new(n||i)(t.rXU(c.Lw),t.rXU(o.ok),t.rXU(h.V))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-alert"]],inputs:{message:"message"},standalone:!0,features:[t.aNF],decls:14,vars:0,consts:[[1,"modal-body","mx-auto"],[1,"icon-container","my-1","d-flex","justify-content-center"],[1,"bi","bi-exclamation-triangle","fs-3",2,"color","#ffab00"],[1,"text-center","px-5","my-3"],[1,"fw-bold","me-2"],[1,"d-flex","justify-content-center"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"]],template:function(n,s){1&n&&(t.j41(0,"div",0)(1,"div",1),t.nrm(2,"i",2),t.k0s(),t.j41(3,"div",3),t.EFF(4," Apakah anda yakin ingin melanjutkan ke bagian "),t.j41(5,"span",4),t.EFF(6,"Tindak Lanjuti"),t.k0s(),t.EFF(7,"? "),t.nrm(8,"br"),t.EFF(9," beberapa kondisi kerusakan jalan belum memiliki keterangan "),t.k0s(),t.j41(10,"div",5)(11,"button",6),t.bIt("click",function(){return s.activeModal.close(!1)}),t.EFF(12," Isi terlebih dulu "),t.k0s()()(),t.nrm(13,"p"))},dependencies:[p.MD,o.X1]})}}return i})();var f=l(1626),F=l(5471),v=l(8185),j=l(1991);let B=(()=>{class i extends j.G{constructor(e,n){super(e,n),this.http=e,this.helpers=n,this.endpoint="report-list/export"}static{this.\u0275fac=function(n){return new(n||i)(t.KVO(f.Qq),t.KVO(h.V))}}static{this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),L=(()=>{class i extends j.G{constructor(e,n){super(e,n),this.http=e,this.helpers=n,this.endpoint="rejected"}static{this.\u0275fac=function(n){return new(n||i)(t.KVO(f.Qq),t.KVO(h.V))}}static{this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var E=l(5211),x=l(2423);let M=(()=>{class i{constructor(e,n,s){this.activeModal=e,this.formBuilder=n,this.helpers=s,this.action="create",this.form={}}ngOnInit(){this.initForm()}initForm(){this.form=this.formBuilder.group({user_type:["Retak",[o.k0.required]],user_level:["Berat",[o.k0.required]]})}onSubmit(){this.form.valid&&this.activeModal.close(this.form.value)}onUserLevel(e){this.form.controls.user_level.patchValue(e.target.value)}onUserType(e){this.form.controls.user_type.patchValue(e.target.value)}static{this.\u0275fac=function(n){return new(n||i)(t.rXU(c.Lw),t.rXU(o.ok),t.rXU(h.V))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-kerusakan"]],inputs:{action:"action",data:"data"},standalone:!0,features:[t.aNF],decls:39,vars:2,consts:[[1,"modal-body"],[1,"rounded-icon","d-inline-flex","align-items-center","justify-content-center","rounded-circle","w-25%","h-25%",2,"width","40px","height","40px","background-color","#eef0fd"],[1,"bi","bi-pencil-square",2,"color","#3f4ec4"],[3,"formGroup"],[1,"row","fw-medium","d-flex","align-items-center","mt-4"],[1,"col-md-4"],[1,"my-auto"],[1,"col-md-8"],["aria-label","Default select example",1,"form-select","fw-bolder",2,"background","#eef0fd","height","48px",3,"change"],[1,"bi","bi-chevron-down"],["value","Retak"],["value","Berlubang"],["value","Bergelombang"],["value","Terkelupas"],["value","PermukaanKasar"],["value","Berat"],["value","Sedang"],["value","Ringan"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"],["type","button",1,"btn","btn-primary",3,"disabled","click"]],template:function(n,s){1&n&&(t.j41(0,"div",0)(1,"div",1),t.nrm(2,"i",2),t.k0s(),t.j41(3,"form",3)(4,"div",4)(5,"div",5)(6,"p",6),t.EFF(7,"Jenis Kerusakan"),t.k0s()(),t.j41(8,"div",7)(9,"select",8),t.bIt("change",function(d){return s.onUserType(d)}),t.nrm(10,"i",9),t.j41(11,"option",10),t.EFF(12,"Retak"),t.k0s(),t.j41(13,"option",11),t.EFF(14,"Berlubang"),t.k0s(),t.j41(15,"option",12),t.EFF(16,"Bergelombang"),t.k0s(),t.j41(17,"option",13),t.EFF(18,"Terkelupas"),t.k0s(),t.j41(19,"option",14),t.EFF(20,"Permukaan Kasar"),t.k0s()()()(),t.j41(21,"div",4)(22,"div",5)(23,"p",6),t.EFF(24,"Tingkat Kerusakan"),t.k0s()(),t.j41(25,"div",7)(26,"select",8),t.bIt("change",function(d){return s.onUserLevel(d)}),t.nrm(27,"i",9),t.j41(28,"option",15),t.EFF(29,"Berat"),t.k0s(),t.j41(30,"option",16),t.EFF(31,"Sedang"),t.k0s(),t.j41(32,"option",17),t.EFF(33,"Ringan"),t.k0s()()()()(),t.j41(34,"div",18)(35,"button",19),t.bIt("click",function(){return s.activeModal.close(!1)}),t.EFF(36," Batal "),t.k0s(),t.j41(37,"button",20),t.bIt("click",function(){return s.onSubmit()}),t.EFF(38," Simpan "),t.k0s()()()),2&n&&(t.R7$(3),t.Y8G("formGroup",s.form),t.R7$(34),t.Y8G("disabled",s.form.invalid))},dependencies:[p.MD,c.zH,c._f,o.X1,o.qT,o.xH,o.y7,o.cb,o.j4]})}}return i})();var V=l(2257),_=l(7181),O=l(1985);let Y=(()=>{class i{constructor(e){this.http=e}static{this.\u0275fac=function(n){return new(n||i)(t.KVO(f.Qq))}}static{this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var P=l(1200);const A=["map"];function K(i,r){1&i&&(t.j41(0,"div",28)(1,"div",29)(2,"span",30),t.EFF(3,"Loading..."),t.k0s()(),t.j41(4,"div",31)(5,"h6",32),t.EFF(6," Proses validasi kerusakan... "),t.k0s(),t.j41(7,"p",33),t.EFF(8," Tunggu sebentar lagi, dalam proses validasi gambar kerusakan jalan. "),t.k0s()()())}function J(i,r){if(1&i&&(t.j41(0,"div",34)(1,"p",35),t.EFF(2," Jenis kerusakan dan tipe kerusakan berdasarkan gambar tersebut yang benar adalah : "),t.k0s(),t.j41(3,"div",36)(4,"span",21),t.EFF(5,"Jenis Kerusakan :\xa0"),t.k0s(),t.j41(6,"span",33),t.EFF(7),t.k0s()(),t.j41(8,"div",36)(9,"span",21),t.EFF(10,"Tingkat Kerusakan :\xa0"),t.k0s(),t.j41(11,"span",33),t.EFF(12),t.k0s()()()),2&i){const e=t.XpG(3);t.R7$(7),t.JRh(e.type_predict),t.R7$(5),t.JRh(e.level_predict)}}function H(i,r){if(1&i){const e=t.RV6();t.j41(0,"div",37)(1,"div",38),t.bIt("click",function(){t.eBV(e);const s=t.XpG(3);return t.Njj(s.changeDetailBasedOnRecommendation())}),t.EFF(2," Ganti Data Sekarang "),t.k0s(),t.j41(3,"div",39),t.bIt("click",function(){t.eBV(e);const s=t.XpG(3);return t.Njj(s.laterRecomend())}),t.EFF(4," Nanti "),t.k0s()()}}function Q(i,r){if(1&i){const e=t.RV6();t.j41(0,"div",18)(1,"div",19),t.nrm(2,"i",20),t.j41(3,"div",21),t.EFF(4,"Sistem Rekomendasi"),t.k0s()(),t.j41(5,"div",22)(6,"button",23),t.bIt("click",function(){t.eBV(e);const s=t.XpG(2);return t.Njj(s.fetchImageAndDisplay())}),t.nrm(7,"i",24),t.EFF(8," Gunakan AI "),t.k0s(),t.DNE(9,K,9,0,"div",25),t.DNE(10,J,13,2,"div",26),t.k0s(),t.DNE(11,H,5,0,"div",27),t.k0s()}if(2&i){const e=t.XpG(2);t.R7$(6),t.Y8G("disabled",e.isLoading),t.R7$(3),t.Y8G("ngIf",e.isLoading),t.R7$(1),t.Y8G("ngIf",e.showRecommend),t.R7$(1),t.Y8G("ngIf",e.showRecommend)}}function q(i,r){if(1&i){const e=t.RV6();t.j41(0,"i",42),t.bIt("click",function(){t.eBV(e);const s=t.XpG(3);return t.Njj(s.onType(s.segmentData.id))}),t.k0s()}if(2&i){const e=t.XpG(3);t.Y8G("id","changeType"+e.index)}}function W(i,r){if(1&i&&(t.j41(0,"div",40),t.DNE(1,q,1,1,"i",41),t.k0s()),2&i){const e=t.XpG(2);t.R7$(1),t.Y8G("ngIf","PROG"===e.statusLaporan)}}function z(i,r){if(1&i&&(t.j41(0,"div"),t.nrm(1,"app-lightbox",43),t.k0s()),2&i){const e=r.$implicit;t.R7$(1),t.Y8G("data",e)}}function Z(i,r){if(1&i&&(t.j41(0,"div",6),t.DNE(1,Q,12,4,"div",7),t.j41(2,"div",8)(3,"div",9),t.EFF(4,"Jenis Kerusakan"),t.k0s(),t.j41(5,"div",10),t.EFF(6),t.k0s(),t.DNE(7,W,2,1,"div",11),t.k0s(),t.j41(8,"div",12)(9,"div",9),t.EFF(10,"Tingkat Kerusakan"),t.k0s(),t.j41(11,"div",13),t.EFF(12),t.k0s()(),t.j41(13,"div",12)(14,"div",9),t.EFF(15,"Nama"),t.k0s(),t.j41(16,"div",13),t.EFF(17),t.k0s()(),t.j41(18,"div",12)(19,"div",9),t.EFF(20," Latitude & Longitude "),t.k0s(),t.j41(21,"div",10)(22,"span"),t.EFF(23),t.k0s(),t.nrm(24,"br",14),t.j41(25,"span"),t.EFF(26),t.k0s()()(),t.j41(27,"div",12)(28,"div",9),t.EFF(29,"Panjang"),t.k0s(),t.j41(30,"div",13),t.EFF(31),t.nI1(32,"number"),t.k0s()(),t.j41(33,"div",12)(34,"div",9),t.EFF(35,"Foto"),t.k0s(),t.j41(36,"div",15),t.DNE(37,z,2,1,"div",16),t.k0s()(),t.j41(38,"div"),t.nrm(39,"app-map",17),t.k0s()()),2&i){const e=t.XpG();t.R7$(1),t.Y8G("ngIf",e.show&&"PROG"===e.statusLaporan),t.R7$(5),t.JRh(e.segmenType),t.R7$(1),t.Y8G("ngIf",e.isPNGL()),t.R7$(5),t.JRh(e.segmenLevel),t.R7$(5),t.JRh(null==e.segmentData||null==e.segmentData.segmen?null:e.segmentData.segmen.name),t.R7$(6),t.SpI(" [ ",e.coordinates[1]," ] , "),t.R7$(3),t.SpI(" [ ",e.coordinates[0]," ] "),t.R7$(5),t.SpI(" ",e.segmentData.segmen.length?t.i5U(32,13,e.segmentData.segmen.length,"1.2-2"):"-"," m "),t.R7$(6),t.Y8G("ngForOf",e.segmentData.photos),t.R7$(2),t.Y8G("allowDragging",!0)("showOption",!1)("showStatus",!1)("polylineData",e.segmentData)}}let R=(()=>{class i{constructor(e,n,s,a,d,u,m){this.loading=e,this.http=n,this.auth=s,this.machine=a,this.api=d,this.helpers=u,this.modal=m,this.show=!1,this.showRecommend=!1,this.isLoading=!1,this.coordinates=[],this.accordionData={},this.dataUpdateSubs$=new y.B,this.selectType="",this.selectLevel="",this.abs_pathUrl="",this.predict_road="",this.type_predict="",this.level_predict=""}laterRecomend(){this.show=!1}ngOnInit(){if(this.segmenType=this.segmentData.user_type,this.segmenLevel=this.segmentData.user_level,"-"===this.segmenType&&"-"===this.segmenLevel&&(this.show=!0),this.segmentData&&this.segmentData.photos){let n=this.segmentData.photos.map(s=>s.abs_path);this.abs_pathUrl=n[0]}const e=JSON.parse(this.segmentData.segmen.geojson);this.coordinates=e.coordinates}onType(e){const n=this.modal.open(M);n.componentInstance.data=e,n.result.then(s=>{s&&this.api.update(e,s).pipe((0,b.Q)(this.dataUpdateSubs$)).subscribe({next:()=>{this.helpers.toast("success","Data berhasil diubah"),this.api.getById(this.segmentData.id).pipe().subscribe({next:({data:a})=>{this.segmenLevel=a.user_level,this.segmenType=a.user_type}})},error:()=>{this.helpers.toast("error","Data gagal diubah")}})},s=>{})}fetchImageAndDisplay(){let e=this.abs_pathUrl;e=e.replace(/^https?:\/\/[^\/]+/,""),this.getBase64ImageFromURL(e).subscribe(n=>{const s=this.getMimeTypeFromUrl(e);this.base64Image=`data:${s};base64,${n}`;const a=this.base64ToFile(n,s,`image.${s.split("/")[1]}`);this.sendImageToEndpoint(a)},n=>{console.error("Error fetching image:",n)})}base64ToFile(e,n,s){const a=atob(e),d=new ArrayBuffer(a.length),u=new Uint8Array(d);for(let g=0;g{const s=new Image;s.crossOrigin="Anonymous",s.src=e,s.onload=()=>{const a=document.createElement("canvas");a.width=s.width,a.height=s.height;const d=a.getContext("2d");if(d){d.drawImage(s,0,0);const u=this.getMimeTypeFromUrl(e),m=a.toDataURL(u).replace(/^data:image\/(png|jpeg);base64,/,"");n.next(m),n.complete()}else n.error("Unable to get 2D context")},s.onerror=a=>n.error(a)})}onFileSelected(e){const n=e.target.files[0];n&&this.sendImageToEndpoint(n)}sendImageToEndpoint(e){this.isLoading=!0,this.showRecommend=!1;const s=new FormData;s.append("image",e),this.http.post("https://api-model.roadreport.id//predict-road",s).subscribe(a=>{this.predict_road=a.predicted_label;const d=this.predict_road.split(" ");2===d.length&&(this.type_predict=d[0],this.level_predict=d[1]),this.isLoading=!1,this.showRecommend=!0},a=>{})}changeDetailBasedOnRecommendation(){this.segmentData&&this.segmentData.photos&&this.segmentData.photos.map(n=>n.abs_path),this.api.update(this.segmentData.id,{user_type:this.type_predict,user_level:this.level_predict}).pipe((0,b.Q)(this.dataUpdateSubs$)).subscribe({next:()=>{this.api.getById(this.segmentData.id).pipe().subscribe({next:({data:e})=>{this.segmenLevel=e.user_level,this.segmenType=e.user_type}}),this.helpers.toast("success","Data berhasil diubah")},error:()=>{this.helpers.toast("error","Data gagal diubah")}})}onDetail(e){this.modal.open(_.$).componentInstance.data=e}isPNGL(){const e=this.auth.getLoggedUser();return!!e&&"SADM"===e.role.code}parsing(e){return JSON.parse(e).reverse().join(", ")}static{this.\u0275fac=function(n){return new(n||i)(t.rXU(x.U),t.rXU(f.Qq),t.rXU(F.u),t.rXU(Y),t.rXU(P.B),t.rXU(h.V),t.rXU(c.Bq))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-segment"]],viewQuery:function(n,s){if(1&n&&t.GBs(A,5),2&n){let a;t.mGM(a=t.lsd())&&(s.Map=a.first)}},inputs:{segmentData:"segmentData",index:"index",statusLaporan:"statusLaporan"},standalone:!0,features:[t.aNF],decls:8,vars:3,consts:[["ngbAccordion","","id","changeType",1,"accordion","mb-3",3,"id"],["ngbAccordionItem","",1,"accordion-item","border-0",2,"background","#eef0fd",3,"collapsed"],["ngbAccordionHeader","",1,"accordion-header"],["ngbAccordionButton","",1,"accordion-button","fw-bolder",2,"background","#eef0fd"],["ngbAccordionCollapse","",1,"accordion-collapse","collapse","show"],["ngbAccordionBody","",1,"accordion-body"],[1,"data-pelapor"],["class","content bg-light px-4 py-3",4,"ngIf"],[1,"row","py-3","fw-medium","d-md-flex"],[1,"col-md-3","text-body-tertiary"],[1,"col-md-8"],["class","col-md-1",4,"ngIf"],[1,"row","py-3","fw-medium"],[1,"col-md-6"],[1,"d-lg-none","d-md-none","d-sm-none"],[1,"col-md-6","d-flex","gap-2"],[4,"ngFor","ngForOf"],[3,"allowDragging","showOption","showStatus","polylineData"],[1,"content","bg-light","px-4","py-3"],[1,"d-flex",2,"align-items","center"],[1,"bi","bi-gear","me-2"],[2,"color","#1b1d21"],[1,"ms-0","ms-lg-4","ms-md-4","mt-2"],[1,"btn","btn-outline-primary","my-2",3,"disabled","click"],[1,"bi","bi-lightbulb"],["class","my-3 d-lg-flex d-md-flex align-items-center",4,"ngIf"],["class","recomend",4,"ngIf"],["class","d-block d-lg-flex d-md-flex d-sm-flex ms-0 ms-lg-4 ms-md-4 my-3",4,"ngIf"],[1,"my-3","d-lg-flex","d-md-flex","align-items-center"],["role","status",1,"spinner-border","text-primary","me-3","py-auto"],[1,"visually-hidden"],[1,"loading-information"],[1,"font-weight-bold"],[1,"text-body-tertiary"],[1,"recomend"],[1,"text-body-tertiary","text-justify",2,"text-align","justify"],[1,"d-block","d-lg-flex","d-md-flex","d-sm-flex","mb-2","mb-lg-0","mb-md-0","mb-sm-0"],[1,"d-block","d-lg-flex","d-md-flex","d-sm-flex","ms-0","ms-lg-4","ms-md-4","my-3"],[1,"me-3","text-primary","fw-bolder","text-left",2,"cursor","pointer",3,"click"],[1,"secondary-text","fw-bolder","text-left",2,"cursor","pointer",3,"click"],[1,"col-md-1"],["id","changeType","class","bi bi-pencil-square","style","\n width: 24px;\n height: 24px;\n color: black;\n cursor: pointer;\n ",3,"id","click",4,"ngIf"],["id","changeType",1,"bi","bi-pencil-square",2,"width","24px","height","24px","color","black","cursor","pointer",3,"id","click"],[1,"d-flex","rounded-2","me-2",2,"cursor","pointer",3,"data"]],template:function(n,s){1&n&&(t.j41(0,"div",0)(1,"div",1)(2,"h2",2)(3,"button",3),t.EFF(4),t.k0s()(),t.j41(5,"div",4)(6,"div",5),t.DNE(7,Z,40,16,"ng-template"),t.k0s()()()()),2&n&&(t.Y8G("id","changeType"+s.index),t.R7$(1),t.Y8G("collapsed",!0),t.R7$(3),t.SpI(" Segmen Jalan ",s.index+1," "))},dependencies:[c._f,c.WP,c.r6,c.tW,c.x7,c.UA,c.$R,p.MD,p.Sq,p.bT,p.QX,V.i,_.$,o.YN,c.VR]})}}return i})();function tt(i,r){if(1&i){const e=t.RV6();t.j41(0,"button",22),t.bIt("click",function(){t.eBV(e);const s=t.XpG();return t.Njj(s.reportReject())}),t.EFF(1," Tolak Laporan "),t.k0s()}if(2&i){const e=t.XpG();t.Y8G("disabled","RJT"===(null==e.reportDetails||null==e.reportDetails.status_report?null:e.reportDetails.status_report.id)||"FOLUP"===(null==e.reportDetails||null==e.reportDetails.status_report?null:e.reportDetails.status_report.id)||"DONE"===(null==e.reportDetails||null==e.reportDetails.status_report?null:e.reportDetails.status_report.id)||"RPR"===(null==e.reportDetails||null==e.reportDetails.status_report?null:e.reportDetails.status_report.id)||"FIXED"===(null==e.reportDetails||null==e.reportDetails.status_report?null:e.reportDetails.status_report.id))}}function et(i,r){if(1&i){const e=t.RV6();t.j41(0,"button",24),t.bIt("click",function(){t.eBV(e);const s=t.XpG(2);return t.Njj(s.goToFollowUp())}),t.EFF(1," Tindak Lanjuti "),t.k0s()}}function nt(i,r){if(1&i&&(t.j41(0,"div"),t.DNE(1,et,2,0,"button",23),t.k0s()),2&i){const e=t.XpG();t.R7$(1),t.Y8G("ngIf",e.isPNGL()&&e.showButtonCompleted)}}function st(i,r){if(1&i){const e=t.RV6();t.j41(0,"div",25)(1,"div",26),t.nrm(2,"i",27),t.j41(3,"div",28),t.EFF(4,"Survei"),t.k0s()(),t.j41(5,"div",29)(6,"div",30)(7,"p",31),t.EFF(8," Kondisi jalan membutuhkan survey untuk menindak lanjuti laporan, silahkan klik tombol survey untuk memberikan tugas kepada surveyor. "),t.k0s()()(),t.j41(9,"div",32)(10,"button",33),t.bIt("click",function(){t.eBV(e);const s=t.XpG();return t.Njj(s.onCreateSurveyor())}),t.EFF(11," Survei Sekarang "),t.k0s()()()}}function it(i,r){1&i&&(t.j41(0,"div",34)(1,"div",35),t.nrm(2,"i",27),t.j41(3,"div",36),t.EFF(4," Laporan "),t.j41(5,"span",28),t.EFF(6," sedang"),t.k0s(),t.EFF(7," disurvei "),t.k0s()()())}function at(i,r){if(1&i&&(t.j41(0,"div")(1,"div",46),t.nrm(2,"app-lightbox",47),t.k0s()()),2&i){const e=r.$implicit;t.R7$(2),t.Y8G("data",e)}}function rt(i,r){if(1&i&&(t.j41(0,"div"),t.DNE(1,at,3,1,"div",45),t.k0s()),2&i){const e=t.XpG(2);t.R7$(1),t.Y8G("ngForOf",null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.photos)}}function ot(i,r){if(1&i){const e=t.RV6();t.j41(0,"div",37)(1,"div",35),t.nrm(2,"i",38),t.j41(3,"div",36),t.EFF(4," Laporan "),t.j41(5,"span",28),t.EFF(6," sudah"),t.k0s(),t.EFF(7," disurvei "),t.k0s()(),t.j41(8,"button",39),t.bIt("click",function(){t.eBV(e);const s=t.sdS(11);return t.Njj(s.toggle())}),t.EFF(9," Lihat hasil "),t.k0s(),t.j41(10,"div",40,41),t.bIt("ngbCollapseChange",function(s){t.eBV(e);const a=t.XpG();return t.Njj(a.isCollapsed=s)}),t.DNE(12,rt,2,1,"div",14),t.j41(13,"div",42)(14,"div",43),t.EFF(15,"Tingkat Kerusakan"),t.k0s(),t.j41(16,"div",44),t.EFF(17),t.k0s()(),t.j41(18,"div",42)(19,"div",43),t.EFF(20,"Tipe Kerusakan"),t.k0s(),t.j41(21,"div",44),t.EFF(22),t.k0s()(),t.j41(23,"div",42)(24,"div",43),t.EFF(25,"Kedalaman Lubang"),t.k0s(),t.j41(26,"div",44),t.EFF(27),t.k0s()(),t.j41(28,"div",42)(29,"div",43),t.EFF(30,"Panjang Kerusakan"),t.k0s(),t.j41(31,"div",44),t.EFF(32),t.j41(33,"span"),t.EFF(34,"m"),t.k0s()()(),t.j41(35,"div",42)(36,"div",43),t.EFF(37,"Lebar Kerusakan"),t.k0s(),t.j41(38,"div",44),t.EFF(39),t.j41(40,"span"),t.EFF(41,"m"),t.k0s()()(),t.j41(42,"div",42)(43,"div",43),t.EFF(44,"Estimasi Kebutuhan Material"),t.k0s(),t.j41(45,"div",44),t.EFF(46),t.k0s()(),t.j41(47,"div",42)(48,"div",43),t.EFF(49,"Keterangan Material"),t.k0s(),t.j41(50,"div",44),t.EFF(51),t.k0s()(),t.j41(52,"div",42)(53,"div",43),t.EFF(54,"Catatan"),t.k0s(),t.j41(55,"div",44),t.EFF(56),t.k0s()()()()}if(2&i){const e=t.XpG();t.R7$(8),t.BMQ("aria-expanded",!e.isCollapsed),t.R7$(2),t.Y8G("ngbCollapse",e.isCollapsed),t.R7$(2),t.Y8G("ngIf",null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.photos),t.R7$(5),t.SpI(" ",null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.tingkat_kerusakan," "),t.R7$(5),t.JRh(null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.tipe_kerusakan),t.R7$(5),t.SpI(" ",null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.kedalaman_lubang," "),t.R7$(5),t.SpI(" ",null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.length," "),t.R7$(7),t.SpI(" ",null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.width," "),t.R7$(7),t.JRh(null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.jenis_material),t.R7$(5),t.SpI(" ",null!=e.reportDetails&&null!=e.reportDetails.survey&&e.reportDetails.survey.masukan_material?null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.masukan_material:"-"," "),t.R7$(5),t.SpI(" ",null!=e.reportDetails&&null!=e.reportDetails.survey&&e.reportDetails.survey.note?null==e.reportDetails||null==e.reportDetails.survey?null:e.reportDetails.survey.note:"-"," ")}}const lt=function(i,r){return{"text-dark":i,"text-warning":r}};function dt(i,r){if(1&i&&(t.j41(0,"div"),t.nrm(1,"i",54),t.k0s()),2&i){const e=r.index,n=t.XpG(4);t.R7$(1),t.Y8G("ngClass",t.l_i(1,lt,e>=n.reportDetails.rating.rate,e0?e.reportDetails.segmens[e.reportDetails.segmens.length-1].segmen.name:"-"," "),t.R7$(5),t.SpI(" ",e.reportDetails.note," "),t.R7$(5),t.Y8G("ngClass",t.l4e(13,mt,"PROG"===e.reportDetails.status_report.id,"FOLUP"===e.reportDetails.status_report.id,"RPR"===e.reportDetails.status_report.id,"DONE"===e.reportDetails.status_report.id,"FIXED"===e.reportDetails.status_report.id,"RJT"===e.reportDetails.status_report.id)),t.R7$(1),t.SpI(" ","DONE"===e.reportDetails.status_report.id?"Selesai":e.reportDetails.status_report.name," "),t.R7$(5),t.SpI(" ",t.i5U(44,10,e.reportDetails.created_at,"dd/MM/yyyy")," "),t.R7$(2),t.Y8G("ngIf","DONE"===e.reportDetails.status_report.id)}}function gt(i,r){if(1&i&&(t.j41(0,"div",10),t.nrm(1,"app-segment",55),t.k0s()),2&i){const e=r.$implicit,n=r.index,s=t.XpG();t.R7$(1),t.Y8G("segmentData",e)("index",n)("statusLaporan",null==s.reportDetails||null==s.reportDetails.status_report?null:s.reportDetails.status_report.id)}}let ft=(()=>{class i extends T.v{constructor(e,n,s,a,d,u,m,g,C,I){super(C,I,m,g),this.http=e,this.auth=n,this.activatedRoute=s,this.router=a,this.download=d,this.rejected=u,this.api=m,this.modal=g,this.helpers=C,this.loading=I,this.dataInsertSubs$=new y.B,this.id="",this.showButtonCompleted=!0,this.isCollapsed=!0,this.queries={sort:"-updated_at",page:1,limit:10,embed:"status_report,user,segmens,segmens.segmen,segmens.photos,schedule,survey,survey.photos,rating"},this.api.endpoint="report-list"}ngOnInit(){this.id=this.activatedRoute.snapshot.params.id,this.loading.isLoading(),this.api.getById(this.id,this.queries).pipe().subscribe({next:({data:e})=>{this.reportDetails=e,this.segmens=e.segmens},error:()=>{this.helpers.toast("error","Data tidak ditemukan")}})}reportCompleted(){this.api.update(this.id,{status_id:"DONE"}).subscribe({next:()=>{this.helpers.toast("success","Data berhasil Diperbarui")},error:()=>{this.helpers.toast("error","Data gagal ditambahkan")}})}getData(){this.api.getById(this.id,this.queries).pipe().subscribe({next:({data:e})=>{this.reportDetails=e},error:()=>{this.helpers.toast("error","Data Gagal Diperbarui")}})}reportReject(){const e=this.modal.open(w.a);e.componentInstance.modalType=1,e.componentInstance.message="Ditolak",e.result.then(n=>{n&&(this.api.update(this.id,{status_id:"RJT"}).subscribe({next:()=>{this.getData(),this.helpers.toast("danger","Data berhasil Ditolak")},error:()=>{this.helpers.toast("error","Data gagal ditambahkan")}}),this.rejected.insert({report_id:this.id,note:n.note}).subscribe({}),this.showButtonCompleted=!1)},()=>{})}onCreateSurveyor(){const e=this.modal.open(N);e.componentInstance.action="update",e.result.then(n=>{n&&this.api.update(this.id,n).pipe((0,b.Q)(this.dataInsertSubs$)).subscribe({next:()=>{this.getData(),this.helpers.toast("success","Surveyor berhasil ditambahkan")},error:s=>{this.helpers.toast("error",`Surveyor gagal ditambahkan ${s.error.message}`)}})})}downloadFile(e){const n=new Blob([e],{type:"application/pdf"}),s=window.URL.createObjectURL(n),a=document.createElement("a");a.href=s,a.download=`laporan${this.id}.pdf`,document.body.appendChild(a),a.click(),document.body.removeChild(a)}onDownload(){this.loading.show(),this.download.getById(this.id).pipe().subscribe({next:({data:e})=>{this.loading.hide(),window.open(e.rel_path,"_blank")},error:e=>{}})}onBack(){this.router.navigate(["../"],{relativeTo:this.activatedRoute})}goToFollowUp(){this.api.getData(this.id,this.queries).subscribe({next:({data:e})=>{let n=!1;e.segmens.forEach(s=>{("-"===s.user_level.trim()||"-"===s.user_type.trim())&&(n=!0)}),n?this.modal.open(X):this.router.navigate(["tindak-lanjut"],{relativeTo:this.activatedRoute})}})}isPNGL(){const e=this.auth.getLoggedUser();return!!e&&"SADM"===e.role.code}static{this.\u0275fac=function(n){return new(n||i)(t.rXU(f.Qq),t.rXU(F.u),t.rXU(v.nX),t.rXU(v.Ix),t.rXU(B),t.rXU(L),t.rXU(E.Z),t.rXU(c.Bq),t.rXU(h.V),t.rXU(x.U))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-detail"]],features:[t.Vt3],decls:30,vars:7,consts:[[1,"d-lg-flex","d-md-flex","d-sm-flex","align-items-start","justify-content-between","gap-3","mb-3"],[1,"d-flex","align-items-center","gap-2","mb-2"],["type","button",1,"btn","btn-sm","bg-transparent",3,"click"],[1,"bi","bi-arrow-left"],[1,"mb-0","fw-bold"],["aria-label","breadcrumb"],[1,"breadcrumb"],[1,"breadcrumb-item","small"],["routerLink","../",1,"text-decoration-none"],["aria-current","page",1,"breadcrumb-item","active","small"],[1,""],[1,"text-right","d-flex","justify-content-end"],[1,"btn","btn-outline-primary","me-2","xs:text-wrap",3,"click"],["class","btn btn-danger me-2 xs:text-wrap","type","button",3,"disabled","click",4,"ngIf"],[4,"ngIf"],["class","px-4 py-3 rounded-3 mb-3","style","background-color: #dee1fd",4,"ngIf"],["class","alert alert-warning",4,"ngIf"],["class","alert alert-success",4,"ngIf"],[1,"p-4","rounded-3","bg-white"],[1,"mb-4","border-dark-subtle"],[1,"fw-semibold","mb-2"],["class","",4,"ngFor","ngForOf"],["type","button",1,"btn","btn-danger","me-2","xs:text-wrap",3,"disabled","click"],["style","max-width: fit-content","class","btn btn-primary text-right xs:text-wrap","type","button",3,"click",4,"ngIf"],["type","button",1,"btn","btn-primary","text-right","xs:text-wrap",2,"max-width","fit-content",3,"click"],[1,"px-4","py-3","rounded-3","mb-3",2,"background-color","#dee1fd"],[1,"d-flex",2,"align-items","center"],[1,"bi","bi-info-circle","me-2"],[1,"fw-bold"],[1,"ms-0","ms-lg-4","ms-md-4","mt-2"],[1,"recomend"],[1,"text-body-tertiary","text-justify",2,"text-align","justify"],[1,"d-block","d-lg-flex","d-md-flex","d-sm-flex","ms-0","ms-lg-4","ms-md-4"],[1,"btn","text-primary",2,"background-color","#eef0fd",3,"click"],[1,"alert","alert-warning"],[1,"d-flex"],[1,"alert-text"],[1,"alert","alert-success"],[1,"bi","bi-check2-all","me-2"],["type","button","aria-controls","collapseExample",1,"btn","btn-sm","btn-outline-info","mt-2",3,"click"],[3,"ngbCollapse","ngbCollapseChange"],["collapse","ngbCollapse"],[1,"row","py-1","fw-medium"],[1,"col-md-2","text-body-tertiary"],[1,"col-md-6"],[4,"ngFor","ngForOf"],[1,"my-2"],[2,"cursor","pointer","width","90px !important","height","90px !important",3,"data"],[1,"row","py-3","fw-medium"],[1,"col-md-10"],[1,"col-md-6","d-flex","align-items-center"],[2,"max-width","fit-content",3,"ngClass"],["class","row py-3 fw-medium",4,"ngIf"],["class","d-flex",4,"ngIf"],[1,"bi","bi-star-fill","mx-1",3,"ngClass"],[3,"segmentData","index","statusLaporan"]],template:function(n,s){1&n&&(t.j41(0,"div",0)(1,"div")(2,"div",1)(3,"button",2),t.bIt("click",function(){return s.onBack()}),t.nrm(4,"i",3),t.k0s(),t.j41(5,"h5",4),t.EFF(6,"Detail Laporan"),t.k0s()(),t.j41(7,"nav",5)(8,"ol",6)(9,"li",7)(10,"a",8),t.EFF(11,"Data Laporan"),t.k0s()(),t.j41(12,"li",9),t.EFF(13,"Detail"),t.k0s()()()(),t.j41(14,"div",10)(15,"div",11)(16,"button",12),t.bIt("click",function(){return s.onDownload()}),t.EFF(17," Export PDF "),t.k0s(),t.DNE(18,tt,2,1,"button",13),t.DNE(19,nt,2,1,"div",14),t.k0s()()(),t.DNE(20,st,12,0,"div",15),t.DNE(21,it,8,0,"div",16),t.DNE(22,ot,57,11,"div",17),t.j41(23,"div",18),t.DNE(24,ht,46,20,"div",14),t.nrm(25,"hr",19),t.j41(26,"h5",20),t.EFF(27,"Data Laporan"),t.k0s(),t.nrm(28,"hr",19),t.DNE(29,gt,2,3,"div",21),t.k0s()),2&n&&(t.R7$(18),t.Y8G("ngIf",s.isPNGL()),t.R7$(1),t.Y8G("ngIf","PROG"===(null==s.reportDetails||null==s.reportDetails.status_report?null:s.reportDetails.status_report.id)),t.R7$(1),t.Y8G("ngIf","PROG"===(null==s.reportDetails||null==s.reportDetails.status_report?null:s.reportDetails.status_report.id)&&!1===(null==s.reportDetails?null:s.reportDetails.survey_status)&&null===(null==s.reportDetails?null:s.reportDetails.assign_survey_to)),t.R7$(1),t.Y8G("ngIf",null===(null==s.reportDetails?null:s.reportDetails.survey)&&null!==(null==s.reportDetails?null:s.reportDetails.assign_survey_to)),t.R7$(1),t.Y8G("ngIf",!0===(null==s.reportDetails?null:s.reportDetails.survey_status)&&"PROG"===(null==s.reportDetails||null==s.reportDetails.status_report?null:s.reportDetails.status_report.id)),t.R7$(2),t.Y8G("ngIf",s.reportDetails),t.R7$(5),t.Y8G("ngForOf",null==s.reportDetails?null:s.reportDetails.segmens))},dependencies:[p.YU,p.Sq,p.bT,v.Wk,R,c.$G,_.$,p.vh],styles:[".tes[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#fff}"]})}}return i})();var vt=l(5946);let _t=(()=>{class i{constructor(e,n){this.api=e,this.activatedRoute=n}resolve(e,n){throw new Error("Method not implemented.")}static{this.\u0275fac=function(n){return new(n||i)(t.KVO(E.Z),t.KVO(v.nX))}}static{this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();const bt=[{path:"",component:ft}];let Dt=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275mod=t.$C({type:i})}static{this.\u0275inj=t.G2t({providers:[_t],imports:[p.MD,v.iI.forChild(bt),vt.gI,R,o.YN,c.oi,c.HC,_.$]})}}return i})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/685.36a1f48f2a4f3cab.js b/frontend-roadreport-deploy/dist/road-report/685.36a1f48f2a4f3cab.js new file mode 100644 index 0000000..1431e93 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/685.36a1f48f2a4f3cab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[685],{8685:(_e,P,s)=>{s.d(P,{MF:()=>ce,mu:()=>ge,Xx:()=>xe,A8:()=>u});var e=s(8699),h=s(7673),k=s(1584),v=s(1413),O=s(4572),_=s(345),y=s(6977),M=s(6354),j=s(8141);const I={ez:"application/andrew-inset",aw:"application/applixware",atom:"application/atom+xml",atomcat:"application/atomcat+xml",atomdeleted:"application/atomdeleted+xml",atomsvc:"application/atomsvc+xml",dwd:"application/atsc-dwd+xml",held:"application/atsc-held+xml",rsat:"application/atsc-rsat+xml",bdoc:"application/bdoc",xcs:"application/calendar+xml",ccxml:"application/ccxml+xml",cdfx:"application/cdfx+xml",cdmia:"application/cdmi-capability",cdmic:"application/cdmi-container",cdmid:"application/cdmi-domain",cdmio:"application/cdmi-object",cdmiq:"application/cdmi-queue",cu:"application/cu-seeme",mpd:"application/dash+xml",davmount:"application/davmount+xml",dbk:"application/docbook+xml",dssc:"application/dssc+der",xdssc:"application/dssc+xml",es:"application/ecmascript",ecma:"application/ecmascript",emma:"application/emma+xml",emotionml:"application/emotionml+xml",epub:"application/epub+zip",exi:"application/exi",fdt:"application/fdt+xml",pfr:"application/font-tdpfr",geojson:"application/geo+json",gml:"application/gml+xml",gpx:"application/gpx+xml",gxf:"application/gxf",gz:"application/gzip",hjson:"application/hjson",stk:"application/hyperstudio",ink:"application/inkml+xml",inkml:"application/inkml+xml",ipfix:"application/ipfix",its:"application/its+xml",jar:"application/java-archive",war:"application/java-archive",ear:"application/java-archive",ser:"application/java-serialized-object",class:"application/java-vm",js:"application/javascript",mjs:"application/javascript",json:"application/json",map:"application/json",json5:"application/json5",jsonml:"application/jsonml+json",jsonld:"application/ld+json",lgr:"application/lgr+xml",lostxml:"application/lost+xml",hqx:"application/mac-binhex40",cpt:"application/mac-compactpro",mads:"application/mads+xml",webmanifest:"application/manifest+json",mrc:"application/marc",mrcx:"application/marcxml+xml",ma:"application/mathematica",nb:"application/mathematica",mb:"application/mathematica",mathml:"application/mathml+xml",mbox:"application/mbox",mscml:"application/mediaservercontrol+xml",metalink:"application/metalink+xml",meta4:"application/metalink4+xml",mets:"application/mets+xml",maei:"application/mmt-aei+xml",musd:"application/mmt-usd+xml",mods:"application/mods+xml",m21:"application/mp21",mp21:"application/mp21",mp4s:"application/mp4",m4p:"application/mp4",doc:"application/msword",dot:"application/msword",mxf:"application/mxf",nq:"application/n-quads",nt:"application/n-triples",cjs:"application/node",bin:"application/octet-stream",dms:"application/octet-stream",lrf:"application/octet-stream",mar:"application/octet-stream",so:"application/octet-stream",dist:"application/octet-stream",distz:"application/octet-stream",pkg:"application/octet-stream",bpk:"application/octet-stream",dump:"application/octet-stream",elc:"application/octet-stream",deploy:"application/octet-stream",exe:"application/octet-stream",dll:"application/octet-stream",deb:"application/octet-stream",dmg:"application/octet-stream",iso:"application/octet-stream",img:"application/octet-stream",msi:"application/octet-stream",msp:"application/octet-stream",msm:"application/octet-stream",buffer:"application/octet-stream",oda:"application/oda",opf:"application/oebps-package+xml",ogx:"application/ogg",omdoc:"application/omdoc+xml",onetoc:"application/onenote",onetoc2:"application/onenote",onetmp:"application/onenote",onepkg:"application/onenote",oxps:"application/oxps",relo:"application/p2p-overlay+xml",xer:"application/patch-ops-error+xml",pdf:"application/pdf",pgp:"application/pgp-encrypted",asc:"application/pgp-signature",sig:"application/pgp-signature",prf:"application/pics-rules",p10:"application/pkcs10",p7m:"application/pkcs7-mime",p7c:"application/pkcs7-mime",p7s:"application/pkcs7-signature",p8:"application/pkcs8",ac:"application/pkix-attr-cert",cer:"application/pkix-cert",crl:"application/pkix-crl",pkipath:"application/pkix-pkipath",pki:"application/pkixcmp",pls:"application/pls+xml",ai:"application/postscript",eps:"application/postscript",ps:"application/postscript",provx:"application/provenance+xml",cww:"application/prs.cww",pskcxml:"application/pskc+xml",raml:"application/raml+yaml",rdf:"application/rdf+xml",owl:"application/rdf+xml",rif:"application/reginfo+xml",rnc:"application/relax-ng-compact-syntax",rl:"application/resource-lists+xml",rld:"application/resource-lists-diff+xml",rs:"application/rls-services+xml",rapd:"application/route-apd+xml",sls:"application/route-s-tsid+xml",rusd:"application/route-usd+xml",gbr:"application/rpki-ghostbusters",mft:"application/rpki-manifest",roa:"application/rpki-roa",rsd:"application/rsd+xml",rss:"application/rss+xml",rtf:"application/rtf",sbml:"application/sbml+xml",scq:"application/scvp-cv-request",scs:"application/scvp-cv-response",spq:"application/scvp-vp-request",spp:"application/scvp-vp-response",sdp:"application/sdp",senmlx:"application/senml+xml",sensmlx:"application/sensml+xml",setpay:"application/set-payment-initiation",setreg:"application/set-registration-initiation",shf:"application/shf+xml",siv:"application/sieve",sieve:"application/sieve",smi:"application/smil+xml",smil:"application/smil+xml",rq:"application/sparql-query",srx:"application/sparql-results+xml",gram:"application/srgs",grxml:"application/srgs+xml",sru:"application/sru+xml",ssdl:"application/ssdl+xml",ssml:"application/ssml+xml",swidtag:"application/swid+xml",tei:"application/tei+xml",teicorpus:"application/tei+xml",tfi:"application/thraud+xml",tsd:"application/timestamped-data",toml:"application/toml",trig:"application/trig",ttml:"application/ttml+xml",ubj:"application/ubjson",rsheet:"application/urc-ressheet+xml",td:"application/urc-targetdesc+xml",vxml:"application/voicexml+xml",wasm:"application/wasm",wgt:"application/widget",hlp:"application/winhlp",wsdl:"application/wsdl+xml",wspolicy:"application/wspolicy+xml",xaml:"application/xaml+xml",xav:"application/xcap-att+xml",xca:"application/xcap-caps+xml",xdf:"application/xcap-diff+xml",xel:"application/xcap-el+xml",xns:"application/xcap-ns+xml",xenc:"application/xenc+xml",xhtml:"application/xhtml+xml",xht:"application/xhtml+xml",xlf:"application/xliff+xml",xml:"application/xml",xsl:"application/xml",xsd:"application/xml",rng:"application/xml",dtd:"application/xml-dtd",xop:"application/xop+xml",xpl:"application/xproc+xml",xslt:"application/xml",xspf:"application/xspf+xml",mxml:"application/xv+xml",xhvml:"application/xv+xml",xvml:"application/xv+xml",xvm:"application/xv+xml",yang:"application/yang",yin:"application/yin+xml",zip:"application/zip","3gpp":"video/3gpp",adp:"audio/adpcm",amr:"audio/amr",au:"audio/basic",snd:"audio/basic",mid:"audio/midi",midi:"audio/midi",kar:"audio/midi",rmi:"audio/midi",mxmf:"audio/mobile-xmf",mp3:"audio/mpeg",m4a:"audio/mp4",mp4a:"audio/mp4",mpga:"audio/mpeg",mp2:"audio/mpeg",mp2a:"audio/mpeg",m2a:"audio/mpeg",m3a:"audio/mpeg",oga:"audio/ogg",ogg:"audio/ogg",spx:"audio/ogg",opus:"audio/ogg",s3m:"audio/s3m",sil:"audio/silk",wav:"audio/wav",weba:"audio/webm",xm:"audio/xm",ttc:"font/collection",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",exr:"image/aces",apng:"image/apng",avif:"image/avif",bmp:"image/bmp",cgm:"image/cgm",drle:"image/dicom-rle",emf:"image/emf",fits:"image/fits",g3:"image/g3fax",gif:"image/gif",heic:"image/heic",heics:"image/heic-sequence",heif:"image/heif",heifs:"image/heif-sequence",hej2:"image/hej2k",hsj2:"image/hsj2",ief:"image/ief",jls:"image/jls",jp2:"image/jp2",jpg2:"image/jp2",jpeg:"image/jpeg",jpg:"image/jpeg",jpe:"image/jpeg",jph:"image/jph",jhc:"image/jphc",jpm:"image/jpm",jpx:"image/jpx",jpf:"image/jpx",jxr:"image/jxr",jxra:"image/jxra",jxrs:"image/jxrs",jxs:"image/jxs",jxsc:"image/jxsc",jxsi:"image/jxsi",jxss:"image/jxss",ktx:"image/ktx",ktx2:"image/ktx2",png:"image/png",btif:"image/prs.btif",pti:"image/prs.pti",sgi:"image/sgi",svg:"image/svg+xml",svgz:"image/svg+xml",t38:"image/t38",tif:"image/tiff",tiff:"image/tiff",tfx:"image/tiff-fx",webp:"image/webp",wmf:"image/wmf","disposition-notification":"message/disposition-notification",u8msg:"message/global",u8dsn:"message/global-delivery-status",u8mdn:"message/global-disposition-notification",u8hdr:"message/global-headers",eml:"message/rfc822",mime:"message/rfc822","3mf":"model/3mf",gltf:"model/gltf+json",glb:"model/gltf-binary",igs:"model/iges",iges:"model/iges",msh:"model/mesh",mesh:"model/mesh",silo:"model/mesh",mtl:"model/mtl",obj:"model/obj",stpz:"model/step+zip",stpxz:"model/step-xml+zip",stl:"model/stl",wrl:"model/vrml",vrml:"model/vrml",x3db:"model/x3d+fastinfoset",x3dbz:"model/x3d+binary",x3dv:"model/x3d-vrml",x3dvz:"model/x3d+vrml",x3d:"model/x3d+xml",x3dz:"model/x3d+xml",appcache:"text/cache-manifest",manifest:"text/cache-manifest",ics:"text/calendar",ifb:"text/calendar",coffee:"text/coffeescript",litcoffee:"text/coffeescript",css:"text/css",csv:"text/csv",html:"text/html",htm:"text/html",shtml:"text/html",jade:"text/jade",jsx:"text/jsx",less:"text/less",markdown:"text/markdown",md:"text/markdown",mml:"text/mathml",mdx:"text/mdx",n3:"text/n3",txt:"text/plain",text:"text/plain",conf:"text/plain",def:"text/plain",list:"text/plain",log:"text/plain",in:"text/plain",ini:"text/plain",dsc:"text/prs.lines.tag",rtx:"text/richtext",sgml:"text/sgml",sgm:"text/sgml",shex:"text/shex",slim:"text/slim",slm:"text/slim",spdx:"text/spdx",stylus:"text/stylus",styl:"text/stylus",tsv:"text/tab-separated-values",t:"text/troff",tr:"text/troff",roff:"text/troff",man:"text/troff",me:"text/troff",ms:"text/troff",ttl:"text/turtle",uri:"text/uri-list",uris:"text/uri-list",urls:"text/uri-list",vcard:"text/vcard",vtt:"text/vtt",yaml:"text/yaml",yml:"text/yaml","3gp":"video/3gpp","3g2":"video/3gpp2",h261:"video/h261",h263:"video/h263",h264:"video/h264",m4s:"video/iso.segment",jpgv:"video/jpeg",jpgm:"image/jpm",mj2:"video/mj2",mjp2:"video/mj2",ts:"video/mp2t",mp4:"video/mp4",mp4v:"video/mp4",mpg4:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",mpe:"video/mpeg",m1v:"video/mpeg",m2v:"video/mpeg",ogv:"video/ogg",qt:"video/quicktime",mov:"video/quicktime",webm:"video/webm"};var S=s(9079),c=s(177);function E(n,p){if(1&n&&(e.j41(0,"div",4),e.nrm(1,"cloud-icon",5),e.j41(2,"div",6),e.EFF(3),e.k0s(),e.j41(4,"div",7),e.EFF(5),e.k0s(),e.j41(6,"button",8),e.EFF(7),e.k0s()()),2&n){const t=e.XpG();e.R7$(3),e.SpI(" ",null==t.captions||null==t.captions.dropzone?null:t.captions.dropzone.title," "),e.R7$(2),e.SpI(" ",null==t.captions||null==t.captions.dropzone?null:t.captions.dropzone.or," "),e.R7$(2),e.SpI(" ",null==t.captions||null==t.captions.dropzone?null:t.captions.dropzone.browse," ")}}const R=["*"];function z(n,p){if(1&n){const t=e.RV6();e.j41(0,"div",17)(1,"img",18),e.bIt("click",function(){e.eBV(t);const o=e.XpG(2);return e.Njj(o.imageClicked.next(o.fileItem))}),e.k0s()()}if(2&n){const t=e.XpG(2);e.R7$(1),e.Y8G("src",t.safeUrl,e.B4B)}}function U(n,p){if(1&n&&(e.j41(0,"div",19),e.EFF(1),e.k0s()),2&n){const t=e.XpG(2);e.Y8G("ngClass",t.fileItem.fileName.split(".").pop()),e.R7$(1),e.SpI(" ",t.fileType," ")}}function B(n,p){if(1&n&&(e.j41(0,"div",20),e.EFF(1),e.k0s()),2&n){const t=e.XpG(2);e.R7$(1),e.JRh(t.niceBytes(null==t.fileItem.file?null:t.fileItem.file.size))}}function G(n,p){1&n&&(e.j41(0,"div",21),e.nrm(1,"span",22),e.k0s())}function V(n,p){if(1&n){const t=e.RV6();e.j41(0,"refresh-icon",23),e.bIt("click",function(){e.eBV(t);const o=e.XpG(2);return e.Njj(o.onRetry())}),e.k0s()}}function A(n,p){if(1&n&&e.nrm(0,"a",24),2&n){const t=e.XpG(2);e.FS9("title",null==t.captions||null==t.captions.previewCard?null:t.captions.previewCard.uploadError)}}const N=function(n){return{width:n}};function L(n,p){if(1&n&&(e.qex(0),e.j41(1,"div",25),e.nrm(2,"div",26),e.k0s(),e.j41(3,"div",27)(4,"div",28),e.EFF(5),e.k0s()(),e.bVm()),2&n){const t=e.XpG(2);e.R7$(2),e.Y8G("ngStyle",e.eq3(2,N,t.uploadProgress+"%")),e.R7$(3),e.SpI("",t.uploadProgress," %")}}const w=function(n){return{"visually-hidden":n}};function X(n,p){if(1&n){const t=e.RV6();e.j41(0,"div",2)(1,"div",3),e.DNE(2,z,2,1,"div",4),e.DNE(3,U,2,2,"div",5),e.nrm(4,"div",6),e.k0s(),e.j41(5,"div",7)(6,"a",8)(7,"p"),e.EFF(8),e.k0s()(),e.DNE(9,B,2,1,"div",9),e.k0s(),e.j41(10,"div",10),e.DNE(11,G,2,0,"div",11),e.DNE(12,V,1,0,"refresh-icon",12),e.j41(13,"a",13),e.bIt("click",function(){e.eBV(t);const o=e.XpG();return e.Njj(o.onRemove(o.fileItem))}),e.nrm(14,"close-icon",14),e.k0s()(),e.DNE(15,A,1,1,"a",15),e.DNE(16,L,6,4,"ng-container",16),e.k0s()}if(2&n){const t=e.XpG();e.Y8G("ngClass",e.eq3(11,w,t.itemTemplate)),e.R7$(2),e.Y8G("ngIf",t.isImageFile&&(null==t.fileItem?null:t.fileItem.file)),e.R7$(1),e.Y8G("ngIf",!t.isImageFile||!(null!=t.fileItem&&t.fileItem.file)),e.R7$(3),e.Y8G("title",t.fileItem.fileName),e.R7$(2),e.JRh(t.fileItem.fileName),e.R7$(1),e.Y8G("ngIf",null==t.fileItem?null:t.fileItem.file),e.R7$(2),e.Y8G("ngIf",!t.uploadError&&!t.uploadProgress&&(null==t.fileItem?null:t.fileItem.file)),e.R7$(1),e.Y8G("ngIf",t.uploadError),e.R7$(1),e.FS9("title",null==t.captions||null==t.captions.previewCard?null:t.captions.previewCard.remove),e.R7$(2),e.Y8G("ngIf",t.uploadError&&!t.uploadProgress),e.R7$(1),e.Y8G("ngIf",t.uploadProgress)}}function $(n,p){1&n&&e.eu8(0)}const Y=function(n,p){return{fileItem:n,uploadProgress:p}},q=function(n){return{visibility:n}};function J(n,p){if(1&n){const t=e.RV6();e.j41(0,"preview-lightbox",2),e.bIt("previewClose",function(){e.eBV(t);const o=e.XpG();return e.Njj(o.closeLightbox())}),e.k0s()}if(2&n){const t=e.XpG();e.Y8G("file",t.lightboxFile)}}function Z(n,p){if(1&n){const t=e.RV6();e.j41(0,"file-preview-item",3),e.bIt("removeFile",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.removeFile.next(o))})("uploadSuccess",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.uploadSuccess.next(o))})("uploadFail",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.uploadFail.next(o))})("imageClicked",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.openLightbox(o))}),e.k0s()}if(2&n){const t=p.$implicit,i=e.XpG();e.Y8G("fileItem",t)("itemTemplate",i.itemTemplate)("adapter",i.adapter)("captions",i.captions)("enableAutoUpload",i.enableAutoUpload)}}function Q(n,p){if(1&n){const t=e.RV6();e.j41(0,"div",6),e.bIt("click",function(){e.eBV(t),e.XpG();const o=e.sdS(2);return e.Njj(o.click())}),e.j41(1,"file-drop",7),e.bIt("onFileDrop",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.dropped(o))}),e.SdG(2),e.k0s()()}if(2&n){const t=e.XpG();e.R7$(1),e.Y8G("customstyle","custom-drag")("captions",t.captions)}}const H=function(n){return{"is-loading":n}};function K(n,p){if(1&n){const t=e.RV6();e.j41(0,"div",8)(1,"div",9)(2,"img",10),e.bIt("load",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.cropperImgLoaded(o))}),e.k0s(),e.j41(3,"div",11)(4,"button",12),e.bIt("click",function(){e.eBV(t);const o=e.XpG();return e.Njj(o.onCropSubmit())}),e.EFF(5),e.k0s(),e.j41(6,"button",13),e.bIt("click",function(){e.eBV(t);const o=e.XpG();return e.Njj(o.closeCropper({file:o.currentCropperFile,fileName:o.currentCropperFile.name}))}),e.EFF(7),e.k0s()()()()}if(2&n){const t=e.XpG();e.R7$(2),e.Y8G("src",t.safeCropImgUrl,e.B4B),e.R7$(2),e.Y8G("disabled",t.isCroppingBusy)("ngClass",e.eq3(5,H,t.isCroppingBusy)),e.R7$(1),e.SpI(" ",null==t.captions||null==t.captions.cropper?null:t.captions.cropper.crop," "),e.R7$(2),e.SpI(" ",null==t.captions||null==t.captions.cropper?null:t.captions.cropper.cancel," ")}}function W(n,p){if(1&n){const t=e.RV6();e.j41(0,"file-preview-container",14),e.bIt("removeFile",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.removeFile(o))})("uploadSuccess",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.onUploadSuccess(o))})("uploadFail",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.onUploadFail(o))}),e.k0s()}if(2&n){const t=e.XpG();e.Y8G("previewFiles",t.files)("adapter",t.adapter)("itemTemplate",t.itemTemplate)("captions",t.captions)("enableAutoUpload",t.enableAutoUpload)}}const ee=[[["",8,"dropzonetemplate"]]],te=[".dropzoneTemplate"];let x=(()=>{class n{constructor(t){this.sanitizer=t}mockUploadFile(t){const i=new CustomEvent("customevent",{detail:{type:"UploadProgreess"}});return(0,h.of)(i.detail)}createSafeUrl(t){try{const i=window.URL.createObjectURL(t);return this.sanitizer.bypassSecurityTrustResourceUrl(i)}catch(i){console.log(i)}}static{this.\u0275fac=function(i){return new(i||n)(e.KVO(_.up))}}static{this.\u0275prov=e.jDH({token:n,factory:n.\u0275fac})}}return n})();var m=function(n){return n.fileMaxSize="FILE_MAX_SIZE",n.fileMaxCount="FILE_MAX_COUNT",n.totalMaxSize="TOTAL_MAX_SIZE",n.extensions="EXTENSIONS",n.uploadType="UPLOAD_TYPE",n.customValidator="CUSTOM_VALIDATOR",n}(m||{});const ae={dropzone:{title:"Drag and drop file here",or:"or",browse:"Browse Files"},cropper:{crop:"Crop",cancel:"Cancel"},previewCard:{remove:"Remove",uploadError:"Error on upload"}},le={dragMode:"crop",aspectRatio:1,autoCrop:!0,movable:!0,zoomable:!0,scalable:!0,autoCropArea:.8};function b(n){return parseFloat(n.toString())/1048576}let pe=(()=>{class n{constructor(){}isValidExtension(t,i){if(!i?.length)return!0;const o=t.split(".").pop();return-1!==i.map(l=>l.toLowerCase()).indexOf(o.toLowerCase())}isValidUploadType(t,i){return!("single"===i&&t?.length>0)}isValidMaxFileCount(t,i,o){return!t||t>=o?.length+i?.length}isValidFileSize(t,i){const o=b(t);return!(i&&!(i&&ol.file?l.file.size:0).reduce((l,r)=>l+r,0);return!(o&&!(o&&b(a+t.size){class n{constructor(){}ngOnInit(){}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["cloud-icon"]],decls:3,vars:0,consts:[["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 24 24","width","42px","height","42px",1,"svg-icon"],["d","M0 0h24v24H0z","fill","none"],["d","M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"]],template:function(i,o){1&i&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1)(2,"path",2),e.k0s())},styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center;margin-bottom:.4em}.svg-icon[_ngcontent-%COMP%]{fill:#95a5a6}"],changeDetection:0})}}return n})(),C=(()=>{class n{constructor(t,i){this.zone=t,this.renderer=i,this.customstyle=null,this.disableIf=!1,this.onFileDrop=new e.bkB,this.onFileOver=new e.bkB,this.onFileLeave=new e.bkB,this.stack=[],this.files=[],this.dragoverflag=!1,this.globalDisable=!1,this.numOfActiveReadEntries=0,this.customstyle||(this.customstyle="drop-zone"),this.globalStart=this.renderer.listen("document","dragstart",o=>{this.globalDisable=!0}),this.globalEnd=this.renderer.listen("document","dragend",o=>{this.globalDisable=!1})}onDragOver(t){!this.globalDisable&&!this.disableIf&&(this.dragoverflag||(this.dragoverflag=!0,this.onFileOver.emit(t)),this.preventAndStop(t))}onDragLeave(t){!this.globalDisable&&!this.disableIf&&(this.dragoverflag&&(this.dragoverflag=!1,this.onFileLeave.emit(t)),this.preventAndStop(t))}dropFiles(t){if(!this.globalDisable&&!this.disableIf){let i;this.dragoverflag=!1,t.dataTransfer.dropEffect="copy",i=t.dataTransfer.items?t.dataTransfer.items.length:t.dataTransfer.files.length;for(let a=0;a{ve(r)}},d=new g(f.name,f);this.addToQueue(d)}}}this.preventAndStop(t);const o=(0,k.O)(200,200);this.subscription=o.subscribe(a=>{this.files.length>0&&0===this.numOfActiveReadEntries&&(this.onFileDrop.emit(new re(this.files)),this.files=[])})}}traverseFileTree(t,i){if(t.isFile){const o=new g(i,t);this.files.push(o),this.zone.run(()=>{this.popToStack()})}else{this.pushToStack(i),i+="/";const o=t.createReader();let a=[];const l=this,r=()=>{l.numOfActiveReadEntries++,o.readEntries(f=>{if(f.length)a=a.concat(f),r();else{if(0===a.length){const d=new g(i,t);l.zone.run(()=>{l.addToQueue(d)})}else for(let d=0;d{l.traverseFileTree(a[d],i+a[d].name)});l.zone.run(()=>{l.popToStack()})}l.numOfActiveReadEntries--})};r()}}addToQueue(t){this.files.push(t)}pushToStack(t){this.stack.push(t)}popToStack(){this.stack.pop()}clearQueue(){this.files=[]}preventAndStop(t){t.stopPropagation(),t.preventDefault()}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe(),this.globalStart(),this.globalEnd()}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(e.SKi),e.rXU(e.sFG))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["file-drop"]],inputs:{captions:"captions",customstyle:"customstyle",disableIf:"disableIf"},outputs:{onFileDrop:"onFileDrop",onFileOver:"onFileOver",onFileLeave:"onFileLeave"},ngContentSelectors:R,decls:5,vars:4,consts:[["id","dropZone",3,"className","drop","dragover","dragleave"],[1,"custom-dropzone"],["ref",""],["class","content",4,"ngIf"],[1,"content"],[1,"cloud-icon"],[1,"content-top-text"],[1,"content-center-text"],["type","button",1,"file-browse-button"]],template:function(i,o){if(1&i&&(e.NAR(),e.j41(0,"div",0),e.bIt("drop",function(l){return o.dropFiles(l)})("dragover",function(l){return o.onDragOver(l)})("dragleave",function(l){return o.onDragLeave(l)}),e.j41(1,"div",1,2),e.SdG(3),e.k0s(),e.DNE(4,E,8,3,"div",3),e.k0s()),2&i){const a=e.sdS(2);e.AVh("over",o.dragoverflag),e.Y8G("className",o.customstyle),e.R7$(4),e.Y8G("ngIf",0==(null==a.children?null:a.children.length))}},dependencies:[c.bT,se],styles:["[_nghost-%COMP%]{display:block;width:100%;padding:0 16px}#dropZone[_ngcontent-%COMP%]{max-width:440px;margin:auto;border:2px dashed #ecf0f1;border-radius:6px;padding:56px 0;background:#ffffff}.file-browse-button[_ngcontent-%COMP%]{padding:12px 18px;background:#7f8c8d;border:0;outline:0;font-size:14px;color:#fff;font-weight:700;border-radius:6px;cursor:pointer}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center}.over[_ngcontent-%COMP%]{background-color:#93939380}.content-top-text[_ngcontent-%COMP%]{font-size:18px;font-weight:700;color:#5b5b7b}.content-center-text[_ngcontent-%COMP%]{color:#90a0bc;margin:12px 0;font-size:14px}"]})}}return n})();var u=function(n){return n.UPLOADED="UPLOADED",n.IN_PROGRESS="IN PROGRESS",n.ERROR="ERROR",n}(u||{});class ce{}let de=(()=>{class n{static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["refresh-icon"]],decls:3,vars:0,consts:[["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 24 24","width","18px","height","18px"],["d","M0 0h24v24H0z","fill","none"],["d","M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"]],template:function(i,o){1&i&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1)(2,"path",2),e.k0s())},styles:["[_nghost-%COMP%]{display:block;cursor:pointer}svg[_ngcontent-%COMP%]{fill:#95a5a6}"],changeDetection:0})}}return n})(),F=(()=>{class n{constructor(){}ngOnInit(){}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["close-icon"]],decls:3,vars:0,consts:[["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 24 24","width","18px","height","18px"],["d","M0 0h24v24H0z","fill","none"],["d","M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"]],template:function(i,o){1&i&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1)(2,"path",2),e.k0s())},styles:["[_nghost-%COMP%]{display:block;cursor:pointer}svg[_ngcontent-%COMP%]{fill:#95a5a6}"],changeDetection:0})}}return n})(),me=(()=>{class n{constructor(t,i){this.fileService=t,this.changeRef=i,this.removeFile=new e.bkB,this.uploadSuccess=new e.bkB,this.uploadFail=new e.bkB,this.imageClicked=new e.bkB}ngOnInit(){this.fileItem.file&&(this._uploadFile(this.fileItem),this.safeUrl=this.getSafeUrl(this.fileItem.file)),this.fileType=function ne(n){return n.split(".").pop().toUpperCase()}(this.fileItem.fileName),this.isImageFile=function oe(n){return["PNG","JPG","JPEG","BMP","WEBP","JFIF","TIFF"].includes(n.toUpperCase())}(this.fileType)}getSafeUrl(t){return this.fileService.createSafeUrl(t)}niceBytes(t){let o=0,a=parseInt(t,10)||0;for(;a>=1024&&++o;)a/=1024;return a.toFixed(a<10&&o>0?1:0)+" "+["bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][o]}onRetry(){this.uploadError=void 0,this._uploadFile(this.fileItem)}onRemove(t){this._uploadUnsubscribe(),this.removeFile.next({...t,uploadResponse:this.uploadResponse||t.uploadResponse})}_uploadFile(t){this.enableAutoUpload&&(this.adapter?this._uploadSubscription=this.adapter.uploadFile(t).subscribe(i=>{i&&i.status===u.UPLOADED&&(this._onUploadSuccess(i.body,t),this.uploadProgress=void 0),i&&i.status===u.IN_PROGRESS&&(this.uploadProgress=i.progress,this.changeRef.detectChanges()),i&&i.status===u.ERROR&&(this.uploadError=!0,this.uploadFail.next(i.body),this.uploadProgress=void 0),this.changeRef.detectChanges()},i=>{this.uploadError=!0,this.uploadFail.next(i),this.uploadProgress=void 0,this.changeRef.detectChanges()}):console.warn("no adapter was provided"))}_onUploadSuccess(t,i){this.uploadResponse=t,this.fileItem.uploadResponse=t,this.uploadSuccess.next({...i,uploadResponse:t})}_uploadUnsubscribe(){this._uploadSubscription&&this._uploadSubscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(x),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["file-preview-item"]],inputs:{fileItem:"fileItem",adapter:"adapter",itemTemplate:"itemTemplate",captions:"captions",enableAutoUpload:"enableAutoUpload"},outputs:{removeFile:"removeFile",uploadSuccess:"uploadSuccess",uploadFail:"uploadFail",imageClicked:"imageClicked"},decls:2,vars:6,consts:[["class","file-preview-wrapper",3,"ngClass",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"file-preview-wrapper",3,"ngClass"],[1,"file-preview-thumbnail"],["class","img-preview-thumbnail",4,"ngIf"],["class","other-preview-thumbnail",3,"ngClass",4,"ngIf"],[1,"thumbnail-backdrop"],[1,"file-preview-description"],["href","javascript:void(0)",1,"file-preview-title",3,"title"],["class","file-preview-size",4,"ngIf"],[1,"file-preview-actions"],["class","ngx-checkmark-wrapper",4,"ngIf"],[3,"click",4,"ngIf"],[1,"ngx-close-icon-wrapper",3,"title","click"],[1,"ngx-close-icon"],["class","file-upload-error-wrapper","href","javascipt:void(0)",3,"title",4,"ngIf"],[4,"ngIf"],[1,"img-preview-thumbnail"],[3,"src","click"],[1,"other-preview-thumbnail",3,"ngClass"],[1,"file-preview-size"],[1,"ngx-checkmark-wrapper"],[1,"ngx-checkmark"],[3,"click"],["href","javascipt:void(0)",1,"file-upload-error-wrapper",3,"title"],[1,"file-upload-progress-bar-wrapper"],[1,"file-upload-progress-bar",3,"ngStyle"],[1,"file-upload-percentage-wrapper"],[1,"file-upload-percentage"]],template:function(i,o){1&i&&(e.DNE(0,X,17,13,"div",0),e.DNE(1,$,1,0,"ng-container",1)),2&i&&(e.Y8G("ngIf",o.fileItem),e.R7$(1),e.Y8G("ngTemplateOutlet",o.itemTemplate)("ngTemplateOutletContext",e.l_i(3,Y,o.fileItem,o.uploadProgress)))},dependencies:[c.YU,c.bT,c.T3,c.B3,de,F],styles:['[_nghost-%COMP%]{display:block;padding:20px 16px;border-bottom:1px solid #ebeef1;max-width:440px;position:relative}.visually-hidden[_ngcontent-%COMP%]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.file-preview-wrapper[_ngcontent-%COMP%]{display:flex;width:100%}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%]{position:relative;z-index:2;cursor:pointer}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .img-preview-thumbnail[_ngcontent-%COMP%]{width:36px;height:36px}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .img-preview-thumbnail[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail[_ngcontent-%COMP%]{width:36px;height:36px;display:flex;justify-content:center;align-items:center;background:#706fd3;border-radius:4px;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.pdf[_ngcontent-%COMP%]{background:#e4394e}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.doc[_ngcontent-%COMP%], .file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.docx[_ngcontent-%COMP%]{background:#2196F3}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.xls[_ngcontent-%COMP%], .file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.xlsx[_ngcontent-%COMP%]{background:#4CAF50}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.txt[_ngcontent-%COMP%], .file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .other-preview-thumbnail.ppt[_ngcontent-%COMP%]{background:#FF9800}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%] .thumbnail-backdrop[_ngcontent-%COMP%]{visibility:hidden;position:absolute;left:0;top:0;width:100%;height:100%;border-radius:6px;transition:all .1s ease-in-out;pointer-events:none;background:rgba(43,56,71,.2)}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%]:hover .thumbnail-backdrop[_ngcontent-%COMP%]{visibility:visible}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-thumbnail[_ngcontent-%COMP%]:active .thumbnail-backdrop[_ngcontent-%COMP%]{visibility:visible;background:rgba(43,56,71,.4)}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-description[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding-left:16px;padding-right:16px;color:#74809d;overflow:hidden;flex:1;z-index:2;position:relative}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-description[_ngcontent-%COMP%] .file-preview-title[_ngcontent-%COMP%]{font-weight:700;width:90%;text-decoration:none;color:#74809d;cursor:default}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-description[_ngcontent-%COMP%] .file-preview-title[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-overflow:ellipsis;max-width:100%;overflow:hidden;white-space:nowrap;margin:0}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-description[_ngcontent-%COMP%] .file-preview-size[_ngcontent-%COMP%]{font-size:12px;color:#979fb8}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-actions[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:10px;z-index:3;position:relative}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-actions[_ngcontent-%COMP%] .ngx-checkmark-wrapper[_ngcontent-%COMP%]{position:relative;cursor:pointer;font-size:22px;height:20px;width:20px;border-radius:50%;background:#43d084}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-actions[_ngcontent-%COMP%] .ngx-checkmark-wrapper[_ngcontent-%COMP%] .ngx-checkmark[_ngcontent-%COMP%]{position:absolute;top:0;left:0;height:19px;width:19px}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-actions[_ngcontent-%COMP%] .ngx-checkmark-wrapper[_ngcontent-%COMP%] .ngx-checkmark[_ngcontent-%COMP%]:after{content:"";position:absolute;display:block;left:7px;top:4px;width:3px;height:7px;border:1px solid #ffffff;border-width:0 3px 3px 0;transform:rotate(45deg)}.file-preview-wrapper[_ngcontent-%COMP%] .file-preview-actions[_ngcontent-%COMP%] .ngx-close-icon-wrapper[_ngcontent-%COMP%]{border-radius:50%;padding:3px;margin-left:5px;cursor:pointer}.file-preview-wrapper[_ngcontent-%COMP%] .file-upload-progress-bar-wrapper[_ngcontent-%COMP%], .file-preview-wrapper[_ngcontent-%COMP%] .file-upload-percentage-wrapper[_ngcontent-%COMP%]{position:absolute;z-index:1;width:100%;height:95%;left:0;top:0;bottom:0;margin:auto}.file-preview-wrapper[_ngcontent-%COMP%] .file-upload-progress-bar[_ngcontent-%COMP%]{background:#eef1fa;border-radius:6px;width:0%;height:95%;transition:width .3s ease-in}.file-preview-wrapper[_ngcontent-%COMP%] .file-upload-percentage[_ngcontent-%COMP%]{padding-right:10%;color:#c2cdda;padding-top:5%;font-size:19px;text-align:right}.file-preview-wrapper[_ngcontent-%COMP%] .file-upload-error-wrapper[_ngcontent-%COMP%]{position:absolute;z-index:1;width:100%;height:95%;left:0;top:0;bottom:0;margin:auto;background:rgba(254,84,111,.06)}'],changeDetection:0})}}return n})(),fe=(()=>{class n{constructor(t){this.sanitizer=t,this.previewClose=new e.bkB}ngOnInit(){this.getSafeUrl(this.file.file)}getSafeUrl(t){const i=window.URL.createObjectURL(t);this.safeUrl=this.sanitizer.bypassSecurityTrustResourceUrl(i)}onClose(t){this.previewClose.next()}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(_.up))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["preview-lightbox"]],inputs:{file:"file"},outputs:{previewClose:"previewClose"},decls:6,vars:4,consts:[[1,"ng-modal-backdrop",3,"click"],[1,"ng-modal-content"],[1,"close-icon-wrapper",3,"click"],[1,"lightbox-item"],[3,"src","ngStyle","load"]],template:function(i,o){1&i&&(e.j41(0,"div",0),e.bIt("click",function(l){return o.onClose(l)}),e.k0s(),e.j41(1,"div",1)(2,"div",2),e.bIt("click",function(l){return o.onClose(l)}),e.nrm(3,"close-icon"),e.k0s(),e.j41(4,"div",3)(5,"img",4),e.bIt("load",function(){return o.loaded=!0}),e.k0s()()()),2&i&&(e.R7$(5),e.Y8G("src",o.safeUrl,e.B4B)("ngStyle",e.eq3(2,q,o.loaded?"visible":"hidden")))},dependencies:[c.B3,F],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;z-index:1040;left:0;top:0;width:100vw;height:100vh;overflow:auto;overflow:hidden}.ng-modal-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:1040;background:rgba(0,0,0,.288)}.ng-modal-content[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;color:#000000de;z-index:1041}.ng-modal-content[_ngcontent-%COMP%] .close-icon-wrapper[_ngcontent-%COMP%]{position:absolute;top:20px;right:20px;font-size:20px}.ng-modal-content[_ngcontent-%COMP%] .lightbox-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:calc(100vw - 30px);max-height:calc(100vh - 30px);width:100%;height:auto;-o-object-fit:contain;object-fit:contain;animation-name:_ngcontent-%COMP%_zoomIn;animation-duration:.2s}@keyframes _ngcontent-%COMP%_zoomIn{0%{opacity:0;transform:scale3d(.9,.9,.9)}50%{opacity:1}}"],changeDetection:0})}}return n})(),ue=(()=>{class n{constructor(){this.removeFile=new e.bkB,this.uploadSuccess=new e.bkB,this.uploadFail=new e.bkB}ngOnInit(){}openLightbox(t){this.lightboxFile=t}closeLightbox(){this.lightboxFile=void 0}static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["file-preview-container"]],inputs:{previewFiles:"previewFiles",itemTemplate:"itemTemplate",enableAutoUpload:"enableAutoUpload",adapter:"adapter",captions:"captions"},outputs:{removeFile:"removeFile",uploadSuccess:"uploadSuccess",uploadFail:"uploadFail"},decls:2,vars:2,consts:[[3,"file","previewClose",4,"ngIf"],[3,"fileItem","itemTemplate","adapter","captions","enableAutoUpload","removeFile","uploadSuccess","uploadFail","imageClicked",4,"ngFor","ngForOf"],[3,"file","previewClose"],[3,"fileItem","itemTemplate","adapter","captions","enableAutoUpload","removeFile","uploadSuccess","uploadFail","imageClicked"]],template:function(i,o){1&i&&(e.DNE(0,J,1,1,"preview-lightbox",0),e.DNE(1,Z,1,5,"file-preview-item",1)),2&i&&(e.Y8G("ngIf",o.lightboxFile),e.R7$(1),e.Y8G("ngForOf",o.previewFiles))},dependencies:[c.Sq,c.bT,me,fe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:flex-start;width:100%;background:#fafbfd}"],changeDetection:0})}}return n})(),ge=(()=>{class n{constructor(t,i,o){this.fileService=t,this.fileValidatorService=i,this.changeRef=o,this.uploadSuccess=new e.bkB,this.uploadFail=new e.bkB,this.removeSuccess=new e.bkB,this.validationError=new e.bkB,this.fileAdded=new e.bkB,this.fileRemoved=new e.bkB,this.enableCropper=!1,this.showeDragDropZone=!0,this.showPreviewContainer=!0,this.uploadType="multi",this.croppedCanvasOptions={},this.captions=ae,this.enableAutoUpload=!0,this.files=[],this.filesForCropper=[],this._cropClosed$=new v.B,this._onDestroy$=new v.B,this.injector=(0,e.WQX)(e.zZn)}ngOnInit(){this._setCropperOptions(),this._listenToCropClose()}ngOnDestroy(){this._onDestroy$.next(),this._onDestroy$.complete()}onChange(t){const i=Array.from(t);this.handleFiles(i).subscribe()}dropped(t){const i=t.files,o=[];for(const a of i)a.fileEntry.isFile&&a.fileEntry.file(r=>{o.push(r),(0,e.N4e)(this.injector,()=>{this.handleFiles(o).pipe((0,S.pQ)()).subscribe()})})}onUploadSuccess(t){this.uploadSuccess.next(t)}onUploadFail(t){this.uploadFail.next(t)}onRemoveSuccess(t){this.removeSuccess.next(t),this.removeFileFromList(t)}getSafeUrl(t){return this.fileService.createSafeUrl(t)}removeFile(t){this.enableAutoUpload?this.adapter?this.adapter.removeFile(t).subscribe(i=>{this.onRemoveSuccess(t)}):console.warn("no adapter was provided"):this.removeFileFromList(t)}_listenToCropClose(){this._cropClosed$.pipe((0,y.Q)(this._onDestroy$)).subscribe(t=>{const i=this.filesForCropper.findIndex(a=>a.name===t.fileName),o=-1!==i?this.filesForCropper[i+1]:void 0;this.filesForCropper=[...this.filesForCropper].filter(a=>a.name!==t.fileName),o&&this.openCropper(o)})}_setCropperOptions(){this.cropperOptions||this._setDefaultCropperOptions()}_setDefaultCropperOptions(){this.cropperOptions=le}handleFiles(t){if(!this.isValidMaxFileCount(t))return(0,h.of)(null);const i=t.every(a=>this._validateFileSync(a)),o=t.map(a=>this._validateFileAsync(a));return(0,O.z)([...o]).pipe((0,M.T)(a=>{const l=a.every(r=>!0===r);!i||!l||t.forEach((r,f)=>{this.handleInputFile(r,f)})}))}_validateFileSync(t){return!(!t||!this.isValidUploadType(t)||!this.isValidExtension(t,t.name))}_validateFileAsync(t){return this.customValidator?this.customValidator(t).pipe((0,j.M)(i=>{i||this.validationError.next({file:t,error:m.customValidator})})):(0,h.of)(!0)}handleInputFile(t,i){"image"===function ie(n){return n.includes("image")?"image":n.includes("video")?"video":"other"}(t.type)&&this.enableCropper?(this.filesForCropper.push(t),this.currentCropperFile||this.openCropper(t)):this.isValidSize(t,t.size)&&this.pushFile(t)}isValidUploadType(t){return!!this.fileValidatorService.isValidUploadType(this.files,this.uploadType)||(this.validationError.next({file:t,error:m.uploadType}),!1)}isValidMaxFileCount(t){return!!this.fileValidatorService.isValidMaxFileCount(this.fileMaxCount,t,this.files)||(this.validationError.next({file:null,error:m.fileMaxCount}),!1)}pushFile(t,i=t.name){const a=[...this.files,{file:t,fileName:i}];this.setFiles(a),this.fileAdded.next({file:t,fileName:i}),this.changeRef.detectChanges()}setFiles(t){this.files=t,this.changeRef.detectChanges()}openCropper(t){window.CROPPER||typeof Cropper<"u"?(this.safeCropImgUrl=this.fileService.createSafeUrl(t),this.currentCropperFile=t,this.changeRef.detectChanges()):console.warn("please import cropperjs script and styles to use cropper feature or disable it by setting [enableCropper]='false'")}cropperImgLoaded(t){const i=document.getElementById("cropper-img");this.cropper=new Cropper(i,this.cropperOptions)}closeCropper(t){this.currentCropperFile=void 0,this.cropper=void 0,this.changeRef.detectChanges(),setTimeout(()=>this._cropClosed$.next(t),200)}removeFileFromList(t){const i=this.files.filter(o=>o.fileName!==t.fileName);this.setFiles(i),this.fileRemoved.next(t),this.changeRef.detectChanges()}isValidExtension(t,i){return!!this.fileValidatorService.isValidExtension(i,this.fileExtensions)||(this.validationError.next({file:t,error:m.extensions}),!1)}isValidSize(t,i){const o=this.fileValidatorService.isValidFileSize(i,this.fileMaxSize),a=this.fileValidatorService.isValidTotalFileSize(t,this.files,this.totalMaxSize);return o||this.validationError.next({file:t,error:m.fileMaxSize}),a||this.validationError.next({file:t,error:m.totalMaxSize}),o&&a}onCropSubmit(){const t=function T(n){let p=(""+n).trim().toLowerCase(),t=p.lastIndexOf(".");return I[~t?p.substring(++t):p]}(this.currentCropperFile.name);if(!t)throw new Error("mimeType not found");this.isCroppingBusy=!0,this.cropper.getCroppedCanvas(this.croppedCanvasOptions).toBlob(this._blobFallBack.bind(this),t)}_blobFallBack(t){t&&(this.isValidSize(t,t.size)&&this.pushFile(t,this.currentCropperFile.name),this.closeCropper({file:t,fileName:this.currentCropperFile.name}),this.isCroppingBusy=!1,this.changeRef.detectChanges())}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(x),e.rXU(pe),e.rXU(e.gRc))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["ngx-awesome-uploader"]],inputs:{customValidator:"customValidator",enableCropper:"enableCropper",showeDragDropZone:"showeDragDropZone",showPreviewContainer:"showPreviewContainer",itemTemplate:"itemTemplate",uploadType:"uploadType",fileMaxSize:"fileMaxSize",fileMaxCount:"fileMaxCount",totalMaxSize:"totalMaxSize",accept:"accept",fileExtensions:"fileExtensions",cropperOptions:"cropperOptions",croppedCanvasOptions:"croppedCanvasOptions",adapter:"adapter",dropzoneTemplate:"dropzoneTemplate",captions:"captions",enableAutoUpload:"enableAutoUpload",fileInputCapture:"fileInputCapture"},outputs:{uploadSuccess:"uploadSuccess",uploadFail:"uploadFail",removeSuccess:"removeSuccess",validationError:"validationError",fileAdded:"fileAdded",fileRemoved:"fileRemoved"},ngContentSelectors:te,decls:6,vars:9,consts:[["class","file-drop-wrapper",3,"click",4,"ngIf"],["type","file","name","file[]","id","fileInput",1,"file-input",3,"multiple","accept","click","change"],["fileInput",""],["class","cropperJsOverlay",4,"ngIf"],[1,"files-preview-wrapper",3,"ngClass"],[3,"previewFiles","adapter","itemTemplate","captions","enableAutoUpload","removeFile","uploadSuccess","uploadFail",4,"ngIf"],[1,"file-drop-wrapper",3,"click"],[3,"customstyle","captions","onFileDrop"],[1,"cropperJsOverlay"],[1,"cropperJsBox"],["id","cropper-img",3,"src","load"],[1,"cropper-actions"],["type","button",1,"cropSubmit",3,"disabled","ngClass","click"],["type","button",1,"cropCancel",3,"click"],[3,"previewFiles","adapter","itemTemplate","captions","enableAutoUpload","removeFile","uploadSuccess","uploadFail"]],template:function(i,o){if(1&i){const a=e.RV6();e.NAR(ee),e.DNE(0,Q,3,2,"div",0),e.j41(1,"input",1,2),e.bIt("click",function(){e.eBV(a);const r=e.sdS(2);return e.Njj(r.value=null)})("change",function(){e.eBV(a);const r=e.sdS(2);return e.Njj(o.onChange(r.files))}),e.k0s(),e.DNE(3,K,8,7,"div",3),e.j41(4,"div",4),e.DNE(5,W,1,5,"file-preview-container",5),e.k0s()}2&i&&(e.Y8G("ngIf",o.showeDragDropZone),e.R7$(1),e.Y8G("multiple","multi"===o.uploadType?"multiple":"")("accept",o.accept),e.BMQ("capture",o.fileInputCapture),e.R7$(2),e.Y8G("ngIf",o.currentCropperFile),e.R7$(1),e.Y8G("ngClass",e.eq3(7,w,!o.showPreviewContainer)),e.R7$(1),e.Y8G("ngIf",o.files))},dependencies:[c.YU,c.bT,C,ue],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;overflow:auto;max-width:440px;border-radius:6px}.files-preview-wrapper[_ngcontent-%COMP%]{width:100%}#cropper-img[_ngcontent-%COMP%]{max-width:60vw;display:none}#cropper-img[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%}.file-drop-wrapper[_ngcontent-%COMP%]{width:100%;background:#fafbfd;padding-top:20px}.preview-container[_ngcontent-%COMP%]{display:flex}.cropperJsOverlay[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;position:fixed;z-index:999;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.32)}.cropperJsBox[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;max-height:calc(100vh - 88px);max-width:90vw}.cropperJsBox[_ngcontent-%COMP%] .cropper-actions[_ngcontent-%COMP%]{display:flex}.cropperJsBox[_ngcontent-%COMP%] .cropper-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:5px;padding:12px 25px;border-radius:6px;border:0;cursor:pointer}.cropperJsBox[_ngcontent-%COMP%] .cropper-actions[_ngcontent-%COMP%] .cropSubmit[_ngcontent-%COMP%]{color:#fff;background:#16a085} .cropper img{max-height:300px!important}#images[_ngcontent-%COMP%]{display:flex;justify-content:center;width:500px;overflow-x:auto}#images[_ngcontent-%COMP%] .image[_ngcontent-%COMP%]{flex:0 0 100px;margin:0 2px;display:flex;flex-direction:column;align-items:flex-end}#fileInput[_ngcontent-%COMP%]{display:none}.uploader-submit-btn[_ngcontent-%COMP%]{background:#ffd740;color:#000000de;border:0;padding:0 16px;line-height:36px;font-size:15px;margin-top:12px;border-radius:4px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}button[_ngcontent-%COMP%]:disabled{color:#00000042;background:gainsboro}.visually-hidden[_ngcontent-%COMP%]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}button.is-loading[_ngcontent-%COMP%]{color:#00000042!important;background-color:#fff!important;box-shadow:none;cursor:not-allowed;outline:none}button.is-loading[_ngcontent-%COMP%]:after{content:"";font-family:sans-serif;font-weight:100;animation:1.25s linear infinite _ngcontent-%COMP%_three-quarters;border:3px solid #7f8c8d;border-right-color:transparent;border-radius:100%;box-sizing:border-box;display:inline-block;position:relative;vertical-align:middle;overflow:hidden;text-indent:-9999px;width:18px;height:18px;opacity:1;margin-left:10px}@keyframes _ngcontent-%COMP%_three-quarters{0%{transform:rotate(0)}to{transform:rotate(360deg)}}'],changeDetection:0})}}return n})(),he=(()=>{class n{static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275mod=e.$C({type:n,bootstrap:[C]})}static{this.\u0275inj=e.G2t({imports:[c.MD]})}}return n})(),xe=(()=>{class n{static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275mod=e.$C({type:n})}static{this.\u0275inj=e.G2t({providers:[x],imports:[c.MD,he]})}}return n})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/727.59815feb56cbe242.js b/frontend-roadreport-deploy/dist/road-report/727.59815feb56cbe242.js new file mode 100644 index 0000000..ca5aac3 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/727.59815feb56cbe242.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[727],{6727:(ce,v,s)=>{s.r(v),s.d(v,{DetailModule:()=>ue});var u=s(177),j=s(6847),e=s(8699),r=s(6803);function G(n,a){if(1&n&&(e.j41(0,"div"),e.nrm(1,"img",9),e.k0s()),2&n){const t=a.$implicit;e.R7$(1),e.Y8G("src",t.abs_path,e.B4B)}}let C=(()=>{class n{constructor(t){this.activeModal=t}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(r.Lw))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["app-image-show-modal"]],inputs:{data:"data"},standalone:!0,features:[e.aNF],decls:12,vars:1,consts:[[1,"modal-header"],[1,"modal-title","text-dark"],[1,"modal-body"],[1,"row","fw-medium"],[1,"col-md-2","text-body-tertiary","mt-2"],[1,"d-flex","gap-2","mt-2"],[4,"ngFor","ngForOf"],[1,"d-flex","justify-content-end","mt-2"],["type","button",1,"btn","btn-primary",3,"click"],["alt","",1,"rounded-2","overflow-hidden","object-fit-cover",2,"width","135px","height","90px",3,"src"]],template:function(i,l){1&i&&(e.j41(0,"div",0)(1,"h4",1),e.EFF(2,"Foto Terkini"),e.k0s()(),e.j41(3,"div",2)(4,"div",3)(5,"div",4),e.EFF(6,"Foto"),e.k0s(),e.j41(7,"div",5),e.DNE(8,G,2,1,"div",6),e.k0s()(),e.j41(9,"div",7)(10,"button",8),e.bIt("click",function(){return l.activeModal.close(!0)}),e.EFF(11," Oke "),e.k0s()()()),2&i&&(e.R7$(8),e.Y8G("ngForOf",l.data.photos))},dependencies:[u.MD,u.Sq]})}}return n})();var N=s(7468),F=s(5471),k=s(5211),h=s(8185),x=s(5731),U=s(1991),g=s(1626),b=s(7110);let I=(()=>{class n extends U.G{constructor(t,i){super(t,i),this.http=t,this.helpers=i,this.endpoint="maintenanced"}static{this.\u0275fac=function(i){return new(i||n)(e.KVO(g.Qq),e.KVO(b.V))}}static{this.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var y=s(2423),R=s(2257),p=s(8685),P=s(6354),w=s(9437),S=s(7673);class X extends p.MF{constructor(a){super(),this.http=a}uploadFile(a){const t=new FormData;t.append("file",a.file),t.append("category","image"),t.append("folder","image");const l=new g.Kd("POST","https://api-roadreport.pisdev.my.id/api/upload-dumps",t,{reportProgress:!0});return this.http.request(l).pipe((0,P.T)(o=>{if(o.type===g.hv.Response)return{body:o.body,status:p.A8.UPLOADED};if(o.type===g.hv.UploadProgress&&void 0!==o.total){const d=+Math.round(100*o.loaded/o.total);return{status:p.A8.IN_PROGRESS,progress:d}}return{status:p.A8.ERROR,body:void 0}}),(0,w.W)(o=>(0,S.of)({status:p.A8.ERROR,body:o})))}removeFile(){return this.http.post("https://api-roadreport.pisdev.my.id/api/upload-dumps",{})}}var E=s(1986),T=s(2665),$=s(7181),O=s(7645),_=s(9417);function L(n,a){1&n&&e.nrm(0,"i",7)}function A(n,a){1&n&&(e.j41(0,"span",12),e.EFF(1," Belum ada foto "),e.k0s())}function M(n,a){if(1&n){const t=e.RV6();e.j41(0,"button",23),e.bIt("click",function(){e.eBV(t),e.XpG();const l=e.sdS(10),o=e.XpG();return e.Njj(o.open(l))}),e.EFF(1," Upload Gambar "),e.k0s()}}const B=function(){return["jpg","jpeg","png"]};function V(n,a){if(1&n){const t=e.RV6();e.j41(0,"ngx-awesome-uploader",24,25),e.bIt("validationError",function(l){e.eBV(t);const o=e.XpG(2);return e.Njj(o.onValidationError(l))})("uploadSuccess",function(l){e.eBV(t);const o=e.XpG(2);return e.Njj(o.uploadSuccess(l))})("removeSuccess",function(l){e.eBV(t);const o=e.XpG(2);return e.Njj(o.onRemoveSuccess(l))})("fileAdded",function(l){e.eBV(t);const o=e.XpG(2);return e.Njj(o.onFileAdded(l))}),e.k0s(),e.j41(2,"div",26)(3,"button",27),e.bIt("click",function(){e.eBV(t);const l=e.XpG(2);return e.Njj(l.closeModal())}),e.EFF(4," Oke "),e.k0s()()}if(2&n){const t=e.XpG(2);e.Y8G("id","fileInput"+t.index)("adapter",t.adapter)("fileMaxCount",3)("fileMaxSize",7)("uploadType","multi")("fileExtensions",e.lJ4(10,B))("accept",".jpg, .png .jpeg")("showPreviewContainer",!0)("customValidator",t.myCustomValidator),e.R7$(3),e.Y8G("disabled",!t.isUploadSuccessful)}}function Y(n,a){if(1&n&&(e.j41(0,"div",28),e.nrm(1,"img",29),e.j41(2,"div",30)(3,"p",31),e.EFF(4),e.k0s(),e.j41(5,"p",32),e.EFF(6),e.k0s()()()),2&n){const t=a.fileItem;e.R7$(1),e.FS9("src",null==t.uploadResponse.data?null:t.uploadResponse.data.abs_path,e.B4B),e.FS9("alt",t.fileName),e.R7$(3),e.SpI(" File Name: ",t.fileName," "),e.R7$(2),e.SpI(" File Size: ",t.file.size," ")}}function z(n,a){if(1&n){const t=e.RV6();e.j41(0,"span",36)(1,"i",37),e.bIt("click",function(){e.eBV(t);const l=e.XpG().index,o=e.XpG(2);return e.Njj(o.removeFile(l))}),e.k0s()()}}function J(n,a){if(1&n&&(e.j41(0,"div")(1,"div",33),e.nrm(2,"app-lightbox",34),e.DNE(3,z,2,0,"span",35),e.k0s()()),2&n){const t=a.$implicit,i=e.XpG(2);e.R7$(2),e.Y8G("data",t),e.R7$(1),e.Y8G("ngIf",!i.isPNGL()&&"FIXED"!==i.status_report.id&&"DONE"!==i.status_report.id)}}function K(n,a){if(1&n&&(e.qex(0),e.EFF(1),e.bVm()),2&n){const t=a.$implicit;e.R7$(1),e.SpI(" ",t.note?t.note:"-"," ")}}function Q(n,a){if(1&n&&(e.j41(0,"div",38),e.DNE(1,K,2,1,"ng-container",19),e.k0s()),2&n){const t=e.XpG(2);e.R7$(1),e.Y8G("ngForOf",t.note)}}function W(n,a){if(1&n){const t=e.RV6();e.j41(0,"div",38)(1,"textarea",39),e.bIt("ngModelChange",function(l){e.eBV(t);const o=e.XpG(2);return e.Njj(o.form.note=l)}),e.k0s()()}if(2&n){const t=e.XpG(2);e.R7$(1),e.Y8G("disabled","FOLUP"===t.status_report.id)("ngModel",t.form.note)("readonly",t.isPNGL()||"DONE"==t.status_report.id||"FIXED"==t.status_report.id)("placeholder",t.isPNGL()||"FIXED"!=t.status_report.id?"Masukan deskripsi keadaan sekarang..":"")}}function Z(n,a){if(1&n){const t=e.RV6();e.j41(0,"div",40)(1,"button",41),e.bIt("click",function(){e.eBV(t);const l=e.XpG(2);return e.Njj(l.onSubmit())}),e.EFF(2," Submit "),e.k0s()()}if(2&n){const t=e.XpG(2);e.R7$(1),e.Y8G("disabled",0==t.imageFiles.length)}}function H(n,a){if(1&n&&(e.j41(0,"div",8)(1,"div",9)(2,"div",10),e.EFF(3,"Foto Sesudah"),e.k0s(),e.DNE(4,A,2,0,"span",11),e.j41(5,"div",12)(6,"div"),e.DNE(7,M,2,0,"button",13),e.j41(8,"div",14),e.DNE(9,V,5,11,"ng-template",15,16,e.C5r),e.k0s(),e.DNE(11,Y,7,4,"ng-template",null,17,e.C5r),e.k0s(),e.j41(13,"div",18),e.DNE(14,J,4,2,"div",19),e.k0s()()(),e.j41(15,"div",20)(16,"div",10),e.EFF(17,"Keterangan"),e.k0s(),e.DNE(18,Q,2,1,"div",21),e.DNE(19,W,2,4,"div",21),e.k0s(),e.DNE(20,Z,3,1,"div",22),e.k0s()),2&n){const t=e.XpG();e.R7$(4),e.Y8G("ngIf",t.isPNGL()&&0===t.imageFiles.length),e.R7$(3),e.Y8G("ngIf",!t.isPNGL()&&"FIXED"!==t.status_report.id&&"DONE"!==t.status_report.id),e.R7$(7),e.Y8G("ngForOf",t.imageFiles),e.R7$(4),e.Y8G("ngIf",t.isPNGL()||!t.isPNGL()||"FIXED"!==t.status_report.id),e.R7$(1),e.Y8G("ngIf",!t.isPNGL()&&"DONE"!==t.status_report.id&&"FIXED"!==t.status_report.id),e.R7$(1),e.Y8G("ngIf",!t.isPNGL()&&"FIXED"!==t.status_report.id&&"DONE"!==t.status_report.id)}}let D=(()=>{class n extends T.v{constructor(t,i,l,o,d,c,m,f){super(d,c,m,f),this.auth=t,this.laporan=i,this.http=l,this.activatedRoute=o,this.helpers=d,this.loading=c,this.api=m,this.modal=f,this.adapter=new X(this.http),this.imageFiles=[],this.id="",this.form={},this.isUploadSuccessful=!1,this.closeResult="",this.id=this.activatedRoute.snapshot.params.id}ngOnInit(){this.queries={filter:{report_schedule_id:{eq:`${this.id}`},segmen_id:{eq:`${this.detailedSegment?.segmen?.id}`}},limit:10},this.form.report_schedule_id=this.id,this.form.segmen_id=this.detailedSegment.segmen.id,this.form.date=new Date,this.form.note="",this.getAll(),this.checkFoto()}getAll(){this.loading.show(),this.api.getAll(this.queries).subscribe({next:({data:t})=>{this.loading.hide(),this.note=t,t?.[0]?.photo_after&&(this.imageFiles=t[0].photo_after)},error:()=>{this.loading.hide(),this.helpers.toast("error","Gagal mengambil data")}})}checkFoto(){for(const t of this.imageFiles)if(t.abs_path)return!0;return!1}onFileAdded(t){}onValidationError(t){"FILE_MAX_SIZE"===t.error&&this.helpers.toast("warning","File terlalu besar maksimal yang diizinkan adalah 5mb")}onFileInputChange(t){}uploadSuccess(t){this.loading.isLoading(),this.imageFiles.push({filename:t.uploadResponse.data.filename,abs_path:t.uploadResponse.data.abs_path,file_dump_id:t.uploadResponse.data.id}),this.isUploadSuccessful=!0}onSubmit(){this.form.photo_after=this.imageFiles,this.api.insert(this.form).pipe().subscribe({next:()=>{this.helpers.toast("success","Foto berhasil ditambahkan"),this.getAll(),this.laporan.getAll()}}),setTimeout(()=>{window.location.reload()},1500)}removeFile(t){this.imageFiles.splice(t,1)}onRemoveSuccess(t){alert("Data berhasil dihapus")}myCustomValidator(t){return t.name.includes("uploader")?(0,S.of)(!1).pipe((0,E.c)(2e3)):(0,S.of)(!0).pipe((0,E.c)(2e3))}open(t){if("FOLUP"==this.status_report.id){const i=this.modal.open(O.C,{backdropClass:"bg-info",size:"sm"});i.componentInstance.bgColor="#4b527e",i.componentInstance.textColor="#000000",i.componentInstance.message="Ubah status menjadi",i.componentInstance.statusMessage="Perbaikan"}else this.modal.open(t,{ariaLabelledBy:"modal-basic-title",centered:!0}).result.then(i=>{this.closeResult=`Closed with: ${i}`},i=>{this.closeResult=`Dismissed ${this.getDismissReason(i)}`})}closeModal(){this.modal.dismissAll()}getDismissReason(t){return t===r.PQ.ESC?"by pressing ESC":t===r.PQ.BACKDROP_CLICK?"by clicking on a backdrop":`with: ${t}`}isPNGL(){const t=this.auth.getLoggedUser();return!!t&&"SADM"===t.role.code}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(F.u),e.rXU(k.Z),e.rXU(g.Qq),e.rXU(h.nX),e.rXU(b.V),e.rXU(y.U),e.rXU(I),e.rXU(r.Bq))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["app-upload-image"]],inputs:{detailedSegment:"detailedSegment",index:"index",status_report:"status_report"},standalone:!0,features:[e.Vt3,e.aNF],decls:9,vars:3,consts:[["ngbAccordion","",1,"accordion","mb-3"],["ngbAccordionItem","",1,"accordion-item","border-0",2,"background","#eef0fd",3,"collapsed"],["ngbAccordionHeader","",1,"accordion-header"],["ngbAccordionButton","",1,"accordion-button","fw-bolder",2,"background","#eef0fd"],["class","bi bi-check2-circle","style","color: green",4,"ngIf"],["ngbAccordionCollapse","",1,"accordion-collapse","collapse","show"],["ngbAccordionBody","",1,"accordion-body"],[1,"bi","bi-check2-circle",2,"color","green"],[1,"upload-foto"],[1,"row","py-3","fw-medium","align-items-stretch"],[1,"col-md-2","text-body-tertiary"],["class","col-md-6",4,"ngIf"],[1,"col-md-6"],["class","btn btn-outline-primary px-5 py-2 mb-2","style","padding: 0.375rem 0.75rem; cursor: pointer",3,"click",4,"ngIf"],[1,"uploader-wrapper"],["style","margin: auto"],["content",""],["myItemTemplate",""],[1,"col-md-10","d-flex"],[4,"ngFor","ngForOf"],[1,"row","py-3","fw-medium","align-items-start"],["class","col-md-10",4,"ngIf"],["class","d-flex justify-content-end",4,"ngIf"],[1,"btn","btn-outline-primary","px-5","py-2","mb-2",2,"padding","0.375rem 0.75rem","cursor","pointer",3,"click"],["id","fileInput",3,"id","adapter","fileMaxCount","fileMaxSize","uploadType","fileExtensions","accept","showPreviewContainer","customValidator","validationError","uploadSuccess","removeSuccess","fileAdded"],["uploader",""],[1,"dropzoneTemplate","d-flex","flex-row-reverse"],["type","button",1,"btn","btn-primary","my-2","me-4","mt-2",3,"disabled","click"],[1,"d-flex","align-items-center"],[1,"rounded-2",2,"width","50px","height","50px",3,"src","alt"],[1,"ms-2"],[2,"font-size","15px","color","#74809d","margin","0","line-height","1.1","margin-bottom","2px"],[2,"font-size","14px","color","#74809d","margin","0"],[2,"display","flex","align-items","flex-start"],[1,"me-2",3,"data"],["style","\n cursor: pointer;\n width: 19px;\n height: 19px;\n margin-top: 0.1rem;\n margin-left: 0.1rem;\n background-color: #b4b4b3;\n ","class","d-flex align-items-center justify-content-center position-absolute rounded-circle ms-1 mt-1",4,"ngIf"],[1,"d-flex","align-items-center","justify-content-center","position-absolute","rounded-circle","ms-1","mt-1",2,"cursor","pointer","width","19px","height","19px","margin-top","0.1rem","margin-left","0.1rem","background-color","#b4b4b3"],[1,"bi","bi-trash-fill","text-danger",2,"font-size","14px",3,"click"],[1,"col-md-10"],["id","textAreaExample1","rows","4","name","note",1,"form-control","w-full",2,"width","100%",3,"disabled","ngModel","readonly","placeholder","ngModelChange"],[1,"d-flex","justify-content-end"],["type","submit",1,"btn","btn-primary",3,"disabled","click"]],template:function(i,l){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"h2",2)(3,"button",3),e.EFF(4),e.DNE(5,L,1,0,"i",4),e.k0s()(),e.j41(6,"div",5)(7,"div",6),e.DNE(8,H,21,6,"ng-template"),e.k0s()()()()),2&i&&(e.R7$(1),e.Y8G("collapsed",!0),e.R7$(3),e.SpI(" Segmen Jalan ",l.index+1," "),e.R7$(1),e.Y8G("ngIf",l.checkFoto()))},dependencies:[u.MD,u.Sq,u.bT,r._f,r.WP,r.r6,r.tW,r.x7,r.UA,r.$R,p.Xx,p.mu,$.$,_.YN,_.me,_.BC,_.vS],styles:[".map-containet[_ngcontent-%COMP%]{position:relative}.collapse-content[_ngcontent-%COMP%]{transition:height .5s;overflow:hidden}img.uploaded-image[_ngcontent-%COMP%]:not(:first-child){margin-left:2px}ngx-awesome-uploader[_ngcontent-%COMP%]{margin:auto} .file-preview-actions{display:none} .ngx-close-icon-wrapper{display:none}ngx-awesome-uploader[_ngcontent-%COMP%]{background-color:red}"]})}}return n})();function q(n,a){if(1&n){const t=e.RV6();e.j41(0,"button",33),e.bIt("click",function(){e.eBV(t);const l=e.XpG();return e.Njj(l.onUpdateDonePerbaikan())}),e.EFF(1," Sudah Diperbaiki "),e.k0s()}if(2&n){const t=e.XpG();e.Y8G("disabled","PROG"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||"FOLUP"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||"DONE"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||"FIXED"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||t.isButtonDisabled)}}function ee(n,a){if(1&n){const t=e.RV6();e.j41(0,"button",34),e.bIt("click",function(){e.eBV(t);const l=e.XpG();return e.Njj(l.onUpdatePerbaikan())}),e.EFF(1),e.k0s()}if(2&n){const t=e.XpG();e.Y8G("disabled",t.isPNGL()&&"FOLUP"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||t.isPNGL()&&"RPR"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||t.isPNGL()&&"DONE"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||t.isPNGL()&&t.isButtonDisabled),e.R7$(1),e.SpI(" ",t.isPNGL()?"Perbaiki Lagi":"Perbaiki"," ")}}function te(n,a){if(1&n){const t=e.RV6();e.j41(0,"button",35),e.bIt("click",function(){e.eBV(t);const l=e.XpG();return e.Njj(l.reportCompleted())}),e.EFF(1," Selesai "),e.k0s()}if(2&n){const t=e.XpG();e.Y8G("disabled","PROG"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||"FOLUP"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||"DONE"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||"RPR"===(null==t.detailSchedule||null==t.detailSchedule.report||null==t.detailSchedule.report.status_report?null:t.detailSchedule.report.status_report.id)||t.isButtonDisabled)}}function le(n,a){if(1&n&&(e.j41(0,"div")(1,"div",36)(2,"span"),e.nrm(3,"i",37),e.j41(4,"span",38),e.EFF(5,"Tanggal perbaikan"),e.k0s()(),e.j41(6,"div")(7,"span",39),e.EFF(8),e.nI1(9,"date"),e.nI1(10,"date"),e.k0s()()()()),2&n){const t=e.XpG();e.R7$(8),e.Lme(" ",e.i5U(9,2,null==t.detailSchedule?null:t.detailSchedule.date_start,"dd/MM/yyyy"),"",null!=t.detailSchedule&&t.detailSchedule.date_end?"-"+e.i5U(10,5,null==t.detailSchedule?null:t.detailSchedule.date_end,"dd/MM/yyyy"):""," ")}}function ne(n,a){1&n&&(e.j41(0,"div",40),e.nrm(1,"i",41),e.EFF(2,"Silahkan Upload foto selesai perbaikan sebagai bukti telah dilakukan perbaikan jalan.. "),e.k0s())}function ie(n,a){1&n&&(e.j41(0,"ngb-alert",42),e.nrm(1,"i",41),e.EFF(2," Data sedang divalidasi oleh admin "),e.k0s()),2&n&&e.Y8G("dismissible",!1)}function ae(n,a){if(1&n){const t=e.RV6();e.j41(0,"div",43)(1,"button",44),e.bIt("click",function(){const o=e.eBV(t).$implicit,d=e.XpG();return e.Njj(d.onAction(o))}),e.EFF(2),e.k0s()()}if(2&n){const t=a.$implicit;e.R7$(2),e.SpI(" ",(null==t?null:t.segmen.name)||"-"," ")}}function oe(n,a){1&n&&(e.j41(0,"h5",25),e.EFF(1,"Data Laporan"),e.k0s())}function se(n,a){if(1&n&&(e.j41(0,"div",10),e.nrm(1,"app-upload-image",45),e.k0s()),2&n){const t=a.$implicit,i=a.index,l=e.XpG();e.R7$(1),e.Y8G("detailedSegment",t)("index",i)("status_report",l.detailSchedule.report.status_report)}}const re=function(n,a,t,i,l,o){return{"bg-primary":n,"bg-warning":a,"bg-danger":t,"bg-info":i,"bg-success":l,"bg-secondary":o,"text-nowrap text-white text-center rounded-2 px-2 py-2":!0}},de=[{path:"",component:(()=>{class n{updateStatus(t){this.modal.open(j.a).result.then(l=>{l&&this.laporan.update(this.detailSchedule.report_id,{status_id:t}).subscribe({next:()=>{this.helpers.toast("success","Data berhasil Diperbarui"),this.getAll()},error:()=>{this.helpers.toast("error","Data gagal ditambahkan")}})},()=>{})}onUpdatePerbaikan(){this.updateStatus("RPR")}onUpdateDonePerbaikan(){this.updateStatus("FIXED")}reportCompleted(){this.updateStatus("DONE")}getAll(){this.api.getById(this.id).pipe().subscribe({next:({data:t})=>{this.detailSchedule=t;const o=this.detailSchedule.report.segmens.map(d=>d.segmen.id).map(d=>this.maintenance.getAll({filter:{report_schedule_id:{eq:`${this.id}`},segmen_id:{eq:`${d}`}}}));(0,N.p)(o).subscribe({next:d=>{this.photo=d;const c=this.photo.some(m=>0===m.data.length);this.isButtonDisabled=c},error:()=>{this.helpers.toast("error","Gagal mengambil data")}})}})}constructor(t,i,l,o,d,c,m,f,pe){this.auth=t,this.laporan=i,this.activatedRoute=l,this.router=o,this.api=d,this.maintenance=c,this.modal=m,this.helpers=f,this.loading=pe,this.detailSchedule=null,this.detailSegmenPerbaikan=null,this.closeResult="",this.id=this.activatedRoute.snapshot.params.id,this.segmenId=null,this.isButtonDisabled=!1,this.getAll()}ngOnInit(){}onBack(){this.router.navigate(["../../"],{relativeTo:this.activatedRoute})}onAction(t){this.modal.open(C).componentInstance.data=t}isPNGL(){const t=this.auth.getLoggedUser();return!!t&&"SADM"===t.role.code}static{this.\u0275fac=function(i){return new(i||n)(e.rXU(F.u),e.rXU(k.Z),e.rXU(h.nX),e.rXU(h.Ix),e.rXU(x.c),e.rXU(I),e.rXU(r.Bq),e.rXU(b.V),e.rXU(y.U))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["app-detail"]],decls:69,vars:30,consts:[[1,"d-lg-flex","d-md-flex","d-sm-flex","align-items-start","justify-content-between","gap-3","mb-3"],[1,"d-flex","align-items-center","gap-2","mb-2"],["type","button",1,"btn","btn-sm","bg-transparent",3,"click"],[1,"bi","bi-arrow-left"],[1,"mb-0","fw-bold"],["aria-label","breadcrumb"],[1,"breadcrumb"],[1,"breadcrumb-item","small"],["routerLink","../../",1,"text-decoration-none"],["aria-current","page",1,"breadcrumb-item","active","small"],[1,""],[1,"text-right","d-flex","justify-content-end"],["style","max-width: fit-content","class","btn btn-success text-right me-2","type","button","ngbAutofocus","",3,"disabled","click",4,"ngIf"],["style","max-width: fit-content","class","btn btn-info text-right me-2","type","button","ngbAutofocus","",3,"disabled","click",4,"ngIf"],["style","max-width: fit-content","class","btn btn-success text-right","type","button",3,"disabled","click",4,"ngIf"],[4,"ngIf"],[1,"p-4","rounded-3","bg-white"],["class","alert text-white","role","alert","style","background: #ffab00",4,"ngIf"],["class","text-black my-auto d-flex align-items-center mb-3","type","dark","style","background: #dee1fd; height: 46px",3,"dismissible",4,"ngIf"],[3,"allowDragging","showOption","showStatus","perbaikanSegmen"],[1,"row","py-3","my-4","fw-medium"],[1,"col-md-2","text-body-tertiary"],[1,"col-lg-10","col-md-10","col-sm"],[1,"d-lg-flex","d-md-flex","d-sm-flex"],["class","py-1",4,"ngFor","ngForOf"],[1,"fw-semibold","mb-2"],[1,"row","py-3","fw-medium"],[1,"col-md-6"],[1,"col-md-6","d-flex","align-items-center"],[2,"max-width","fit-content",3,"ngClass"],[1,"mb-4","border-dark-subtle"],["class","fw-semibold mb-2",4,"ngIf"],["class","",4,"ngFor","ngForOf"],["type","button","ngbAutofocus","",1,"btn","btn-success","text-right","me-2",2,"max-width","fit-content",3,"disabled","click"],["type","button","ngbAutofocus","",1,"btn","btn-info","text-right","me-2",2,"max-width","fit-content",3,"disabled","click"],["type","button",1,"btn","btn-success","text-right",2,"max-width","fit-content",3,"disabled","click"],[1,"d-flex","justify-content-between","calendar","bg-white","p-2","rounded-2","mt-2"],[1,"bi","bi-calendar",2,"color","blue"],[1,"small","ms-2"],[1,"date","small","ms-xs-1","ms-md-4","ms-lg-4"],["role","alert",1,"alert","text-white",2,"background","#ffab00"],[1,"bi","bi-exclamation-circle","me-2"],["type","dark",1,"text-black","my-auto","d-flex","align-items-center","mb-3",2,"background","#dee1fd","height","46px",3,"dismissible"],[1,"py-1"],["placement","bottom","ngbTooltip","Lihat Detail","type","button",1,"btn","bg-primary","text-white","rounded-2","py-1","me-2",2,"cursor","pointer",3,"click"],[3,"detailedSegment","index","status_report"]],template:function(i,l){1&i&&(e.j41(0,"div",0)(1,"div")(2,"div",1)(3,"button",2),e.bIt("click",function(){return l.onBack()}),e.nrm(4,"i",3),e.k0s(),e.j41(5,"h5",4),e.EFF(6,"Lokasi Perbaikan"),e.k0s()(),e.j41(7,"nav",5)(8,"ol",6)(9,"li",7)(10,"a",8),e.EFF(11,"Data Perbaikan"),e.k0s()(),e.j41(12,"li",9),e.EFF(13,"Detail"),e.k0s()()()(),e.j41(14,"div",10)(15,"div",11),e.DNE(16,q,2,1,"button",12),e.DNE(17,ee,2,2,"button",13),e.DNE(18,te,2,1,"button",14),e.k0s(),e.DNE(19,le,11,8,"div",15),e.k0s()(),e.j41(20,"div",16),e.DNE(21,ne,3,0,"div",17),e.DNE(22,ie,3,1,"ngb-alert",18),e.nrm(23,"app-map",19),e.j41(24,"div")(25,"div",20)(26,"div",21),e.EFF(27,"Segment Jalan"),e.k0s(),e.j41(28,"div",22)(29,"div",23),e.DNE(30,ae,3,1,"div",24),e.k0s()()(),e.j41(31,"h5",25),e.EFF(32,"Data Pelapor"),e.k0s(),e.j41(33,"div",26)(34,"div",21),e.EFF(35,"No. Tiket"),e.k0s(),e.j41(36,"div",27),e.EFF(37),e.k0s()(),e.j41(38,"div",26)(39,"div",21),e.EFF(40,"Nama"),e.k0s(),e.j41(41,"div",27),e.EFF(42),e.k0s()(),e.j41(43,"div",26)(44,"div",21),e.EFF(45,"Email"),e.k0s(),e.j41(46,"div",27),e.EFF(47),e.k0s()(),e.j41(48,"div",26)(49,"div",21),e.EFF(50,"Lokasi"),e.k0s(),e.j41(51,"div",27),e.EFF(52),e.k0s()(),e.j41(53,"div",26)(54,"div",21),e.EFF(55,"Status Laporan"),e.k0s(),e.j41(56,"div",28)(57,"small",29),e.EFF(58),e.k0s()()(),e.j41(59,"div",26)(60,"div",21),e.EFF(61,"Tanggal Diperbaiki"),e.k0s(),e.j41(62,"div",27),e.EFF(63),e.nI1(64,"date"),e.k0s()()(),e.nrm(65,"hr",30),e.DNE(66,oe,2,0,"h5",31),e.j41(67,"div"),e.DNE(68,se,2,3,"div",32),e.k0s()()),2&i&&(e.R7$(16),e.Y8G("ngIf",!l.isPNGL()&&"DONE"!==(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id)),e.R7$(1),e.Y8G("ngIf",(l.isPNGL()||"FOLUP"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id))&&"DONE"!==(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id)),e.R7$(1),e.Y8G("ngIf",l.isPNGL()),e.R7$(1),e.Y8G("ngIf",l.isPNGL()),e.R7$(2),e.Y8G("ngIf",!l.isPNGL()&&"RPR"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id)),e.R7$(1),e.Y8G("ngIf",!l.isPNGL()&&"FIXED"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id)),e.R7$(1),e.Y8G("allowDragging",!0)("showOption",!1)("showStatus",!1)("perbaikanSegmen",l.id),e.R7$(7),e.Y8G("ngForOf",null==l.detailSchedule?null:l.detailSchedule.report.segmens),e.R7$(7),e.JRh(null==l.detailSchedule?null:l.detailSchedule.report.no_ticket),e.R7$(5),e.JRh(null==l.detailSchedule?null:l.detailSchedule.report.user.fullname),e.R7$(5),e.JRh(null==l.detailSchedule?null:l.detailSchedule.report.user.email),e.R7$(5),e.SpI(" ",(null==l.detailSchedule?null:l.detailSchedule.report.segmens.length)>0?null==l.detailSchedule?null:l.detailSchedule.report.segmens[(null==l.detailSchedule?null:l.detailSchedule.report.segmens.length)-1].segmen.name:"-"," "),e.R7$(5),e.Y8G("ngClass",e.l4e(23,re,"PROG"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id),"FOLUP"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id),"RJT"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id),"RPR"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id),"DONE"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id),"FIXED"===(null==l.detailSchedule||null==l.detailSchedule.report||null==l.detailSchedule.report.status_report?null:l.detailSchedule.report.status_report.id))),e.R7$(1),e.SpI(" ","DONE"===(null==l.detailSchedule||null==l.detailSchedule.report?null:l.detailSchedule.report.status_report.id)?"Selesai":null==l.detailSchedule||null==l.detailSchedule.report?null:l.detailSchedule.report.status_report.name," "),e.R7$(5),e.SpI(" ",e.i5U(64,20,null==l.detailSchedule?null:l.detailSchedule.created_at,"dd/MM/yyyy")," "),e.R7$(3),e.Y8G("ngIf",!l.isPNGL()),e.R7$(2),e.Y8G("ngForOf",null==l.detailSchedule||null==l.detailSchedule.report?null:l.detailSchedule.report.segmens))},dependencies:[u.YU,u.Sq,u.bT,h.Wk,R.i,D,r.Cv,r.md,u.vh],styles:["@media screen and (min-width: 0px) and (max-width: 550px){.date[_ngcontent-%COMP%]{margin-left:0}}"]})}}return n})()}];let ue=(()=>{class n{static{this.\u0275fac=function(i){return new(i||n)}}static{this.\u0275mod=e.$C({type:n})}static{this.\u0275inj=e.G2t({imports:[u.MD,h.iI.forChild(de),R.i,D,r.oi,r.n8]})}}return n})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/773.972632dba9fc584b.js b/frontend-roadreport-deploy/dist/road-report/773.972632dba9fc584b.js new file mode 100644 index 0000000..70cbf2d --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/773.972632dba9fc584b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[773],{7773:(M,m,s)=>{s.r(m),s.d(m,{GudangModule:()=>U});var c=s(177),i=s(9417),k=s(9519),t=s(8699),d=s(6803),p=s(7110);function F(e,l){1&e&&(t.j41(0,"div",15),t.EFF(1," Harus diisi "),t.k0s())}function v(e,l){1&e&&(t.j41(0,"div",15),t.EFF(1," Awalan dan akhiran tidak boleh ada spasi "),t.k0s())}function _(e,l){1&e&&(t.j41(0,"div",15),t.EFF(1," Harus diisi "),t.k0s())}function C(e,l){1&e&&(t.j41(0,"div",15),t.EFF(1," Jumlah tidak valid "),t.k0s())}const f=function(e){return{"is-invalid":e}};let h=(()=>{class e{constructor(n,o,a){this.activeModal=n,this.formBuilder=o,this.helpers=a,this.action="create",this.data={},this.form={}}ngOnInit(){this.initForm()}initForm(){this.form=this.formBuilder.group({name:[null,[i.k0.required,k.M.noWhiteSpace]],qty:[null,[i.k0.required,i.k0.pattern(/^[0-9]+(\.[0-9]{1,2})?$/)]],unit:["Kg",[i.k0.required]]}),"update"===this.action&&this.data&&this.form.patchValue(this.data)}onSubmit(){this.form.valid&&this.activeModal.close(this.form.value)}static{this.\u0275fac=function(o){return new(o||e)(t.rXU(d.Lw),t.rXU(i.ok),t.rXU(p.V))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["app-action"]],inputs:{action:"action",data:"data"},standalone:!0,features:[t.aNF],decls:33,vars:16,consts:[[1,"modal-header"],[1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"formGroup"],[1,"mb-3"],[1,"form-label"],["type","text","formControlName","name",1,"form-control",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],["type","text","formControlName","qty",1,"form-control",3,"ngClass"],["formControlName","unit",1,"form-select"],[3,"value"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-primary",3,"click"],["type","button",1,"btn","btn-primary",3,"disabled","click"],[1,"invalid-feedback"]],template:function(o,a){1&o&&(t.j41(0,"div",0)(1,"h4",1),t.EFF(2),t.k0s(),t.j41(3,"button",2),t.bIt("click",function(){return a.activeModal.dismiss("Cross click")}),t.k0s()(),t.j41(4,"div",3)(5,"form",4)(6,"div",5)(7,"label",6),t.EFF(8,"Nama Material"),t.k0s(),t.nrm(9,"input",7),t.DNE(10,F,2,0,"div",8),t.DNE(11,v,2,0,"div",8),t.k0s(),t.j41(12,"div",5)(13,"label",6),t.EFF(14,"Jumlah"),t.k0s(),t.nrm(15,"input",9),t.DNE(16,_,2,0,"div",8),t.DNE(17,C,2,0,"div",8),t.k0s(),t.j41(18,"div",5)(19,"label",6),t.EFF(20,"Satuan"),t.k0s(),t.j41(21,"select",10)(22,"option",11),t.EFF(23,"Sak"),t.k0s(),t.j41(24,"option",11),t.EFF(25,"Pcs"),t.k0s(),t.j41(26,"option",11),t.EFF(27,"Kg"),t.k0s()()()()(),t.j41(28,"div",12)(29,"button",13),t.bIt("click",function(){return a.activeModal.close("Cancel")}),t.EFF(30," Batal "),t.k0s(),t.j41(31,"button",14),t.bIt("click",function(){return a.onSubmit()}),t.EFF(32," Simpan "),t.k0s()()),2&o&&(t.R7$(2),t.SpI(" ","create"===a.action?"Tambah":"Edit"," Material "),t.R7$(3),t.Y8G("formGroup",a.form),t.R7$(4),t.Y8G("ngClass",t.eq3(12,f,a.helpers.isInvalid(a.form,"name"))),t.R7$(1),t.Y8G("ngIf",a.helpers.hasError(a.form,"name","required")),t.R7$(1),t.Y8G("ngIf",a.helpers.hasError(a.form,"name","noWhiteSpace")),t.R7$(4),t.Y8G("ngClass",t.eq3(14,f,a.helpers.isInvalid(a.form,"qty"))),t.R7$(1),t.Y8G("ngIf",a.helpers.hasError(a.form,"qty","required")),t.R7$(1),t.Y8G("ngIf",a.helpers.hasError(a.form,"qty","pattern")),t.R7$(5),t.Y8G("value","Sak"),t.R7$(2),t.Y8G("value","Pcs"),t.R7$(2),t.Y8G("value","Kg"),t.R7$(5),t.Y8G("disabled",a.form.invalid))},dependencies:[c.MD,c.YU,c.bT,i.X1,i.qT,i.xH,i.y7,i.me,i.wz,i.BC,i.cb,i.j4,i.JD]})}}return e})();var y=s(2665),g=s(1413),b=s(6977),G=s(2423),j=s(1991),E=s(1626);let S=(()=>{class e extends j.G{constructor(n,o){super(n,o),this.http=n,this.helpers=o,this.endpoint="inventory-list"}static{this.\u0275fac=function(o){return new(o||e)(t.KVO(E.Qq),t.KVO(p.V))}}static{this.\u0275prov=t.jDH({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function I(e,l){1&e&&t.nrm(0,"i",9)}function $(e,l){if(1&e&&t.nrm(0,"input",10),2&e){const n=t.XpG();t.Y8G("formControl",n.searchForm)("readonly",0===n.dataSourceLength&&n.queries.filter&&!n.queries.search)}}function T(e,l){if(1&e){const n=t.RV6();t.j41(0,"button",11),t.bIt("click",function(){t.eBV(n);const a=t.XpG();return t.Njj(a.onCreate())}),t.EFF(1," Tambah Material "),t.k0s()}}function R(e,l){1&e&&(t.j41(0,"p",12),t.nrm(1,"i",13),t.EFF(2," Belum ada data. "),t.k0s())}function x(e,l){1&e&&(t.j41(0,"p",12),t.nrm(1,"i",14),t.EFF(2," Tidak ada hasil pencarian "),t.k0s())}function Y(e,l){if(1&e){const n=t.RV6();t.j41(0,"tr")(1,"td"),t.EFF(2),t.k0s(),t.j41(3,"td"),t.EFF(4),t.k0s(),t.j41(5,"td"),t.EFF(6),t.k0s(),t.j41(7,"td")(8,"div",23)(9,"button",24),t.bIt("click",function(){const r=t.eBV(n).$implicit,u=t.XpG(2);return t.Njj(u.onUpdate(r))}),t.EFF(10," Edit "),t.k0s(),t.j41(11,"button",25),t.bIt("click",function(){const r=t.eBV(n).$implicit,u=t.XpG(2);return t.Njj(u.onDeleteData(r.id,r.name))}),t.EFF(12," Hapus "),t.k0s()()()()}if(2&e){const n=l.$implicit;t.R7$(2),t.JRh(n.name),t.R7$(2),t.JRh(n.qty),t.R7$(2),t.JRh(n.unit)}}function D(e,l){if(1&e&&(t.j41(0,"option",26),t.EFF(1),t.k0s()),2&e){const n=l.$implicit,o=t.XpG(2);t.Y8G("value",n)("selected",n===o.queryLimit),t.R7$(1),t.SpI(" ",n," ")}}function N(e,l){if(1&e){const n=t.RV6();t.qex(0),t.j41(1,"div",15)(2,"table",16)(3,"thead")(4,"tr")(5,"th"),t.EFF(6,"Material"),t.k0s(),t.j41(7,"th"),t.EFF(8,"Jumlah"),t.k0s(),t.j41(9,"th"),t.EFF(10,"Satuan"),t.k0s(),t.nrm(11,"th"),t.k0s()(),t.j41(12,"tbody"),t.DNE(13,Y,13,3,"tr",17),t.k0s()()(),t.j41(14,"div",18)(15,"div",19)(16,"span"),t.EFF(17,"Item per halalaman"),t.k0s(),t.j41(18,"select",20),t.bIt("change",function(a){t.eBV(n);const r=t.XpG();return t.Njj(r.onPageSizeChange(a))}),t.DNE(19,D,2,3,"option",21),t.k0s(),t.j41(20,"span"),t.EFF(21),t.k0s()(),t.j41(22,"ngb-pagination",22),t.bIt("pageChange",function(a){t.eBV(n);const r=t.XpG();return t.Njj(r.queryPage=a)})("pageChange",function(a){t.eBV(n);const r=t.XpG();return t.Njj(r.onPaginateChange(a))}),t.k0s()(),t.bVm()}if(2&e){const n=t.XpG();t.R7$(13),t.Y8G("ngForOf",n.dataSource),t.R7$(6),t.Y8G("ngForOf",n.pageSizeOptions),t.R7$(2),t.SpI("dari ",n.dataSourceLength,""),t.R7$(1),t.Y8G("collectionSize",n.dataSourceLength)("page",n.queryPage)("maxSize",5)("pageSize",n.queryLimit)("rotate",!0)("ellipses",!1)("boundaryLinks",!1)("directionLinks",!0)}}let V=(()=>{class e extends y.v{constructor(n,o,a,r){super(n,o,a,r),this.helpers=n,this.loading=o,this.api=a,this.modal=r,this.dataInsertSubs$=new g.B,this.dataUpdateSubs$=new g.B,this.searchFields="name"}onCreate(){const n=this.modal.open(h);n.componentInstance.action="create",n.result.then(o=>{o&&this.api.insert(o).pipe((0,b.Q)(this.dataInsertSubs$)).subscribe({next:()=>{this.helpers.toast("success","Data berhasil ditambahkan"),this.getAll()},error:()=>{this.helpers.toast("error","Data gagal ditambahkan")}})},()=>{})}onUpdate(n){const o=this.modal.open(h);o.componentInstance.action="update",o.componentInstance.data=n,o.result.then(a=>{a&&this.api.update(n.id,a).pipe((0,b.Q)(this.dataUpdateSubs$)).subscribe({next:()=>{this.helpers.toast("success","Data berhasil diubah"),this.getAll()},error:()=>{this.helpers.toast("error","Data gagal diubah")}})},()=>{})}static{this.\u0275fac=function(o){return new(o||e)(t.rXU(p.V),t.rXU(G.U),t.rXU(S),t.rXU(d.Bq))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["app-gudang"]],features:[t.Vt3],decls:11,vars:7,consts:[[1,"mb-4","fw-bold"],[1,"rounded-3","p-4","bg-white"],[1,"d-flex","align-items-center","gap-3","flex-wrap","mb-3",3,"ngClass"],[1,"form-group","d-flex","align-items-center"],["class","position-absolute bi bi-search mx-auto ms-3","style","color: black",4,"ngIf"],["style","\n background: #f2f2f2;\n width: 254px;\n height: 48px;\n padding-left: 3rem;\n ","class","form-control border-0 form-control","type","text","placeholder","Cari data...",3,"formControl","readonly",4,"ngIf"],["class","btn btn-primary","type","button",3,"click",4,"ngIf"],["class","text-body-tertiary",4,"ngIf"],[4,"ngIf"],[1,"position-absolute","bi","bi-search","mx-auto","ms-3",2,"color","black"],["type","text","placeholder","Cari data...",1,"form-control","border-0","form-control",2,"background","#f2f2f2","width","254px","height","48px","padding-left","3rem",3,"formControl","readonly"],["type","button",1,"btn","btn-primary",3,"click"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"bi","bi-search"],[1,"table-responsive"],[1,"table"],[4,"ngFor","ngForOf"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap"],[1,"w-auto","d-flex","align-items-center","gap-2"],[1,"form-select","w-auto",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mb-n3",3,"collectionSize","page","maxSize","pageSize","rotate","ellipses","boundaryLinks","directionLinks","pageChange"],[1,"d-flex"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"],["type","button",1,"btn","btn-outline-primary",3,"click"],[3,"value","selected"]],template:function(o,a){1&o&&(t.j41(0,"h4",0),t.EFF(1,"Data Gudang"),t.k0s(),t.j41(2,"div",1)(3,"div",2)(4,"div",3),t.DNE(5,I,1,0,"i",4),t.DNE(6,$,1,2,"input",5),t.k0s(),t.DNE(7,T,2,0,"button",6),t.k0s(),t.DNE(8,R,3,0,"p",7),t.DNE(9,x,3,0,"p",7),t.DNE(10,N,23,11,"ng-container",8),t.k0s()),2&o&&(t.R7$(3),t.Y8G("ngClass",a.dataSourceTotal>0?"justify-content-between":"justify-content-end"),t.R7$(2),t.Y8G("ngIf",a.dataSourceTotal>0),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0),t.R7$(1),t.Y8G("ngIf",0==a.dataSourceTotal),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0&&0===a.dataSourceLength&&a.queries.search),t.R7$(1),t.Y8G("ngIf",a.dataSourceTotal>0&&a.dataSourceLength>0))},dependencies:[c.YU,c.Sq,c.bT,i.xH,i.y7,i.me,i.BC,i.l_,d.s5],styles:[".form-control[_ngcontent-%COMP%]::placeholder{color:#bdbdbd}"]})}}return e})();var X=s(8185);const B=[{path:"",component:V}];let U=(()=>{class e{static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275mod=t.$C({type:e})}static{this.\u0275inj=t.G2t({imports:[c.MD,X.iI.forChild(B),i.X1,d.c9]})}}return e})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/919.7d209c0e25a4d47f.js b/frontend-roadreport-deploy/dist/road-report/919.7d209c0e25a4d47f.js new file mode 100644 index 0000000..4d51051 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/919.7d209c0e25a4d47f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[919],{6919:(St,R,c)=>{c.r(R),c.d(R,{RekapitulasiModule:()=>xt});var m=c(177),w=c(8185),x=c(2665),f=c(8244),A=c(7374),p=c(9417),t=c(8699),I=c(1626);let P=(()=>{class i{constructor(e){this.http=e}getJsonData(){return this.http.get("assets/graf-tes.json")}static{this.\u0275fac=function(a){return new(a||i)(t.KVO(I.Qq))}}static{this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var $=c(1200),B=c(4576),j=c(5211),l=c(6803),G=c(1991),D=c(7110);let M=(()=>{class i extends G.G{constructor(e,a){super(e,a),this.http=e,this.helpers=a}static{this.\u0275fac=function(a){return new(a||i)(t.KVO(I.Qq),t.KVO(D.V))}}static{this.\u0275prov=t.jDH({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var S=c(2423),N=c(467),Y=c(6780);let C,U=1;const v={};function E(i){return i in v&&(delete v[i],!0)}const X={setImmediate(i){const o=U++;return v[o]=!0,C||(C=Promise.resolve()),C.then(()=>E(o)&&i()),o},clearImmediate(i){E(i)}},{setImmediate:V,clearImmediate:J}=X,_={setImmediate(...i){const{delegate:o}=_;return(o?.setImmediate||V)(...i)},clearImmediate(i){const{delegate:o}=_;return(o?.clearImmediate||J)(i)},delegate:void 0};var Z=c(3604);const K=new class H extends Z.q{flush(o){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:a}=this;let n;o=o||a.shift();do{if(n=o.execute(o.state,o.delay))break}while((o=a[0])&&o.id===e&&a.shift());if(this._active=!1,n){for(;(o=a[0])&&o.id===e&&a.shift();)o.unsubscribe();throw n}}}(class z extends Y.R{constructor(o,e){super(o,e),this.scheduler=o,this.work=e}requestAsyncId(o,e,a=0){return null!==a&&a>0?super.requestAsyncId(o,e,a):(o.actions.push(this),o._scheduled||(o._scheduled=_.setImmediate(o.flush.bind(o,void 0))))}recycleAsyncId(o,e,a=0){var n;if(null!=a?a>0:this.delay>0)return super.recycleAsyncId(o,e,a);const{actions:s}=o;null!=e&&(null===(n=s[s.length-1])||void 0===n?void 0:n.id)!==e&&(_.clearImmediate(e),o._scheduled===e&&(o._scheduled=void 0))}}),q=["chart"];let O=(()=>{class i{constructor(){this.autoUpdateSeries=!0,this.chartReady=new t.bkB,this.chartInstance=(0,t.vPA)(null),this.ngZone=(0,t.WQX)(t.SKi),this.isBrowser=(0,m.UE)((0,t.WQX)(t.Agw))}ngOnChanges(e){this.isBrowser&&this.ngZone.runOutsideAngular(()=>{K.schedule(()=>this.hydrate(e))})}ngOnDestroy(){this.destroy()}hydrate(e){this.autoUpdateSeries&&0===Object.keys(e).filter(n=>"series"!==n).length?this.updateSeries(this.series,!0):this.createElement()}createElement(){var e=this;return(0,N.A)(function*(){const{default:a}=yield c.e(550).then(c.t.bind(c,4550,19));window.ApexCharts||=a;const n={};e.annotations&&(n.annotations=e.annotations),e.chart&&(n.chart=e.chart),e.colors&&(n.colors=e.colors),e.dataLabels&&(n.dataLabels=e.dataLabels),e.series&&(n.series=e.series),e.stroke&&(n.stroke=e.stroke),e.labels&&(n.labels=e.labels),e.legend&&(n.legend=e.legend),e.fill&&(n.fill=e.fill),e.tooltip&&(n.tooltip=e.tooltip),e.plotOptions&&(n.plotOptions=e.plotOptions),e.responsive&&(n.responsive=e.responsive),e.markers&&(n.markers=e.markers),e.noData&&(n.noData=e.noData),e.xaxis&&(n.xaxis=e.xaxis),e.yaxis&&(n.yaxis=e.yaxis),e.forecastDataPoints&&(n.forecastDataPoints=e.forecastDataPoints),e.grid&&(n.grid=e.grid),e.states&&(n.states=e.states),e.title&&(n.title=e.title),e.subtitle&&(n.subtitle=e.subtitle),e.theme&&(n.theme=e.theme),e.destroy();const s=e.ngZone.runOutsideAngular(()=>new a(e.chartElement.nativeElement,n));e.chartInstance.set(s),e.render(),e.chartReady.emit({chartObj:s})})()}render(){return this.ngZone.runOutsideAngular(()=>this.chartInstance()?.render())}updateOptions(e,a,n,s){return this.ngZone.runOutsideAngular(()=>this.chartInstance()?.updateOptions(e,a,n,s))}updateSeries(e,a){return this.ngZone.runOutsideAngular(()=>this.chartInstance()?.updateSeries(e,a))}appendSeries(e,a){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.appendSeries(e,a))}appendData(e){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.appendData(e))}highlightSeries(e){return this.ngZone.runOutsideAngular(()=>this.chartInstance()?.highlightSeries(e))}toggleSeries(e){return this.ngZone.runOutsideAngular(()=>this.chartInstance()?.toggleSeries(e))}showSeries(e){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.showSeries(e))}hideSeries(e){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.hideSeries(e))}resetSeries(){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.resetSeries())}zoomX(e,a){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.zoomX(e,a))}toggleDataPointSelection(e,a){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.toggleDataPointSelection(e,a))}destroy(){this.chartInstance()?.destroy(),this.chartInstance.set(null)}setLocale(e){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.setLocale(e))}paper(){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.paper())}addXaxisAnnotation(e,a,n){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.addXaxisAnnotation(e,a,n))}addYaxisAnnotation(e,a,n){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.addYaxisAnnotation(e,a,n))}addPointAnnotation(e,a,n){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.addPointAnnotation(e,a,n))}removeAnnotation(e,a){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.removeAnnotation(e,a))}clearAnnotations(e){this.ngZone.runOutsideAngular(()=>this.chartInstance()?.clearAnnotations(e))}dataURI(e){return this.chartInstance()?.dataURI(e)}static{this.\u0275fac=function(a){return new(a||i)}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["apx-chart"]],viewQuery:function(a,n){if(1&a&&t.GBs(q,7),2&a){let s;t.mGM(s=t.lsd())&&(n.chartElement=s.first)}},inputs:{chart:"chart",annotations:"annotations",colors:"colors",dataLabels:"dataLabels",series:"series",stroke:"stroke",labels:"labels",legend:"legend",markers:"markers",noData:"noData",fill:"fill",tooltip:"tooltip",plotOptions:"plotOptions",responsive:"responsive",xaxis:"xaxis",yaxis:"yaxis",forecastDataPoints:"forecastDataPoints",grid:"grid",states:"states",title:"title",subtitle:"subtitle",theme:"theme",autoUpdateSeries:"autoUpdateSeries"},outputs:{chartReady:"chartReady"},standalone:!0,features:[t.OA$,t.aNF],decls:2,vars:0,consts:[["chart",""]],template:function(a,n){1&a&&t.nrm(0,"div",null,0)},encapsulation:2,changeDetection:0})}}return i})(),L=(()=>{class i{static{this.\u0275fac=function(a){return new(a||i)}}static{this.\u0275mod=t.$C({type:i})}static{this.\u0275inj=t.G2t({})}}return i})();var T=c(5946);function Q(i,o){if(1&i&&(t.j41(0,"option",41),t.EFF(1),t.k0s()),2&i){const e=o.$implicit;t.Y8G("value",e),t.R7$(1),t.SpI(" ",e," ")}}function W(i,o){1&i&&(t.j41(0,"p",42),t.nrm(1,"i",43),t.EFF(2," Belum ada data. "),t.k0s())}function tt(i,o){if(1&i&&(t.j41(0,"div",44)(1,"div",45)(2,"div",46)(3,"div",47)(4,"h4",48),t.EFF(5,"Total Laporan"),t.k0s(),t.j41(6,"h6",49),t.EFF(7),t.k0s()(),t.j41(8,"span",50),t.nrm(9,"i",51),t.k0s()()(),t.j41(10,"div",45)(11,"div",46)(12,"div",47)(13,"h4",48),t.EFF(14,"Dalam Proses"),t.k0s(),t.j41(15,"h6",49),t.EFF(16),t.k0s()(),t.j41(17,"span",52),t.nrm(18,"i",53),t.k0s()()(),t.j41(19,"div",45)(20,"div",46)(21,"div",47)(22,"h4",48),t.EFF(23,"Ditindak Lanjuti"),t.k0s(),t.j41(24,"h6",49),t.EFF(25),t.k0s()(),t.j41(26,"span",54),t.nrm(27,"img",55),t.k0s()()(),t.j41(28,"div",45)(29,"div",46)(30,"div",47)(31,"h4",48),t.EFF(32,"Perbaikan"),t.k0s(),t.j41(33,"h6",49),t.EFF(34),t.k0s()(),t.j41(35,"span",56),t.nrm(36,"i",57),t.k0s()()(),t.j41(37,"div",45)(38,"div",46)(39,"div",47)(40,"h4",48),t.EFF(41,"Tertolak"),t.k0s(),t.j41(42,"h6",49),t.EFF(43),t.k0s()(),t.j41(44,"span",58),t.nrm(45,"i",59),t.k0s()()(),t.j41(46,"div",45)(47,"div",46)(48,"div",47)(49,"h4",48),t.EFF(50,"Selesai"),t.k0s(),t.j41(51,"h6",49),t.EFF(52),t.k0s()(),t.j41(53,"span",60),t.nrm(54,"i",61),t.k0s()()()()),2&i){const e=t.XpG();t.R7$(7),t.SpI(" ",e.count["Semua Laporan"]?e.count["Semua Laporan"]:"-"," "),t.R7$(9),t.SpI(" ",e.count["Dalam Proses"]?e.count["Dalam Proses"]:"-"," "),t.R7$(9),t.SpI(" ",e.count["Ditindak Lanjuti"]?e.count["Ditindak Lanjuti"]:"-"," "),t.R7$(9),t.SpI(" ",e.count.Perbaikan?e.count.Perbaikan:"-"," "),t.R7$(9),t.SpI(" ",e.count.Ditolak?e.count.Ditolak:"-"," "),t.R7$(9),t.SpI(" ",e.count["Laporan Selesai & Sudah Divalidasi"]?e.count["Laporan Selesai & Sudah Divalidasi"]:"-"," ")}}function et(i,o){if(1&i&&(t.j41(0,"li",65),t.nrm(1,"span",66),t.j41(2,"span",67),t.EFF(3),t.k0s()()),2&i){const e=o.$implicit,a=t.XpG(2);t.R7$(1),t.xc7("background-color","DSS"===a.selectedOption?a.getColorByStatusDss(e.status):a.getColorByStatusTitikLaporan(e.status)),t.R7$(1),t.Y8G("ngClass","DSS"===a.selectedOption?a.getColorByStatusDss(e.status):a.getColorByStatusTitikLaporan(e.status)),t.R7$(1),t.SpI(" ",e.status,"")}}function nt(i,o){if(1&i){const e=t.RV6();t.j41(0,"ul",62,63),t.bIt("ngbCollapseChange",function(n){t.eBV(e);const s=t.XpG();return t.Njj(s.isCollapsed=n)}),t.DNE(2,et,4,4,"li",64),t.k0s()}if(2&i){const e=t.XpG();t.xc7("width","DSS"===e.selectedOption?220:190,"px"),t.Y8G("ngbCollapse",e.isCollapsed),t.R7$(2),t.Y8G("ngForOf","DSS"===e.selectedOption?e.statusDss:e.statusTitikLaporan)}}function at(i,o){if(1&i){const e=t.RV6();t.j41(0,"div",68)(1,"button",69),t.EFF(2),t.k0s(),t.j41(3,"div",70)(4,"button",71),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.onOptionChange("DSS"))}),t.EFF(5," DSS "),t.k0s(),t.j41(6,"button",71),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.onOptionChange("Titik Laporan"))}),t.EFF(7," Titik Laporan "),t.k0s()()()}if(2&i){const e=t.XpG();t.R7$(2),t.SpI(" ",e.selectedOption," ")}}let st=(()=>{class i extends x.v{getJsonData(){this.tes.getJsonData().subscribe(e=>{this.jsonData=e,console.log(this.jsonData);const n=[];for(const s in this.jsonData.data){const r=Object.prototype.hasOwnProperty.call(this.jsonData.data,s)&&"object"==typeof this.jsonData.data[s],h=!r&&"Semua Laporan"!==s;r&&n.push(s),h&&console.log("month Date","Object"===this.jsonData.data[s])}console.log("Isi Categories",n),console.log("Isi Series Data",[])})}constructor(e,a,n,s,r,u,h,g,d,k,b){super(d,b,k,g),this.tes=e,this.formBuilder=a,this.reportSegmens=n,this.subDistrict=s,this.report=r,this.calendar=u,this.rekapitulasi=h,this.modal=g,this.helpers=d,this.api=k,this.loading=b,this.hoveredDate=null,this.toDate=null,this.showDatePicker=!1,this.formYears={},this.form={},this.selectedFilter="Filter",this.years=[],this.showOption=!0,this.isExpand=!0,this.isCollapsed=!1,this.selectedOption="DSS",this.selectedData=[],this.statusDss=[],this.statusTitikLaporan=[],this.polylineLayer=new f.FeatureGroup,this.polygonLayer=new f.FeatureGroup,this.pointLayer=new f.FeatureGroup,this.mapOptions={layers:[(0,f.tileLayer)("http://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:22,minZoom:11})],scrollWheelZoom:!1,zoom:14,dragging:!0,doubleClickZoom:!1,touchZoom:!1,tap:!1,center:(0,f.latLng)(-7.8699381,112.5285772)},this.getJsonData(),this.initYears();const F=(new Date).getFullYear();for(let y=F-5;y{this.pieData=e.data,this.splineData=e.data,this.radarData=e.data,this.defaultPie=e,this.quartet(0,2023)}}),this.initializeCharts()}format(e){const a=this.formYears.value.years;let n="";return e instanceof Date&&!isNaN(e.getTime())?n=`${a}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}`:console.log("Nilai date tidak valid."),n}quartet(e,a){let n,s;switch(e){case 1:n=new Date(a,0,1),s=new Date(a,2,31);break;case 2:n=new Date(a,3,1),s=new Date(a,5,30);break;case 3:n=new Date(a,6,1),s=new Date(a,8,30);break;case 4:n=new Date(a,9,1),s=new Date(a,11,31)}const r=this.format(n),u=this.format(s);if(console.log(r,u),this.rekapitulasi.endpoint=`report-list/range-count?start_date=${r}&end_date=${u}`,this.rekapitulasi.getAll().subscribe({next:({data:h})=>{this.count=h}}),0===e){const h=this.defaultPie?.data.month||[];this.calculateTotalStatus(h||[]),this.calculateTotalSpline(h||[])}else{this.initializeCharts();const h=3,g=(e-1)*h,d=g+h,k=this.pieData.month?.slice(g,d),F=(this.splineData.month?.slice(g,d),this.radarData.month?.slice(g,d));switch(e){case 1:this.splineOptions.xaxis.categories=["Jan","Feb","Mar"],this.radarOptions.xaxis.categories=["Jan","Feb","Mar"];break;case 2:this.splineOptions.xaxis.categories=["Apr","May","Jun"],this.radarOptions.xaxis.categories=["Apr","May","Jun"];break;case 3:this.splineOptions.xaxis.categories=["Jul","Aug","Sep"],this.radarOptions.xaxis.categories=["Jul","Aug","Sep"];break;case 4:this.splineOptions.xaxis.categories=["Oct","Nov","Dec"],this.radarOptions.xaxis.categories=["Oct","Nov","Dec"]}this.selectedFilter=`Kuartal ${e}`,this.calculateTotalSpline(F||[]),this.calculateTotalStatus(k||[])}}calculateTotalSpline(e){const a={};console.log("tes",a),e.forEach(n=>{Object.keys(n).forEach(s=>{"month"!==s&&(a[s]||(a[s]=[]),a[s].push(n[s]||0))})}),console.log(this.splineOptions);for(const[n,s]of Object.entries(a))this.splineOptions.series.push({name:`${n}`,data:s});for(const[n,s]of Object.entries(a))this.radarOptions.series.push({name:`${n}`,data:s});return a}calculateTotalStatus(e){const a={};e.forEach(n=>{Object.keys(n).forEach(s=>{"month"!==s&&(a[s]||(a[s]=0)),a[s]+=n[s]||0})});for(const[n,s]of Object.entries(a))this.pieOptions.labels.push(n),this.pieOptions.series.push(s);return a}initYears(){this.formYears=this.formBuilder.group({years:[2023,[p.k0.required]]})}getYears(){}getMonthRange(){const e=new Date,a=e.getFullYear(),n=e.getMonth(),s=new Date(a,n,1),r=new Date(a,n+1,0);return s.setDate(s.getDate()+1),r.setDate(r.getDate()+1),this.start_date=s.toISOString().slice(0,10),this.end_date=r.toISOString().slice(0,10),this.selectedFilter="Bulan Sekarang",{startDate:"",endDate:""}}getYearRange(){const a=(new Date).getFullYear(),n=new Date(a,0,1),s=new Date(a,11,31);return n.setDate(n.getDate()+1),s.setDate(s.getDate()+1),this.start_date=n.toISOString().slice(0,10),this.end_date=s.toISOString().slice(0,10),this.selectedFilter="Tahun Sekarang",console.log(n,s),{startDate:"",endDate:""}}submitDate(){this.rekapitulasi.endpoint=`report-list/range-count?start_date=${this.form.value.start_date}&end_date=${this.form.value.end_date}`,this.rekapitulasi.getAll().subscribe({next:({data:e})=>{this.count=e,this.count={"Ditindak Lanjuti":0,"Dalam Proses":0,Perbaikan:0,"Laporan Selesai & Sudah Divalidasi":0,"Selesai Perbaikan":0,Ditolak:0,...this.count}}}),this.rekapitulasi.endpoint=`report-segmens/range-level-count?start_date=${this.form.value.start_date}&end_date=${this.form.value.end_date}`,this.rekapitulasi.getAll().subscribe({next:({data:e})=>{this.level=e,this.pieOptions.series=Object.values(this.level),this.pieOptions.labels=Object.keys(this.level).map(n=>`${n}: ${this.level[n]}`);const a=Object.entries(this.level).filter(([n])=>"Total Semua Tingkat Kerusakan"!==n).reduce((n,[s,r])=>({...n,[s]:r}),{});this.pieOptions.series=Object.values(a),this.pieOptions.labels=Object.keys(a).map(n=>`${n}: ${a[n]}`)}}),this.rekapitulasi.endpoint=`report-segmens/range-type-count?start_date=${this.form.value.start_date}&end_date=${this.form.value.end_date}`,this.rekapitulasi.getAll().subscribe({next:({data:e})=>{this.type=e}}),this.api.endpoint=`report-list/range?start_date=${this.start_date}&end_date=${this.end_date}`,this.api.getAll().subscribe({next:({data:e})=>{this.updateReportSegmens(e)}})}toggleDatePicker(){this.showDatePicker=!this.showDatePicker}formatDate(e){return`${e.year}-${e.month<10?"0"+e.month:e.month}-${e.day<10?"0"+e.day:e.day}`}formatDateAndValues(){const e=this.formatDate(this.fromDate);let a=this.toDate?this.formatDate(this.toDate):null;return null===a&&(a=e),{startDate:e,endDate:a}}saveDates(){this.savedDates=this.formatDateAndValues()}showFormatDate(){const{startDate:e,endDate:a}=this.formatDateAndValues();return a?`${e} - ${a}`:e}summaryReport(){this.api.endpoint="report-list/count",this.api.getAll().subscribe({next:({data:e})=>{this.count=e}}),this.initializeCharts()}reportList(){this.api.endpoint="report-list",this.queryLimit=5,this.searchFields="no_ticket,user.fullname,segmens.segmen.name",this.queries={page:1,sort:"-created_at",limit:5,embed:"status_report,user,segmens,segmens.segmen,segmens.photos"},this.getAll()}ngOnInit(){this.summaryReport(),this.getMap()}initMap(e){this.map||(this.map=e),this.map.zoomControl.setPosition("bottomright")}getMap(){this.getSubDistrict(),this.getReportSegmens()}toggleFullscreen(){const e=document.getElementById("map");e&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():e.requestFullscreen&&e.requestFullscreen())}toggleCollapse(){this.isCollapsed||this.getStatusDss(),this.isCollapsed=!this.isCollapsed}onOptionChange(e){this.selectedOption=e,this.map&&(this.map.removeLayer(this.pointLayer),this.map.removeLayer(this.polygonLayer),this.map.removeLayer(this.polylineLayer)),this.selectedData=[],"DSS"===e?this.map&&this.map.closePopup():"Titik Laporan"===e&&(this.getStatusTitik(),this.getStatusSegmenByReport()),this.map&&("DSS"===e?(this.polygonLayer.addTo(this.map),this.polylineLayer.addTo(this.map)):"point"===e&&this.pointLayer.addTo(this.map))}getStatusTitik(){const e={"Dalam Proses":"#586AF5","Tindak Lanjut":"#FFAB00","Selesai Perbaikan":"#663000",Perbaikan:"#F35625",Selesai:"#24D07A"},a=Object.values(e);this.statusTitikLaporan=Object.keys(e).map((n,s)=>({status:n,jumlah:0,color:a[s]}))}getColorByStatusTitikLaporan(e){return{"Dalam Proses":"#586AF5","Tindak Lanjut":"#FFAB00","Selesai Perbaikan":"#663000",Perbaikan:"#F35625",Selesai:"#24D07A"}[e]||"transparent"}getStatusDss(){const e={"Berlubang Parah":"#215A99","Berlubang Sedang":"#2B79CC","Berlubang Ringan":"#87C0FF","Terkelupas Parah":"#18795F","Terkelupas Sedang":"#1CA762","Terkelupas Ringan":"#4FDA95","Retak Parah":"#992A44","Retak Sedang":"#FF4671","Retak Ringan":"#FF90AA","Bergelombang Parah":"#322564","Bergelombang Sedang":"#644BC8","Bergelombang Ringan":"#977EFB"},a=Object.values(e);this.statusDss=Object.keys(e).map((n,s)=>({status:n,jumlah:0,color:a[s]}))}getColorByStatusDss(e,a){const s={"Berlubang Parah":"#215A99","Berlubang Sedang":"#2B79CC","Berlubang Ringan":"#87C0FF","Terkelupas Parah":"#18795F","Terkelupas Sedang":"#1CA762","Terkelupas Ringan":"#4FDA95","Retak Parah":"#992A44","Retak Sedang":"#FF4671","Retak Ringan":"#FF90AA","Bergelombang Parah":"#322564","Bergelombang Sedang":"#644BC8","Bergelombang Ringan":"#977EFB",NULL:"#000000"};return s[`${e} ${a}`]||s[e]}getIconByStatus(e){switch(e){case"PROG":return"assets/images/icon/marker-dalam_proses.png";case"FOLUP":return"assets/images/icon/marker-tindak_lanjut.png";case"DONE":return"assets/images/icon/marker-selesai.png";case"RPR":return"assets/images/icon/marker-perbaikan.png";case"FIXED":return"assets/images/icon/marker-selesai-perbaikan.png";default:return"assets/images/icon/marker-default.svg"}}getSubDistrict(){this.subDistrict.getAll().subscribe(e=>{const a=e.data;if(a&&a.length>0){this.polygonLayer.clearLayers();for(const n of a){const s=JSON.parse(n.geojson),r=f.geoJSON(s,{style:{fillColor:"green",weight:2,color:"white"}});r.on("click",u=>{const h=u.target,g=n.name,d=f.popup().setContent(g);h.bindPopup(d).openPopup()}),r.addTo(this.polygonLayer)}this.map&&this.polygonLayer.addTo(this.map)}},e=>{})}getReportSegmens(){this.loading.isLoading(),this.reportSegmens.getAll({embed:"segmen,analytic_data"}).subscribe(({data:e})=>{this.updateReportSegmens(e)},e=>{})}updateReportSegmens(e){if(this.reportSegmensData=e,e&&e.length>0){this.polylineLayer.clearLayers();for(const a of e){const r=JSON.parse(a.segmen.geojson).coordinates.map(d=>({lat:d[1],lng:d[0]})),g=new f.Polyline(r,{color:this.getColorByStatusDss(a.user_type,a.user_level),weight:5});this.polylineLayer.addLayer(g)}this.map&&this.polylineLayer.addTo(this.map)}}getStatusSegmenByReport(){this.report.endpoint="report-list",this.report.getAll({embed:"segmens.segmen,segmens.analytic_data,segmens.photos,status_report,user"}).subscribe(e=>{const a=e.data;if(a&&a[0]?.segmens&&a[0]?.segmens.length>0){this.pointLayer.clearLayers();for(const n of a){const s=n.segmens;for(const r of s){const g=JSON.parse(r?.segmen?.geojson).coordinates.map(b=>({lat:b[1],lng:b[0]})),d=r.user_type+" "+r.user_level,k=n.status_id;if("RJT"!==k){const b=f.icon({iconUrl:this.getIconByStatus(k),iconSize:[32,32],iconAnchor:[16,32]}),F=f.marker(g[0],{icon:b}).addTo(this.pointLayer);this.pointLayer.setStyle({className:"mask"}),F.addTo(this.pointLayer),F.on("click",y=>{for(const jt of r.photos)this.map&&f.popup({className:"custom-popup"}).setLatLng(y.latlng).setContent(`\n
\n
\n
\n

\n ${n.status_report.name}\n

\n

\n No.Tiket ${n.no_ticket}\n

\n
\n\n
\n \n
\n
\n \n Nama ${n.user.fullname}\n
\n
\n \n ${r.segmen.name}\n
\n
\n \n ${A(n.created_at).format("DD-MM-YYYY")}\n
\n
\n
\n\n
\n \n \n ${r.user_type}\n ${r.user_level}\n \n
\n\n

\n ${n.note}\n

\n
\n
\n `).openOn(this.map)})}this.getColorByStatusTitikLaporan(n.status_report.name)}}this.getStatusTitik(),this.map&&this.pointLayer.addTo(this.map)}})}initializeCharts(){this.pieOptions={series:[],chart:{width:380,type:"pie"},labels:[],responsive:[{breakpoint:480,options:{chart:{width:200},legend:{position:"bottom"}}}]},this.splineOptions={series:[],chart:{height:350,type:"area"},dataLabels:{enabled:!1},stroke:{curve:"smooth",fill:{colors:["none"]}},xaxis:{categories:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},tooltip:{x:{format:"dd/MM/yy HH:mm"}}},this.radarOptions={series:[],chart:{height:350,type:"radar"},title:{text:"Basic Radar Chart"},xaxis:{categories:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}}}static{this.\u0275fac=function(a){return new(a||i)(t.rXU(P),t.rXU(p.ok),t.rXU($.B),t.rXU(B._),t.rXU(j.Z),t.rXU(l.iF),t.rXU(M),t.rXU(l.Bq),t.rXU(D.V),t.rXU(j.Z),t.rXU(S.U))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-rekapitulasi"]],features:[t.Vt3],decls:86,vars:23,consts:[[1,"h4","fw-bold"],[1,"row","gy-4","mt-2","p-2"],[1,"bg-white","p-4","rounded-3"],[1,"d-flex","align-items-start","justify-content-between","gap-3","flex-wrap","mb-3"],[1,"fw-semibold","d-flex","align-items-start"],[1,"d-flex","flex-wrap",3,"formGroup"],["id","years","formControlName","years",1,"form-control","me-2",2,"width","10rem",3,"click"],["disabled","","selected",""],[3,"value",4,"ngFor","ngForOf"],["ngbDropdown",""],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","fw-normal",2,"background-color","#eef0fd"],[1,"ms-4","bi","bi-funnel"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem","",3,"click"],["class","text-body-tertiary",4,"ngIf"],["class","row g-3",4,"ngIf"],["id","map",1,"w-100","position-relative","rounded-3","overflow-hidden","bg-secondary-subtle",2,"height","460px"],["id","status",1,"position-absolute","z-1","ms-3","mt-3"],["type","button","aria-controls","collapseExample",1,"btn","btn-light","fw-light","mb-2",3,"click"],[1,"bi","bi-info-circle","me-1","text-primary"],["class","list-unstyled d-flex flex-column row-gap-1 rounded-2 bg-white bg-opacity-75 p-3 mb-0",3,"ngbCollapse","width","ngbCollapseChange",4,"ngIf"],["id","optionData",1,"position-absolute","z-1","me-3","mt-3","d-flex",2,"right","0"],["ngbDropdown","","class","d-inline-block",4,"ngIf"],[1,"btn","btn-light",3,"click"],[3,"ngClass"],["leaflet","",1,"tes","position-relative","z-0","w-100","h-100",3,"leafletOptions","leafletMapReady"],[1,"rounded-3","p-4","bg-white"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3"],[1,"fw-semibold","mb-0"],[3,"series","chart","xaxis","stroke","tooltip","dataLabels"],[1,"rounded-3"],[1,"row","gap-3"],[1,"col","bg-white","rounded-3"],[1,"p-4","bg-white"],[1,"btn","no-caret","text-primary","me-2",2,"background-color","#eef0fd"],[1,"bi","bi-file-earmark-text","text-primary"],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","text-primary",2,"background-color","#eef0fd"],[1,"ms-2","bi","bi-funnel","text-primary"],["ngbDropdownItem",""],[3,"series","chart","labels","responsive"],[3,"series","chart","xaxis","title"],[3,"value"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"row","g-3"],[1,"col-lg","col-md","col-sm-6"],[1,"d-flex","align-items-start","justify-content-between","column-gap-3","p-4","rounded-3","border","h-100"],[1,"d-flex","flex-column-reverse"],[1,"h6","text-body-tertiary","mb-0"],[1,"h4"],[1,"flex-shrink-0","bg-info","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-database"],[1,"flex-shrink-0","bg-primary","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-clipboard"],[1,"d-flex","flex-column","justify-content-center","align-items-center","bg-warning","px-2","py-2","rounded-2"],["src","assets/images/loader.svg","alt",""],[1,"flex-shrink-0","px-2","py-1","text-white","rounded-2",2,"background-color","#3697ff"],[1,"bi","bi-arrow-clockwise"],[1,"flex-shrink-0","px-2","py-1","text-white","rounded-2","bg-danger"],[1,"bi","bi-x"],[1,"flex-shrink-0","bg-success","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-check-lg"],[1,"list-unstyled","d-flex","flex-column","row-gap-1","rounded-2","bg-white","bg-opacity-75","p-3","mb-0",3,"ngbCollapse","ngbCollapseChange"],["collapse","ngbCollapse"],["class","d-flex align-items-center",4,"ngFor","ngForOf"],[1,"d-flex","align-items-center"],[1,"p-1","rounded-circle","bg-status","me-2"],[1,"status-text",3,"ngClass"],["ngbDropdown","",1,"d-inline-block"],["type","button","id","dropdownBasic1","ngbDropdownToggle","",1,"btn","btn-primary","me-2"],["ngbDropdownMenu","","aria-labelledby","dropdownBasic1"],["ngbDropdownItem","",1,"py-2","px-2",3,"click"]],template:function(a,n){1&a&&(t.j41(0,"h1",0),t.EFF(1,"Rekapitulasi"),t.k0s(),t.j41(2,"div",1)(3,"div",2)(4,"div",3)(5,"h5",4),t.EFF(6," Ringkasan Total Laporan "),t.k0s(),t.j41(7,"form",5)(8,"select",6),t.bIt("click",function(){return n.getYears()}),t.j41(9,"option",7),t.EFF(10,"Pilih Tahun"),t.k0s(),t.DNE(11,Q,2,2,"option",8),t.k0s(),t.j41(12,"div",9)(13,"button",10),t.EFF(14),t.nrm(15,"i",11),t.k0s(),t.j41(16,"div",12)(17,"button",13),t.bIt("click",function(){return n.quartet(1,2023)}),t.EFF(18," Kuartal 1 "),t.k0s(),t.j41(19,"button",13),t.bIt("click",function(){return n.quartet(2,2023)}),t.EFF(20," Kuartal 2 "),t.k0s(),t.j41(21,"button",13),t.bIt("click",function(){return n.quartet(3,2023)}),t.EFF(22," Kuartal 3 "),t.k0s(),t.j41(23,"button",13),t.bIt("click",function(){return n.quartet(4,2023)}),t.EFF(24," Kuartal 4 "),t.k0s(),t.j41(25,"button",13),t.bIt("click",function(){return n.getMonthRange()}),t.EFF(26," Bulan Sekarang "),t.k0s(),t.j41(27,"button",13),t.bIt("click",function(){return n.getYearRange()}),t.EFF(28," Tahun Sekarang "),t.k0s()()()()(),t.DNE(29,W,3,0,"p",14),t.DNE(30,tt,55,6,"div",15),t.k0s(),t.j41(31,"div",16)(32,"div")(33,"div",17)(34,"button",18),t.bIt("click",function(){return n.toggleCollapse()}),t.nrm(35,"i",19),t.EFF(36," Info Garis "),t.k0s(),t.DNE(37,nt,3,4,"ul",20),t.k0s()(),t.j41(38,"div",21),t.DNE(39,at,8,1,"div",22),t.j41(40,"button",23),t.bIt("click",function(){return n.isExpand=!n.isExpand})("click",function(){return n.toggleFullscreen()}),t.nrm(41,"i",24),t.k0s()(),t.j41(42,"div",25),t.bIt("leafletMapReady",function(r){return n.initMap(r)}),t.k0s()(),t.j41(43,"div",26)(44,"div",27)(45,"h5",28),t.EFF(46,"Grafik Laporan"),t.k0s()(),t.nrm(47,"apx-chart",29),t.k0s(),t.j41(48,"div",30)(49,"div",31)(50,"div",32)(51,"div",33)(52,"div",27)(53,"h5",28),t.EFF(54,"Level Kerusakan"),t.k0s(),t.j41(55,"div",9)(56,"button",34),t.nrm(57,"i",35),t.EFF(58," Export PDF "),t.k0s(),t.j41(59,"button",36),t.EFF(60," Filter "),t.nrm(61,"i",37),t.k0s(),t.j41(62,"div",12)(63,"button",38),t.EFF(64,"Hari"),t.k0s(),t.j41(65,"button",38),t.EFF(66,"Bulan"),t.k0s()()()(),t.nrm(67,"apx-chart",39),t.k0s()(),t.j41(68,"div",32)(69,"div",33)(70,"div",27)(71,"h5",28),t.EFF(72,"Jenis Kerusakan"),t.k0s(),t.j41(73,"div",9)(74,"button",34),t.nrm(75,"i",35),t.EFF(76," Export PDF "),t.k0s(),t.j41(77,"button",36),t.EFF(78," Filter "),t.nrm(79,"i",37),t.k0s(),t.j41(80,"div",12)(81,"button",38),t.EFF(82,"Hari"),t.k0s(),t.j41(83,"button",38),t.EFF(84,"Bulan"),t.k0s()()()(),t.nrm(85,"apx-chart",40),t.k0s()()()()()),2&a&&(t.R7$(7),t.Y8G("formGroup",n.formYears),t.R7$(4),t.Y8G("ngForOf",n.years),t.R7$(3),t.SpI(" ",n.selectedFilter," "),t.R7$(15),t.Y8G("ngIf",null==n.count),t.R7$(1),t.Y8G("ngIf",n.count),t.R7$(7),t.Y8G("ngIf",n.isCollapsed),t.R7$(2),t.Y8G("ngIf",n.showOption),t.R7$(2),t.Y8G("ngClass",n.isExpand?"bi bi-arrows-angle-expand":"bi bi-arrows-angle-contract"),t.R7$(1),t.Y8G("leafletOptions",n.mapOptions),t.R7$(5),t.Y8G("series",n.splineOptions.series)("chart",n.splineOptions.chart)("xaxis",n.splineOptions.xaxis)("stroke",n.splineOptions.stroke)("tooltip",n.splineOptions.tooltip)("dataLabels",n.splineOptions.dataLabels),t.R7$(20),t.Y8G("series",n.pieOptions.series)("chart",n.pieOptions.chart)("labels",n.pieOptions.labels)("responsive",n.pieOptions.responsive),t.R7$(18),t.Y8G("series",n.radarOptions.series)("chart",n.radarOptions.chart)("xaxis",n.radarOptions.xaxis)("title",n.radarOptions.title))},dependencies:[m.YU,m.Sq,m.bT,l.tg,l.do,l.U0,l._H,p.qT,p.xH,p.y7,p.wz,p.BC,p.cb,p.j4,p.JD,O,l.$G,T.V1],styles:[".has-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:3rem}.has-search[_ngcontent-%COMP%] .form-control-feedback[_ngcontent-%COMP%]{position:absolute}.form-control[_ngcontent-%COMP%]::placeholder{color:#bdbdbd}.custom-day[_ngcontent-%COMP%]{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused[_ngcontent-%COMP%]{background-color:#e6e6e6}.custom-day.range[_ngcontent-%COMP%], .custom-day[_ngcontent-%COMP%]:hover{background-color:#0275d8;color:#fff}.custom-day.faded[_ngcontent-%COMP%]{background-color:#0275d880}"]})}}return i})();var it=c(2408);function ot(i,o){1&i&&(t.j41(0,"p",19),t.nrm(1,"i",20),t.EFF(2," Belum ada data. "),t.k0s())}function rt(i,o){if(1&i&&(t.j41(0,"div",21)(1,"div",22)(2,"div",23)(3,"div",24)(4,"h4",25),t.EFF(5,"Total Laporan"),t.k0s(),t.j41(6,"h6",26),t.EFF(7),t.k0s()(),t.j41(8,"span",27),t.nrm(9,"i",28),t.k0s()()(),t.j41(10,"div",22)(11,"div",23)(12,"div",24)(13,"h4",25),t.EFF(14,"Dalam Proses"),t.k0s(),t.j41(15,"h6",26),t.EFF(16),t.k0s()(),t.j41(17,"span",29),t.nrm(18,"i",30),t.k0s()()(),t.j41(19,"div",22)(20,"div",23)(21,"div",24)(22,"h4",25),t.EFF(23,"Ditindak Lanjuti"),t.k0s(),t.j41(24,"h6",26),t.EFF(25),t.k0s()(),t.j41(26,"span",31),t.nrm(27,"img",32),t.k0s()()(),t.j41(28,"div",22)(29,"div",23)(30,"div",24)(31,"h4",25),t.EFF(32,"Perbaikan"),t.k0s(),t.j41(33,"h6",26),t.EFF(34),t.k0s()(),t.j41(35,"span",33),t.nrm(36,"i",34),t.k0s()()(),t.j41(37,"div",22)(38,"div",23)(39,"div",24)(40,"h4",25),t.EFF(41,"Tertolak"),t.k0s(),t.j41(42,"h6",26),t.EFF(43),t.k0s()(),t.j41(44,"span",35),t.nrm(45,"i",36),t.k0s()()(),t.j41(46,"div",22)(47,"div",23)(48,"div",24)(49,"h4",25),t.EFF(50,"Selesai"),t.k0s(),t.j41(51,"h6",26),t.EFF(52),t.k0s()(),t.j41(53,"span",37),t.nrm(54,"i",38),t.k0s()()()()),2&i){const e=t.XpG();t.R7$(7),t.SpI(" ",e.count["Semua Laporan"]?e.count["Semua Laporan"]:"-"," "),t.R7$(9),t.SpI(" ",e.count["Dalam Proses"]?e.count["Dalam Proses"]:"-"," "),t.R7$(9),t.SpI(" ",e.count["Ditindak Lanjuti"]?e.count["Ditindak Lanjuti"]:"-"," "),t.R7$(9),t.SpI(" ",e.count.Perbaikan?e.count.Perbaikan:"-"," "),t.R7$(9),t.SpI(" ",e.count.Ditolak?e.count.Ditolak:"-"," "),t.R7$(9),t.SpI(" ",e.count["Laporan Selesai & Sudah Divalidasi"]?e.count["Laporan Selesai & Sudah Divalidasi"]:"-"," ")}}let lt=(()=>{class i extends x.v{constructor(e,a,n,s,r){super(n,r,s,a),this.modal=a,this.helpers=n,this.api=s,this.loading=r}ngOnInit(){this.api.getAll().subscribe({next:({data:e})=>{this.count=e}})}static{this.\u0275fac=function(a){return new(a||i)(t.rXU(l.iF),t.rXU(l.Bq),t.rXU(D.V),t.rXU(it.a),t.rXU(S.U))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-ringkasan"]],standalone:!0,features:[t.Vt3,t.aNF],decls:34,vars:3,consts:[[1,"bg-white","p-4","rounded-3"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3"],[1,"fw-semibold"],[1,"d-flex"],["ngbDropdown",""],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","fw-normal",2,"background-color","#eef0fd"],[1,"ms-4","bi","bi-funnel"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem",""],[1,"mx-3","my-auto"],[1,"row","row-cols-sm-auto"],[1,"col-12"],[1,"input-group",2,"background-color","#eef0fd"],["placeholder","yyyy-mm-dd","name","dp","ngbDatepicker","","autocomplete","off",1,"form-control",3,"ngModel","click","ngModelChange"],["d","ngbDatepicker"],["type","button",1,"btn","btn-outline-secondary","bi","bi-calendar2",3,"click"],[1,"ms-3","btn","btn-primary"],["class","text-body-tertiary",4,"ngIf"],["class","row g-3",4,"ngIf"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"row","g-3"],[1,"col-lg","col-md","col-sm-6"],[1,"d-flex","align-items-start","justify-content-between","column-gap-3","p-4","rounded-3","border","h-100"],[1,"d-flex","flex-column-reverse"],[1,"h6","text-body-tertiary","mb-0"],[1,"h4"],[1,"flex-shrink-0","bg-info","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-database"],[1,"flex-shrink-0","bg-primary","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-clipboard"],[1,"d-flex","flex-column","justify-content-center","align-items-center","bg-warning","px-2","py-2","rounded-2"],["src","assets/images/loader.svg","alt",""],[1,"flex-shrink-0","px-2","py-1","text-white","rounded-2",2,"background-color","#3697ff"],[1,"bi","bi-arrow-clockwise"],[1,"flex-shrink-0","px-2","py-1","text-white","rounded-2","bg-danger"],[1,"bi","bi-x"],[1,"flex-shrink-0","bg-success","px-2","py-1","text-white","rounded-2"],[1,"bi","bi-check-lg"]],template:function(a,n){if(1&a){const s=t.RV6();t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3,"Ringkasan Total Laporan"),t.k0s(),t.j41(4,"div",3)(5,"div",4)(6,"button",5),t.EFF(7," Filter "),t.nrm(8,"i",6),t.k0s(),t.j41(9,"div",7)(10,"button",8),t.EFF(11,"Kuartal 1"),t.k0s(),t.j41(12,"button",8),t.EFF(13,"Kuartal 2"),t.k0s(),t.j41(14,"button",8),t.EFF(15,"Kuartal 3"),t.k0s(),t.j41(16,"button",8),t.EFF(17,"Kuartal 4"),t.k0s(),t.j41(18,"button",8),t.EFF(19,"Bulan Sekarang"),t.k0s(),t.j41(20,"button",8),t.EFF(21,"Tahun Sekarang"),t.k0s()()(),t.j41(22,"span",9),t.EFF(23,"/"),t.k0s(),t.j41(24,"form",10)(25,"div",11)(26,"div",12)(27,"input",13,14),t.bIt("click",function(){t.eBV(s);const u=t.sdS(28);return t.Njj(u.toggle())})("ngModelChange",function(u){return n.model=u}),t.k0s(),t.j41(29,"button",15),t.bIt("click",function(){t.eBV(s);const u=t.sdS(28);return t.Njj(u.toggle())}),t.k0s()()()(),t.j41(30,"button",16),t.EFF(31,"Submit"),t.k0s()()(),t.DNE(32,ot,3,0,"p",17),t.DNE(33,rt,55,6,"div",18),t.k0s()}2&a&&(t.R7$(27),t.Y8G("ngModel",n.model),t.R7$(5),t.Y8G("ngIf",null==n.count),t.R7$(1),t.Y8G("ngIf",n.count))},dependencies:[m.MD,m.bT,p.X1,p.qT,p.me,p.BC,p.cb,l.zH,l.tg,l.do,l.U0,l._H,l.IQ,l.cw,p.YN,p.vS,p.cV]})}}return i})();var ct=c(2257);let pt=(()=>{class i{constructor(){this.chartOptions={series:[{name:"Series 1",data:[30,40,25,50,49,21,70,51,10,98,10,50]}],chart:{toolbar:{show:!1},height:350,type:"area"},xaxis:{categories:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"]},stroke:{curve:"smooth"},dataLabels:{enabled:!1},yaxis:{},title:{},labels:[],legend:{},subtitle:{}}}static{this.\u0275fac=function(a){return new(a||i)}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-grafik-laporan"]],standalone:!0,features:[t.aNF],decls:17,vars:5,consts:[[1,"rounded-3","p-4","bg-white"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3"],[1,"fw-semibold","mb-0"],["ngbDropdown",""],[1,"btn","no-caret","text-primary","me-2",2,"background-color","#eef0fd"],[1,"bi","bi-file-earmark-text","text-primary"],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","text-primary",2,"background-color","#eef0fd"],[1,"ms-2","bi","bi-funnel","text-primary"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem",""],[3,"series","chart","xaxis","stroke","dataLabels"]],template:function(a,n){1&a&&(t.j41(0,"div",0)(1,"div",1)(2,"h5",2),t.EFF(3,"Grafik Laporan"),t.k0s(),t.j41(4,"div",3)(5,"button",4),t.nrm(6,"i",5),t.EFF(7," Export PDF "),t.k0s(),t.j41(8,"button",6),t.EFF(9," Filter "),t.nrm(10,"i",7),t.k0s(),t.j41(11,"div",8)(12,"button",9),t.EFF(13,"Hari"),t.k0s(),t.j41(14,"button",9),t.EFF(15,"Bulan"),t.k0s()()()(),t.nrm(16,"apx-chart",10),t.k0s()),2&a&&(t.R7$(16),t.Y8G("series",n.chartOptions.series)("chart",n.chartOptions.chart)("xaxis",n.chartOptions.xaxis)("stroke",n.chartOptions.stroke)("dataLabels",n.chartOptions.dataLabels))},dependencies:[l.zH,l.tg,l.do,l.U0,l._H,L,O]})}}return i})();var dt=c(5471);function ut(i,o){if(1&i&&(t.j41(0,"div",14),t.nrm(1,"i",15)(2,"input",16),t.k0s()),2&i){const e=t.XpG();t.R7$(2),t.Y8G("formControl",e.searchForm)("readonly",0===e.dataSourceLength&&e.queries.filter&&!e.queries.search)}}function ht(i,o){1&i&&(t.j41(0,"button",17),t.nrm(1,"i",18),t.EFF(2," Export PDF "),t.k0s())}function gt(i,o){if(1&i){const e=t.RV6();t.j41(0,"button",11),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.applyFilter("PROG"))}),t.EFF(1," Dalam Proses "),t.k0s()}}function mt(i,o){if(1&i){const e=t.RV6();t.j41(0,"button",11),t.bIt("click",function(){t.eBV(e);const n=t.XpG();return t.Njj(n.applyFilter("RJT"))}),t.EFF(1," Ditolak "),t.k0s()}}function ft(i,o){1&i&&(t.j41(0,"p",19),t.nrm(1,"i",20),t.EFF(2," Belum ada data. "),t.k0s())}function bt(i,o){1&i&&(t.j41(0,"p",19),t.nrm(1,"i",21),t.EFF(2," Tidak ada hasil pencarian "),t.k0s())}const kt=function(i,o,e,a,n,s){return{"bg-primary":i,"bg-warning":o,"bg-danger":e,"bg-info":a,"bg-secondary":n,"bg-success":s,"text-nowrap text-white text-center rounded-2 px-2 py-2":!0,"d-block":!0}};function Ft(i,o){if(1&i){const e=t.RV6();t.j41(0,"tr")(1,"td"),t.EFF(2),t.nI1(3,"date"),t.k0s(),t.j41(4,"td"),t.EFF(5),t.k0s(),t.j41(6,"td"),t.EFF(7),t.k0s(),t.j41(8,"td")(9,"small",30),t.EFF(10),t.k0s()(),t.j41(11,"td")(12,"a",31),t.EFF(13),t.k0s()(),t.j41(14,"td"),t.EFF(15),t.k0s(),t.j41(16,"td",32)(17,"div",33)(18,"button",34),t.bIt("click",function(){const s=t.eBV(e).$implicit,r=t.XpG(2);return t.Njj(r.goToDetail(s.id))}),t.EFF(19," Detail "),t.k0s()()()()}if(2&i){const e=o.$implicit,a=t.XpG(2);t.R7$(2),t.JRh(t.i5U(3,11,e.created_at,"dd/MM/yyyy")),t.R7$(3),t.JRh(e.no_ticket),t.R7$(2),t.JRh(e.user.fullname),t.R7$(2),t.Y8G("ngClass",t.l4e(14,kt,"PROG"===e.status_report.id,"FOLUP"===e.status_report.id,"RJT"===e.status_report.id,"RPR"===e.status_report.id,"FIXED"===e.status_report.id,"DONE"===e.status_report.id)),t.R7$(1),t.SpI(" ","DONE"===e.status_report.id?"Selesai":e.status_report.name," "),t.R7$(2),t.FRS("href","https://www.google.com/maps/search/?api=1&query=",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[1],",",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[0],"&zoom=15&markers=",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[1],",",a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates[0],"",t.B4B),t.R7$(1),t.SpI(" ","["+a.parsing(e.segmens[e.segmens.length-1].segmen.center_point).coordinates.reverse().join(", ")+"]"," "),t.R7$(2),t.SpI(" ",e.segmens.length>0?e.segmens[e.segmens.length-1].segmen.name:"-"," ")}}function yt(i,o){if(1&i&&(t.j41(0,"option",35),t.EFF(1),t.k0s()),2&i){const e=o.$implicit,a=t.XpG(2);t.Y8G("value",e)("selected",e===a.queryLimit),t.R7$(1),t.SpI(" ",e," ")}}function Dt(i,o){if(1&i){const e=t.RV6();t.qex(0),t.j41(1,"div",22)(2,"table",23)(3,"thead")(4,"tr")(5,"th"),t.EFF(6,"Tanggal"),t.k0s(),t.j41(7,"th"),t.EFF(8,"No Tiket"),t.k0s(),t.j41(9,"th"),t.EFF(10,"Nama Pelapor"),t.k0s(),t.j41(11,"th"),t.EFF(12,"Status"),t.k0s(),t.j41(13,"th"),t.EFF(14,"Lihat Maps"),t.k0s(),t.j41(15,"th"),t.EFF(16,"Lokasi"),t.k0s(),t.j41(17,"th"),t.EFF(18,"Aksi"),t.k0s()()(),t.j41(19,"tbody"),t.DNE(20,Ft,20,21,"tr",24),t.k0s()()(),t.j41(21,"div",25)(22,"div",26)(23,"span"),t.EFF(24,"Item per halalaman"),t.k0s(),t.j41(25,"select",27),t.bIt("change",function(n){t.eBV(e);const s=t.XpG();return t.Njj(s.onPageSizeChange(n))}),t.DNE(26,yt,2,3,"option",28),t.k0s(),t.j41(27,"span"),t.EFF(28),t.k0s()(),t.j41(29,"ngb-pagination",29),t.bIt("pageChange",function(n){t.eBV(e);const s=t.XpG();return t.Njj(s.queryPage=n)})("pageChange",function(n){t.eBV(e);const s=t.XpG();return t.Njj(s.onPaginateChange(n))}),t.k0s()(),t.bVm()}if(2&i){const e=t.XpG();t.R7$(20),t.Y8G("ngForOf",e.dataSource),t.R7$(6),t.Y8G("ngForOf",e.pageSizeOptions),t.R7$(2),t.SpI("dari ",e.dataSourceLength,""),t.R7$(1),t.Y8G("collectionSize",e.dataSourceLength)("page",e.queryPage)("maxSize",5)("pageSize",e.queryLimit)("rotate",!0)("ellipses",!1)("boundaryLinks",!1)("directionLinks",!0)}}let vt=(()=>{class i extends x.v{constructor(e,a,n,s,r,u){super(s,u,r,n),this.router=e,this.auth=a,this.modal=n,this.helpers=s,this.api=r,this.loading=u,this.statusId="",this.field={eq:this.statusId},this.queryLimit=5,this.queries={page:1,sort:"-created_at",limit:5,embed:"status_report,user,segmens,segmens.segmen,segmens.photos"},"PNGL"==this.auth.getLoggedUser().role.code&&(this.api.endpoint="report-list/pengelola")}applyFilter(e){return this.statusId=e,""!==this.statusId?this.queries.filter={status_id:{eq:this.statusId}}:"SADM"==this.auth.getLoggedUser().role.code?delete this.queries.filter.status_id:this.queries.filter={status_id:{ne:"PROG,RJT"}},this.getAll(),!0}goToDetail(e){this.auth.getLoggedUser(),this.router.navigate(["dashboard","data-laporan",e])}isPNGL(){const e=this.auth.getLoggedUser();return!!e&&"SADM"===e.role.code}parsing(e){return JSON.parse(e)}static{this.\u0275fac=function(a){return new(a||i)(t.rXU(w.Ix),t.rXU(dt.u),t.rXU(l.Bq),t.rXU(D.V),t.rXU(j.Z),t.rXU(S.U))}}static{this.\u0275cmp=t.VBU({type:i,selectors:[["app-laporan"]],standalone:!0,features:[t.Vt3,t.aNF],decls:26,vars:8,consts:[[1,"rounded-3","p-4","bg-white"],[1,"fw-semibold","mb-4"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3",3,"ngClass"],["class","form-group has-search d-flex align-items-center",4,"ngIf"],["ngbDropdown",""],["class","btn no-caret text-primary me-2","style","background-color: #eef0fd",4,"ngIf"],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","text-primary",2,"background-color","#eef0fd"],[1,"ms-2","bi","bi-funnel","text-primary"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem","",1,"dropdown-item",3,"click"],["ngbDropdownItem","",3,"click",4,"ngIf"],["ngbDropdownItem","",3,"click"],["class","text-body-tertiary",4,"ngIf"],[4,"ngIf"],[1,"form-group","has-search","d-flex","align-items-center"],[1,"bi","bi-search","form-control-feedback","mx-auto","ms-3",2,"color","black"],["type","text","placeholder","Cari data...",1,"form-control","border-0","form-control",2,"background","#f2f2f2","height","48px",3,"formControl","readonly"],[1,"btn","no-caret","text-primary","me-2",2,"background-color","#eef0fd"],[1,"bi","bi-file-earmark-text","text-primary"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"bi","bi-search"],[1,"table-responsive"],[1,"table"],[4,"ngFor","ngForOf"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap"],[1,"w-auto","d-flex","align-items-center","gap-2"],[1,"form-select","w-auto",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mb-n3",3,"collectionSize","page","maxSize","pageSize","rotate","ellipses","boundaryLinks","directionLinks","pageChange"],[3,"ngClass"],["target","_blank",1,"text-nowrap",3,"href"],[1,""],[1,"d-flex"],["type","button",1,"btn","btn-outline-primary","me-2",3,"click"],[3,"value","selected"]],template:function(a,n){1&a&&(t.j41(0,"div",0)(1,"h5",1),t.EFF(2,"Data Laporan"),t.k0s(),t.j41(3,"div",2),t.DNE(4,ut,3,2,"div",3),t.j41(5,"div",4),t.DNE(6,ht,3,0,"button",5),t.j41(7,"button",6),t.EFF(8," Filter "),t.nrm(9,"i",7),t.k0s(),t.j41(10,"div",8)(11,"button",9),t.bIt("click",function(){return n.applyFilter("")}),t.EFF(12," Semua "),t.k0s(),t.DNE(13,gt,2,0,"button",10),t.j41(14,"button",11),t.bIt("click",function(){return n.applyFilter("FOLUP")}),t.EFF(15," Ditindak Lanjuti "),t.k0s(),t.j41(16,"button",11),t.bIt("click",function(){return n.applyFilter("RPR")}),t.EFF(17,"Perbaikan"),t.k0s(),t.j41(18,"button",11),t.bIt("click",function(){return n.applyFilter("FIXED")}),t.EFF(19," Selesai Perbaikan "),t.k0s(),t.DNE(20,mt,2,0,"button",10),t.j41(21,"button",11),t.bIt("click",function(){return n.applyFilter("DONE")}),t.EFF(22,"Selesai"),t.k0s()()()(),t.DNE(23,ft,3,0,"p",12),t.DNE(24,bt,3,0,"p",12),t.DNE(25,Dt,30,11,"ng-container",13),t.k0s()),2&a&&(t.R7$(3),t.Y8G("ngClass",n.dataSourceTotal>0?"justify-content-between":"justify-content-end"),t.R7$(1),t.Y8G("ngIf",n.dataSourceTotal>0),t.R7$(2),t.Y8G("ngIf",n.dataSourceTotal>0),t.R7$(7),t.Y8G("ngIf",n.isPNGL()),t.R7$(7),t.Y8G("ngIf",n.isPNGL()),t.R7$(3),t.Y8G("ngIf",0==n.dataSourceTotal),t.R7$(1),t.Y8G("ngIf",n.dataSourceTotal>0&&0===n.dataSourceLength&&n.queries.search),t.R7$(1),t.Y8G("ngIf",n.dataSourceTotal>0&&n.dataSourceLength>0))},dependencies:[l.c9,l.s5,l.zH,l.tg,l.do,l.U0,l._H,m.MD,m.YU,m.Sq,m.bT,m.vh,p.X1,p.xH,p.y7,p.me,p.BC,p.l_],styles:[".has-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:3rem}.has-search[_ngcontent-%COMP%] .form-control-feedback[_ngcontent-%COMP%]{position:absolute}.form-control[_ngcontent-%COMP%]::placeholder{color:#bdbdbd}"]})}}return i})();const _t=[{path:"",component:st}];let xt=(()=>{class i{static{this.\u0275fac=function(a){return new(a||i)}}static{this.\u0275mod=t.$C({type:i})}static{this.\u0275inj=t.G2t({imports:[m.MD,w.iI.forChild(_t),lt,ct.i,pt,vt,l.IQ,l.zH,p.YN,p.X1,L,l.c9,l.HC,l.oi,l.UN,T.gI]})}}return i})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/965.e88361bb90823cf2.js b/frontend-roadreport-deploy/dist/road-report/965.e88361bb90823cf2.js new file mode 100644 index 0000000..ca6dc52 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/965.e88361bb90823cf2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[965],{965:(I,g,s)=>{s.r(g),s.d(g,{SurveyorModule:()=>R});var d=s(177),p=s(8185),f=s(2665),e=s(8699),i=s(6803),m=s(7110),v=s(1991),y=s(1626),b=s(5471);let F=(()=>{class n extends v.G{constructor(t,r,o,a){super(t,r),this.http=t,this.helpers=r,this.router=o,this.auth=a,this.endpoint=`report-list/surveyor/${a.getLoggedUser().id}`}static{this.\u0275fac=function(r){return new(r||n)(e.KVO(y.Qq),e.KVO(m.V),e.KVO(p.Ix),e.KVO(b.u))}}static{this.\u0275prov=e.jDH({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var S=s(2423),l=s(9417);function j(n,c){if(1&n&&(e.j41(0,"div",11),e.nrm(1,"i",12)(2,"input",13),e.k0s()),2&n){const t=e.XpG();e.R7$(2),e.Y8G("formControl",t.searchForm)("readonly",0===t.dataSourceLength&&t.queries.filter&&!t.queries.search)}}function k(n,c){1&n&&(e.j41(0,"p",14),e.nrm(1,"i",15),e.EFF(2," Belum ada data. "),e.k0s())}function C(n,c){1&n&&(e.j41(0,"p",14),e.nrm(1,"i",16),e.EFF(2," Tidak ada hasil pencarian "),e.k0s())}function _(n,c){if(1&n){const t=e.RV6();e.j41(0,"tr")(1,"td",25),e.EFF(2),e.nI1(3,"date"),e.nI1(4,"date"),e.k0s(),e.j41(5,"td"),e.EFF(6),e.k0s(),e.j41(7,"td"),e.EFF(8),e.k0s(),e.j41(9,"td"),e.EFF(10),e.k0s(),e.j41(11,"td")(12,"a",26),e.EFF(13),e.k0s()(),e.j41(14,"td",27)(15,"div",28)(16,"button",29),e.bIt("click",function(){const a=e.eBV(t).$implicit,u=e.XpG(2);return e.Njj(u.goToDetail(a.id))}),e.EFF(17),e.k0s()()()()}if(2&n){const t=c.$implicit,r=e.XpG(2);e.R7$(2),e.Lme(" ",e.i5U(3,12,t.survey_start_date,"dd/MM/yyyy"),"",t.survey_end_date?"-"+e.i5U(4,15,t.survey_end_date,"dd/MM/yyyy"):""," "),e.R7$(4),e.JRh(t.no_ticket),e.R7$(2),e.SpI(" ",t.segmens.length>0?t.segmens[t.segmens.length-1].segmen.name:"-"," "),e.R7$(2),e.JRh(t.user.fullname),e.R7$(2),e.FRS("href","https://www.google.com/maps/search/?api=1&query=",r.parsing(t.segmens[t.segmens.length-1].segmen.center_point).coordinates[1],",",r.parsing(t.segmens[t.segmens.length-1].segmen.center_point).coordinates[0],"&zoom=15&markers=",r.parsing(t.segmens[t.segmens.length-1].segmen.center_point).coordinates[1],",",r.parsing(t.segmens[t.segmens.length-1].segmen.center_point).coordinates[0],"",e.B4B),e.R7$(1),e.SpI(" ","["+r.parsing(t.segmens[t.segmens.length-1].segmen.center_point).coordinates.reverse().join(", ")+"]"," "),e.R7$(3),e.Y8G("disabled",!0===t.survey_status),e.R7$(1),e.SpI(" ",!0===t.survey_status?"Sudah Disurvei":"Survei"," ")}}function x(n,c){if(1&n&&(e.j41(0,"option",30),e.EFF(1),e.k0s()),2&n){const t=c.$implicit,r=e.XpG(2);e.Y8G("value",t)("selected",t===r.queryLimit),e.R7$(1),e.SpI(" ",t," ")}}function T(n,c){if(1&n){const t=e.RV6();e.qex(0),e.j41(1,"div",17)(2,"table",18)(3,"thead")(4,"tr")(5,"th"),e.EFF(6,"Tanggal Survei"),e.k0s(),e.j41(7,"th"),e.EFF(8,"No Tiket"),e.k0s(),e.j41(9,"th"),e.EFF(10,"Lokasi"),e.k0s(),e.j41(11,"th"),e.EFF(12,"Nama Pelapor"),e.k0s(),e.j41(13,"th"),e.EFF(14,"Lihat Maps"),e.k0s(),e.j41(15,"th"),e.EFF(16,"Aksi"),e.k0s()()(),e.j41(17,"tbody"),e.DNE(18,_,18,18,"tr",19),e.k0s()()(),e.j41(19,"div",20)(20,"div",21)(21,"span"),e.EFF(22,"Item per halalaman"),e.k0s(),e.j41(23,"select",22),e.bIt("change",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.onPageSizeChange(o))}),e.DNE(24,x,2,3,"option",23),e.k0s(),e.j41(25,"span"),e.EFF(26),e.k0s()(),e.j41(27,"ngb-pagination",24),e.bIt("pageChange",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.queryPage=o)})("pageChange",function(o){e.eBV(t);const a=e.XpG();return e.Njj(a.onPaginateChange(o))}),e.k0s()(),e.bVm()}if(2&n){const t=e.XpG();e.R7$(18),e.Y8G("ngForOf",t.dataSource),e.R7$(6),e.Y8G("ngForOf",t.pageSizeOptions),e.R7$(2),e.SpI("dari ",t.dataSourceLength,""),e.R7$(1),e.Y8G("collectionSize",t.dataSourceLength)("page",t.queryPage)("maxSize",5)("pageSize",t.queryLimit)("rotate",!0)("ellipses",!1)("boundaryLinks",!1)("directionLinks",!0)}}const E=[{path:"",component:(()=>{class n extends f.v{constructor(t,r,o,a,u,h){super(a,h,u,o),this.activatedRoute=t,this.router=r,this.modal=o,this.helpers=a,this.api=u,this.loading=h,this.searchFields="no_ticket,user.fullname,segmens.segmen.name",this.queries={page:1,sort:"-created_at",limit:10,embed:"status_report,user,segmens,segmens.segmen,segmens.photos,survey"}}goToDetail(t){this.router.navigate([t],{relativeTo:this.activatedRoute})}applyFilter(t){this.queries.sort="terbaru"===t?"-created_at":"terbaru"===t?"created_at":"-created_at",this.getAll()}parsing(t){return JSON.parse(t)}static{this.\u0275fac=function(r){return new(r||n)(e.rXU(p.nX),e.rXU(p.Ix),e.rXU(i.Bq),e.rXU(m.V),e.rXU(F),e.rXU(S.U))}}static{this.\u0275cmp=e.VBU({type:n,selectors:[["app-surveyor"]],features:[e.Vt3],decls:17,vars:5,consts:[[1,"mb-4","fw-bold"],[1,"rounded-3","p-4","bg-white"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap","mb-3",3,"ngClass"],["class","form-group has-search d-flex align-items-center",4,"ngIf"],["ngbDropdown",""],["id","filterDropdown","ngbDropdownToggle","",1,"btn","no-caret","text-primary",2,"background-color","#eef0fd"],[1,"ms-2","bi","bi-funnel","text-primary"],["ngbDropdownMenu","","aria-labelledby","filterDropdown"],["ngbDropdownItem","",1,"dropdown-item",3,"click"],["class","text-body-tertiary",4,"ngIf"],[4,"ngIf"],[1,"form-group","has-search","d-flex","align-items-center"],[1,"bi","bi-search","form-control-feedback","mx-auto","ms-3",2,"color","black"],["type","text","placeholder","Cari data...",1,"form-control","border-0","form-control",2,"background","#f2f2f2","height","48px",3,"formControl","readonly"],[1,"text-body-tertiary"],[1,"bi","bi-exclamation-circle"],[1,"bi","bi-search"],[1,"table-responsive"],[1,"table"],[4,"ngFor","ngForOf"],[1,"d-flex","align-items-center","justify-content-between","gap-3","flex-wrap"],[1,"w-auto","d-flex","align-items-center","gap-2"],[1,"form-select","w-auto",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mb-n3",3,"collectionSize","page","maxSize","pageSize","rotate","ellipses","boundaryLinks","directionLinks","pageChange"],[1,"text-nowrap"],["target","_blank",1,"text-nowrap",3,"href"],[1,""],[1,"d-flex"],["type","button",1,"btn","btn-outline-primary","me-2","text-nowrap",3,"disabled","click"],[3,"value","selected"]],template:function(r,o){1&r&&(e.j41(0,"h4",0),e.EFF(1,"Jadwal Survey"),e.k0s(),e.j41(2,"div",1)(3,"div",2),e.DNE(4,j,3,2,"div",3),e.j41(5,"div",4)(6,"button",5),e.EFF(7," Filter "),e.nrm(8,"i",6),e.k0s(),e.j41(9,"div",7)(10,"button",8),e.bIt("click",function(){return o.applyFilter("terbaru")}),e.EFF(11," Terbaru "),e.k0s(),e.j41(12,"button",8),e.bIt("click",function(){return o.applyFilter("terlama")}),e.EFF(13," Terlama "),e.k0s()()()(),e.DNE(14,k,3,0,"p",9),e.DNE(15,C,3,0,"p",9),e.DNE(16,T,28,11,"ng-container",10),e.k0s()),2&r&&(e.R7$(3),e.Y8G("ngClass",o.dataSourceTotal>0?"justify-content-between":"justify-content-end"),e.R7$(1),e.Y8G("ngIf",o.dataSourceTotal>0),e.R7$(10),e.Y8G("ngIf",0==o.dataSourceTotal),e.R7$(1),e.Y8G("ngIf",o.dataSourceTotal>0&&0===o.dataSourceLength&&o.queries.search),e.R7$(1),e.Y8G("ngIf",o.dataSourceTotal>0&&o.dataSourceLength>0))},dependencies:[d.YU,d.Sq,d.bT,l.xH,l.y7,l.me,l.BC,l.l_,i.tg,i.do,i.U0,i._H,i.s5,d.vh],styles:[".has-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-left:3rem}.has-search[_ngcontent-%COMP%] .form-control-feedback[_ngcontent-%COMP%]{position:absolute}.form-control[_ngcontent-%COMP%]::placeholder{color:#bdbdbd}"]})}}return n})(),children:[]},{path:":id",loadChildren:()=>Promise.all([s.e(685),s.e(114)]).then(s.bind(s,6114)).then(n=>n.DetailModule)}];let R=(()=>{class n{static{this.\u0275fac=function(r){return new(r||n)}}static{this.\u0275mod=e.$C({type:n})}static{this.\u0275inj=e.G2t({imports:[d.MD,p.iI.forChild(E),l.X1,i.zH,i.c9]})}}return n})()}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/984.b27a37fd248eb18c.js b/frontend-roadreport-deploy/dist/road-report/984.b27a37fd248eb18c.js new file mode 100644 index 0000000..1c8d532 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/984.b27a37fd248eb18c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[984],{6655:(x,f,o)=>{o.d(f,{D:()=>m});var l=o(1991),r=o(8699),t=o(1626),h=o(7110);let m=(()=>{class g extends l.G{constructor(c,u){super(c,u),this.http=c,this.helpers=u,this.endpoint="users"}static{this.\u0275fac=function(u){return new(u||g)(r.KVO(t.Qq),r.KVO(h.V))}}static{this.\u0275prov=r.jDH({token:g,factory:g.\u0275fac,providedIn:"root"})}}return g})()},9519:(x,f,o)=>{o.d(f,{M:()=>l});class l{static noWhiteSpace(t){return t?.value&&t.value.trim().length!==t.value.length?{noWhiteSpace:!0}:null}}},1991:(x,f,o)=>{o.d(f,{G:()=>h});var l=o(8699),r=o(1626),t=o(7110);let h=(()=>{class m{constructor(d,c){this.http=d,this.helpers=c,this.baseApiUrl="/api",this.endpoint="",this.query={}}url(){return`${this.baseApiUrl}/${this.endpoint}`}urlWithId(d){return`${this.baseApiUrl}/${this.endpoint}/${d}`}urlCustom(d){return`${this.baseApiUrl}/${this.endpoint}/${d}`}urlArray(d){return`${this.baseApiUrl}/${this.endpoint}/${d.join("/")}`}insert(d){const c=this.url();return this.http.post(c,d)}getAll(d){const c=this.url(),u=d?this.helpers.generateParams(d):{};return this.http.get(c,{params:u})}getById(d,c){const u=this.urlWithId(d),v=c?this.helpers.generateParams(c):{};return this.http.get(u,{params:v})}update(d,c){const u=this.urlWithId(d);return this.http.put(u,c)}delete(d){const c=this.urlWithId(d);return this.http.delete(c)}static{this.\u0275fac=function(c){return new(c||m)(l.KVO(r.Qq),l.KVO(t.V))}}static{this.\u0275prov=l.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})()},2423:(x,f,o)=>{o.d(f,{U:()=>t});var l=o(4412),r=o(8699);let t=(()=>{class h{constructor(){this.loading$=new l.t(!1)}isLoading(){return this.loading$.asObservable()}show(){this.loading$.next(!0)}hide(){this.loading$.next(!1)}static{this.\u0275fac=function(d){return new(d||h)}}static{this.\u0275prov=r.jDH({token:h,factory:h.\u0275fac,providedIn:"root"})}}return h})()},8001:(x,f,o)=>{o.d(f,{M:()=>h});var l=o(177),r=o(8699),t=o(6803);let h=(()=>{class m{constructor(d){this.activeModal=d,this.modalType=1,this.message="Yakin ingin logout?"}static{this.\u0275fac=function(c){return new(c||m)(r.rXU(t.Lw))}}static{this.\u0275cmp=r.VBU({type:m,selectors:[["app-confirmation-modal"]],inputs:{modalType:"modalType",message:"message"},standalone:!0,features:[r.aNF],decls:12,vars:3,consts:[[1,"modal-header"],[1,"modal-title","text-dark"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[1,"d-block","text-center","fs-3","bi",3,"ngClass"],[1,"text-center","mx-auto",2,"max-width","40ch",3,"innerHTML"],[1,"modal-footer"],["type","button",1,"btn","btn-light",3,"click"],["type","button",1,"btn",3,"ngClass","click"]],template:function(c,u){1&c&&(r.j41(0,"div",0)(1,"h4",1),r.EFF(2,"Konfirmasi"),r.k0s(),r.j41(3,"button",2),r.bIt("click",function(){return u.activeModal.dismiss()}),r.k0s()(),r.j41(4,"div",3),r.nrm(5,"i",4)(6,"div",5),r.k0s(),r.j41(7,"div",6)(8,"button",7),r.bIt("click",function(){return u.activeModal.close(!1)}),r.EFF(9," Tidak "),r.k0s(),r.j41(10,"button",8),r.bIt("click",function(){return u.activeModal.close(!0)}),r.EFF(11," Ya "),r.k0s()()),2&c&&(r.R7$(5),r.Y8G("ngClass",1===u.modalType?"bi-box-arrow-right":2===u.modalType?"bi-trash":"bi-question-circle"),r.R7$(1),r.Y8G("innerHTML",u.message,r.npT),r.R7$(4),r.Y8G("ngClass",3===u.modalType?"btn-primary":"btn-danger"))},dependencies:[l.MD,l.YU]})}}return m})()},5984:(x,f,o)=>{o.r(f),o.d(f,{DashboardModule:()=>Rt});var l=o(177),r=o(1985),t=o(8699);function d(e){return Array.isArray(e)?e:[e]}var I=o(1413),A=o(4572),L=o(8793),C=o(6697),P=o(5245),J=o(152),$=o(6354),z=o(9172),B=o(6977);let N;try{N=typeof Intl<"u"&&Intl.v8BreakIterator}catch{N=!1}let Z=(()=>{class e{constructor(n){this._platformId=n,this.isBrowser=this._platformId?(0,l.UE)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!N)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static{this.\u0275fac=function(i){return new(i||e)(t.KVO(t.Agw))}}static{this.\u0275prov=t.jDH({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();const _=new Set;let D,et=(()=>{class e{constructor(n,i){this._platform=n,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):it}matchMedia(n){return(this._platform.WEBKIT||this._platform.BLINK)&&function nt(e,a){if(!_.has(e))try{D||(D=document.createElement("style"),a&&(D.nonce=a),D.setAttribute("type","text/css"),document.head.appendChild(D)),D.sheet&&(D.sheet.insertRule(`@media ${e} {body{ }}`,0),_.add(e))}catch(n){console.error(n)}}(n,this._nonce),this._matchMedia(n)}static{this.\u0275fac=function(i){return new(i||e)(t.KVO(Z),t.KVO(t.BIS,8))}}static{this.\u0275prov=t.jDH({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function it(e){return{matches:"all"===e||""===e,media:e,addListener:()=>{},removeListener:()=>{}}}let ot=(()=>{class e{constructor(n,i){this._mediaMatcher=n,this._zone=i,this._queries=new Map,this._destroySubject=new I.B}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(n){return W(d(n)).some(s=>this._registerQuery(s).mql.matches)}observe(n){const s=W(d(n)).map(b=>this._registerQuery(b).observable);let p=(0,A.z)(s);return p=(0,L.x)(p.pipe((0,C.s)(1)),p.pipe((0,P.i)(1),(0,J.B)(0))),p.pipe((0,$.T)(b=>{const M={matches:!1,breakpoints:{}};return b.forEach(({matches:F,query:Ft})=>{M.matches=M.matches||F,M.breakpoints[Ft]=F}),M}))}_registerQuery(n){if(this._queries.has(n))return this._queries.get(n);const i=this._mediaMatcher.matchMedia(n),p={observable:new r.c(b=>{const M=F=>this._zone.run(()=>b.next(F));return i.addListener(M),()=>{i.removeListener(M)}}).pipe((0,z.Z)(i),(0,$.T)(({matches:b})=>({query:n,matches:b})),(0,B.Q)(this._destroySubject)),mql:i};return this._queries.set(n,p),p}static{this.\u0275fac=function(i){return new(i||e)(t.KVO(et),t.KVO(t.SKi))}}static{this.\u0275prov=t.jDH({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function W(e){return e.map(a=>a.split(",")).reduce((a,n)=>a.concat(n)).map(a=>a.trim())}var st=o(2423),w=o(8185);const at=[{name:"Dasbor",link:"/dashboard/home",icon:"bi bi-house",access:["SADM","PNGL","SVEI"]},{name:"Data Laporan",link:"/dashboard/data-laporan",icon:"bi bi-clipboard",access:["SADM","PNGL"]},{name:"Data Gudang",link:"/dashboard/data-gudang",icon:"bi bi-archive",access:["SADM"]},{name:"Jadwal Perbaikan",link:"/dashboard/jadwal-perbaikan",icon:"bi bi-calendar4",access:["SADM","PNGL"]},{name:"Rekapitulasi",link:"/dashboard/rekapitulasi",icon:"bi bi-list-ul",access:["SADM"]},{name:"Kelola Data",link:"/dashboard/setting",icon:"bi bi-gear",access:["SADM"]},{name:"Jadwal Survey",link:"/dashboard/surveyor",icon:"bi bi-calendar4",access:["SVEI"]}];var E=o(6803),rt=o(8359);let X=(()=>{class e{constructor(){this.triggerSource=new I.B}triggerSideMenu(){this.triggerSource.next()}getTriggerObservable(){return this.triggerSource.asObservable()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=t.jDH({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var G=o(5471);const lt=["sidemenuContent"];function dt(e,a){1&e&&(t.j41(0,"div")(1,"h1",9),t.EFF(2,"Road Report"),t.k0s(),t.j41(3,"small",10),t.EFF(4,"Sistem Pelaporan Jalan Rusak"),t.k0s()())}function ct(e,a){if(1&e&&(t.j41(0,"span"),t.EFF(1),t.k0s()),2&e){const n=t.XpG(2).$implicit;t.R7$(1),t.JRh(n.name)}}function ut(e,a){if(1&e&&(t.j41(0,"a",12,13),t.nrm(2,"i"),t.DNE(3,ct,2,1,"span",4),t.k0s()),2&e){const n=t.sdS(1),i=t.XpG().$implicit,s=t.XpG(2);t.AVh("justify-content-center",s.isSidenavCollapsed),t.Y8G("ngClass",n.isActive?"bg-primary text-white":"text-muted")("routerLink",i.link)("title",i.name),t.R7$(2),t.HbH(i.icon),t.R7$(1),t.Y8G("ngIf",!s.isSidenavCollapsed)}}function pt(e,a){if(1&e&&(t.qex(0),t.DNE(1,ut,4,8,"a",11),t.bVm()),2&e){const n=a.$implicit,i=t.XpG(2);t.R7$(1),t.Y8G("ngIf",i.isAllowedNameMenu(n))}}const mt=function(){return{width:"104px"}},ht=function(){return{width:"340px"}};function ft(e,a){if(1&e){const n=t.RV6();t.j41(0,"aside",2)(1,"div",3),t.DNE(2,dt,5,0,"div",4),t.j41(3,"button",5),t.bIt("click",function(){t.eBV(n);const s=t.XpG();return t.Njj(s.onToggleSidebar())}),t.nrm(4,"i",6),t.k0s()(),t.j41(5,"nav",7),t.DNE(6,pt,2,1,"ng-container",8),t.k0s()()}if(2&e){const n=t.XpG();t.Y8G("ngStyle",n.isSidenavCollapsed?t.lJ4(5,mt):t.lJ4(6,ht)),t.R7$(1),t.Y8G("ngClass",n.isSidenavCollapsed?"justify-content-center":"justify-content-between"),t.R7$(1),t.Y8G("ngIf",!n.isSidenavCollapsed),t.R7$(2),t.Y8G("ngClass",n.isSidenavCollapsed?"bi-chevron-right":"bi-chevron-left"),t.R7$(2),t.Y8G("ngForOf",n.menu)}}function gt(e,a){if(1&e){const n=t.RV6();t.j41(0,"a",18,19),t.bIt("click",function(){t.eBV(n);const s=t.sdS(1),p=t.XpG(2).$implicit;return t.Njj(s.isActive?null:p.dismiss("Menu click"))}),t.nrm(2,"i"),t.j41(3,"span"),t.EFF(4),t.k0s()()}if(2&e){const n=t.sdS(1),i=t.XpG().$implicit;t.Y8G("ngClass",n.isActive?"bg-primary text-white":"text-muted")("routerLink",i.link),t.R7$(2),t.HbH(i.icon),t.R7$(2),t.JRh(i.name)}}function bt(e,a){if(1&e&&(t.qex(0),t.DNE(1,gt,5,5,"a",17),t.bVm()),2&e){const n=a.$implicit,i=t.XpG(2);t.R7$(1),t.Y8G("ngIf",i.isAllowedNameMenu(n))}}function vt(e,a){if(1&e){const n=t.RV6();t.j41(0,"div",14)(1,"div")(2,"h1",9),t.EFF(3,"Road Report"),t.k0s(),t.j41(4,"small",10),t.EFF(5,"Sistem Pelaporan Jalan Rusak"),t.k0s()(),t.j41(6,"button",15),t.bIt("click",function(){const p=t.eBV(n).$implicit;return t.Njj(p.dismiss("Cross click"))}),t.k0s()(),t.j41(7,"div",16)(8,"nav",7),t.DNE(9,bt,2,1,"ng-container",8),t.k0s()()}if(2&e){const n=t.XpG();t.R7$(9),t.Y8G("ngForOf",n.menu)}}let K=(()=>{class e{constructor(n,i,s){this.sidenav=n,this.offcanvas=i,this.auth=s,this.isMobile=!1,this.toggleSidebar=new t.bkB,this.menu=at,this.isSidenavCollapsed=!1,this._isPNGL=null,this.offcanvasSubscription=new rt.yU}ngOnInit(){this.offcanvasSubscription=this.sidenav.getTriggerObservable().subscribe(()=>{this.offcanvas.open(this.offcanvasContent,{ariaLabelledBy:"offcanvas-sidemenu"})})}ngOnDestroy(){this.offcanvasSubscription.unsubscribe()}onToggleSidebar(){this.isSidenavCollapsed=!this.isSidenavCollapsed,this.toggleSidebar.emit(this.isSidenavCollapsed)}isPNGL(){if(null!==this._isPNGL)return this._isPNGL;const n=this.auth.getLoggedUser();return n?(this._isPNGL="SADM"===n.role.code,this._isPNGL):(this._isPNGL=!1,!1)}isAllowedNameMenu(n){const i=this.auth.getLoggedUser().role.code;return n.access.includes(i)}static{this.\u0275fac=function(i){return new(i||e)(t.rXU(X),t.rXU(E.RS),t.rXU(G.u))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["dashboard-sidenav"]],viewQuery:function(i,s){if(1&i&&t.GBs(lt,5),2&i){let p;t.mGM(p=t.lsd())&&(s.offcanvasContent=p.first)}},inputs:{isMobile:"isMobile"},outputs:{toggleSidebar:"toggleSidebar"},standalone:!0,features:[t.aNF],decls:3,vars:1,consts:[["class","position-fixed h-100 bg-white p-4",3,"ngStyle",4,"ngIf"],["sidemenuContent",""],[1,"position-fixed","h-100","bg-white","p-4",3,"ngStyle"],[1,"d-flex","align-items-center","column-gap-3","mb-5",3,"ngClass"],[4,"ngIf"],["type","button",1,"btn","btn-sm","btn-light",3,"click"],[1,"bi",3,"ngClass"],[1,"d-flex","flex-column","row-gap-3"],[4,"ngFor","ngForOf"],[1,"h5","text-uppercase","fw-semibold","mb-0"],[1,"text-body-tertiary"],["class","d-flex align-items-center column-gap-2 p-3 rounded-2 text-decoration-none fw-medium","routerLinkActive","",3,"justify-content-center","ngClass","routerLink","title",4,"ngIf"],["routerLinkActive","",1,"d-flex","align-items-center","column-gap-2","p-3","rounded-2","text-decoration-none","fw-medium",3,"ngClass","routerLink","title"],["rla","routerLinkActive"],[1,"offcanvas-header","align-items-start"],["type","button","aria-label","Close",1,"btn-close","mr-0","my-0",3,"click"],[1,"offcanvas-body"],["class","d-flex align-items-center column-gap-2 p-3 rounded-2 text-decoration-none fw-medium","routerLinkActive","",3,"ngClass","routerLink","click",4,"ngIf"],["routerLinkActive","",1,"d-flex","align-items-center","column-gap-2","p-3","rounded-2","text-decoration-none","fw-medium",3,"ngClass","routerLink","click"],["rlaCanvass","routerLinkActive"]],template:function(i,s){1&i&&(t.DNE(0,ft,7,7,"aside",0),t.DNE(1,vt,10,1,"ng-template",null,1,t.C5r)),2&i&&t.Y8G("ngIf",!s.isMobile)},dependencies:[l.MD,l.YU,l.Sq,l.bT,l.B3,w.iI,w.Wk,w.wQ,E.J0]})}}return e})();var yt=o(8001),y=o(9417),Y=o(9519),Mt=o(6655),U=o(7110);function Ct(e,a){1&e&&(t.j41(0,"div",18),t.EFF(1," Harus diisi "),t.k0s())}function Et(e,a){1&e&&(t.j41(0,"div",18),t.EFF(1," Awalan dan akhiran tidak boleh ada spasi "),t.k0s())}function St(e,a){1&e&&(t.j41(0,"div",18),t.EFF(1," Harus diisi "),t.k0s())}function Dt(e,a){1&e&&(t.j41(0,"div",18),t.EFF(1," Awalan dan akhiran tidak boleh ada spasi "),t.k0s())}const H=function(e){return{"is-invalid":e}};let wt=(()=>{class e{constructor(n,i,s,p){this.api=n,this.activeModal=i,this.helpers=s,this.formBuilder=p,this.action="update",this.data={},this.form={}}ngOnInit(){this.initForm()}initForm(){this.form=this.formBuilder.group({old_password:[null,[y.k0.required,Y.M.noWhiteSpace]],new_password:[null,[y.k0.required,Y.M.noWhiteSpace]]}),"update"===this.action&&this.data&&this.form.patchValue(this.data)}onSubmit(){this.form.valid&&this.activeModal.close(this.form.value)}static{this.\u0275fac=function(i){return new(i||e)(t.rXU(Mt.D),t.rXU(E.Lw),t.rXU(U.V),t.rXU(y.ok))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["app-action"]],inputs:{action:"action",data:"data"},standalone:!0,features:[t.aNF],decls:31,vars:12,consts:[[1,"modal-header"],[1,"modal-title"],[1,"d-flex","align-items-center"],[1,"rounded-icon","d-inline-flex","align-items-center","justify-content-center","rounded-circle","w-25%","h-25%",2,"width","40px","height","40px","background-color","#eef0fd"],[1,"bi","bi-pencil-square",2,"color","#3f4ec4"],[1,"ms-2","my-auto","fw-bolder"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"formGroup"],[1,"mb-3"],["for","password",1,"form-label"],[1,"text-danger","ms-2"],["type","password","id","old_password","placeholder","Masukkan Password..","formControlName","old_password",1,"form-control",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],["type","password","id","new_password","placeholder","Masukkan Password..","formControlName","new_password",1,"form-control",3,"ngClass"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","me-2",2,"background-color","#fdf1ed","color","#f35625",3,"click"],["type","button",1,"btn","btn-primary",3,"disabled","click"],[1,"invalid-feedback"]],template:function(i,s){1&i&&(t.j41(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),t.nrm(4,"i",4),t.k0s(),t.j41(5,"h5",5),t.EFF(6,"Ganti Data"),t.k0s()()(),t.j41(7,"button",6),t.bIt("click",function(){return s.activeModal.dismiss("Cross click")}),t.k0s()(),t.j41(8,"div",7)(9,"form",8)(10,"div",9)(11,"label",10),t.EFF(12,"Password Lama"),t.j41(13,"span",11),t.EFF(14,"*"),t.k0s()(),t.nrm(15,"input",12),t.DNE(16,Ct,2,0,"div",13),t.DNE(17,Et,2,0,"div",13),t.k0s(),t.j41(18,"div",9)(19,"label",10),t.EFF(20,"Password Baru"),t.j41(21,"span",11),t.EFF(22,"*"),t.k0s()(),t.nrm(23,"input",14),t.DNE(24,St,2,0,"div",13),t.DNE(25,Dt,2,0,"div",13),t.k0s()(),t.j41(26,"div",15)(27,"button",16),t.bIt("click",function(){return s.activeModal.close("Cancel")}),t.EFF(28," Batal "),t.k0s(),t.j41(29,"button",17),t.bIt("click",function(){return s.onSubmit()}),t.EFF(30," Simpan "),t.k0s()()()),2&i&&(t.R7$(9),t.Y8G("formGroup",s.form),t.R7$(6),t.Y8G("ngClass",t.eq3(8,H,s.helpers.isInvalid(s.form,"old_password"))),t.R7$(1),t.Y8G("ngIf",s.helpers.hasError(s.form,"old_password","required")),t.R7$(1),t.Y8G("ngIf",s.helpers.hasError(s.form,"old_password","noWhiteSpace")),t.R7$(6),t.Y8G("ngClass",t.eq3(10,H,s.helpers.isInvalid(s.form,"new_password"))),t.R7$(1),t.Y8G("ngIf",s.helpers.hasError(s.form,"new_password","required")),t.R7$(1),t.Y8G("ngIf",s.helpers.hasError(s.form,"new_password","noWhiteSpace")),t.R7$(4),t.Y8G("disabled",s.form.invalid))},dependencies:[l.MD,l.YU,l.bT,y.X1,y.qT,y.me,y.BC,y.cb,y.j4,y.JD]})}}return e})();var Tt=o(1991),xt=o(1626);let It=(()=>{class e extends Tt.G{constructor(n,i){super(n,i),this.http=n,this.helpers=i,this.endpoint="users/change-password"}static{this.\u0275fac=function(i){return new(i||e)(t.KVO(xt.Qq),t.KVO(U.V))}}static{this.\u0275prov=t.jDH({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function kt(e,a){if(1&e){const n=t.RV6();t.j41(0,"button",16),t.bIt("click",function(){t.eBV(n);const s=t.XpG();return t.Njj(s.onTriggerMenu())}),t.nrm(1,"i",17),t.k0s()}}let Q=(()=>{class e{constructor(n,i,s,p,b,M){this.api=n,this.modal=i,this.helpers=s,this.activatedRoute=p,this.sidenav=b,this.auth=M,this.dataUpdateSubs$=new I.B,this.isMobile=!1,this.fullName="",this.email="",this.id=this.activatedRoute.snapshot.params.id,this.loggedUser=this.auth.getLoggedUser()}ngOnInit(){this.loggedUser&&(this.fullName=this.loggedUser.fullname,this.email=this.loggedUser.email)}onTriggerMenu(){this.sidenav.triggerSideMenu()}changePassword(){const n=this.modal.open(wt);n.componentInstance.action="update",n.result.then(i=>{i&&this.api.update(this.loggedUser.id,i).pipe((0,B.Q)(this.dataUpdateSubs$)).subscribe({next:()=>{this.helpers.toast("success","Data berhasil diubah")},error:s=>{this.helpers.toast("error",s.error.message)}})},()=>{})}get2letters(n){return n.toUpperCase().split(" ").map(s=>s.charAt(0)).join("")}onLogout(){this.modal.open(yt.M,{size:"sm"}).result.then(i=>{i&&this.auth.logout()})}static{this.\u0275fac=function(i){return new(i||e)(t.rXU(It),t.rXU(E.Bq),t.rXU(U.V),t.rXU(w.nX),t.rXU(X),t.rXU(G.u))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["dashboard-topbar"]],inputs:{isMobile:"isMobile"},standalone:!0,features:[t.aNF],decls:24,vars:7,consts:[[1,"sticky-top","d-flex","align-items-center","bg-white","px-4","py-3",2,"height","76px",3,"ngClass"],["class","btn btn-sm btn-light","type","button",3,"click",4,"ngIf"],[1,"dropdownHeader","d-flex","align-items-center"],[1,"me-2"],["ngbDropdown",""],["type","button","id","userDropdown","ngbDropdownToggle","",1,"btn","btn-sm","btn-primary","no-caret","text-capitalize"],["ngbDropdownMenu","","display","dynamic","placement","bottom-end","aria-labelledby","userDropdown",1,"customDropdown","p-4"],[1,"d-flex","mb-4"],[1,"me-3","text-capitalize","rounded","bg-info","d-flex","align-items-center","justify-content-center","text-white",2,"width","44px","height","44px"],[1,"my-auto"],[1,"mb-3"],["for","email",1,"form-label"],["disabled","","type","email","id","email","autocomplete","email",1,"form-control",3,"value"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","text-white","bg-primary","me-2",3,"click"],["type","button",1,"btn","text-white","bg-danger",3,"click"],["type","button",1,"btn","btn-sm","btn-light",3,"click"],[1,"bi","bi-list"]],template:function(i,s){1&i&&(t.j41(0,"header",0),t.DNE(1,kt,2,0,"button",1),t.j41(2,"div",2)(3,"span",3),t.EFF(4),t.k0s(),t.j41(5,"div",4)(6,"button",5),t.EFF(7),t.k0s(),t.j41(8,"div",6)(9,"div",7)(10,"div",8),t.EFF(11),t.k0s(),t.j41(12,"p",9),t.EFF(13),t.k0s()(),t.j41(14,"form")(15,"div",10)(16,"label",11),t.EFF(17,"Email "),t.k0s(),t.nrm(18,"input",12),t.k0s()(),t.j41(19,"div",13)(20,"button",14),t.bIt("click",function(){return s.changePassword()}),t.EFF(21," Ganti Password "),t.k0s(),t.j41(22,"button",15),t.bIt("click",function(){return s.onLogout()}),t.EFF(23," Logout "),t.k0s()()()()()()),2&i&&(t.Y8G("ngClass",s.isMobile?"justify-content-between":"justify-content-end"),t.R7$(1),t.Y8G("ngIf",s.isMobile),t.R7$(3),t.SpI("",s.fullName," "),t.R7$(3),t.SpI(" ",s.get2letters(s.fullName)," "),t.R7$(4),t.SpI(" ",s.get2letters(s.fullName)," "),t.R7$(2),t.JRh(s.fullName),t.R7$(5),t.FS9("value",s.email))},dependencies:[l.MD,l.YU,l.bT,E.zH,E.tg,E.do,E.U0],styles:[".customDropdown[_ngcontent-%COMP%]{width:512px}@media screen and (min-width: 0px) and (max-width: 550px){.customDropdown[_ngcontent-%COMP%]{width:300px;min-height:280px}}"]})}}return e})();function jt(e,a){1&e&&(t.j41(0,"div",4),t.nrm(1,"div",5),t.k0s())}const T=(e,a)=>{const n=(0,t.WQX)(G.u),i=(0,t.WQX)(w.Ix),s=n.getLoggedUser().role.code;return!!e.data.access_role.includes(s)||(i.navigate(["**"]),!1)},Pt=[{path:"",component:(()=>{class e{constructor(n,i,s){this.breakpointObserver=n,this.loading=i,this.cdr=s,this.isSidenavCollapsed=!1,this.isMobile=!1,this.isLoading$=new r.c}ngOnInit(){this.breakpointSubscription=this.breakpointObserver.observe("(max-width: 1199.98px)").subscribe(n=>{this.isMobile=n.matches}),this.isLoading$=this.loading.isLoading()}ngAfterViewChecked(){this.cdr.detectChanges()}ngOnDestroy(){this.breakpointSubscription.unsubscribe()}onToggleSidebar(n){this.isSidenavCollapsed=n}static{this.\u0275fac=function(i){return new(i||e)(t.rXU(ot),t.rXU(st.U),t.rXU(t.gRc))}}static{this.\u0275cmp=t.VBU({type:e,selectors:[["app-dashboard"]],hostAttrs:[1,"flex-fill","bg-secondary","bg-opacity-10"],decls:7,vars:7,consts:[["class","fixed-top progress","style","--rr-progress-height: 0.325rem; --rr-progress-border-radius: 0",4,"ngIf"],[3,"isMobile","toggleSidebar"],[3,"isMobile"],[1,"container-xxl","p-4"],[1,"fixed-top","progress",2,"--rr-progress-height","0.325rem","--rr-progress-border-radius","0"],[1,"progress-bar","w-100"]],template:function(i,s){1&i&&(t.DNE(0,jt,2,0,"div",0),t.nI1(1,"async"),t.j41(2,"dashboard-sidenav",1),t.bIt("toggleSidebar",function(b){return s.onToggleSidebar(b)}),t.k0s(),t.j41(3,"main"),t.nrm(4,"dashboard-topbar",2),t.j41(5,"div",3),t.nrm(6,"router-outlet"),t.k0s()()),2&i&&(t.Y8G("ngIf",t.bMT(1,5,s.isLoading$)),t.R7$(2),t.Y8G("isMobile",s.isMobile),t.R7$(1),t.xc7("margin-left",s.isMobile?"0":s.isSidenavCollapsed?"104px":"340px"),t.R7$(1),t.Y8G("isMobile",s.isMobile))},dependencies:[l.bT,w.n3,K,Q,l.Jj],styles:[".progress-bar[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_indeterminate 1s infinite linear;transform-origin:0% 50%}@keyframes _ngcontent-%COMP%_indeterminate{0%{transform:translate(0) scaleX(0)}40%{transform:translate(0) scaleX(.4)}to{transform:translate(100%) scaleX(.5)}}"]})}}return e})(),children:[{path:"",redirectTo:"home",pathMatch:"full"},{canActivate:[T],data:{access_role:["SADM","PNGL","SVEI"]},path:"home",loadChildren:()=>Promise.all([o.e(257),o.e(76),o.e(348)]).then(o.bind(o,5348)).then(e=>e.HomeModule)},{canActivate:[T],data:{access_role:["SADM","PNGL"]},path:"data-laporan",loadChildren:()=>Promise.all([o.e(76),o.e(186)]).then(o.bind(o,2186)).then(e=>e.LaporanModule)},{path:"data-gudang",canActivate:[T],data:{access_role:["SADM"]},loadChildren:()=>Promise.all([o.e(76),o.e(773)]).then(o.bind(o,7773)).then(e=>e.GudangModule)},{path:"jadwal-perbaikan",canActivate:[T],data:{access_role:["SADM","PNGL"]},loadChildren:()=>Promise.all([o.e(76),o.e(323)]).then(o.bind(o,7323)).then(e=>e.PerbaikanModule)},{path:"setting",canActivate:[T],data:{access_role:["SADM"]},loadChildren:()=>Promise.all([o.e(76),o.e(989)]).then(o.bind(o,6989)).then(e=>e.SettingModule)},{path:"rekapitulasi",canActivate:[T],data:{access_role:["SADM"]},loadChildren:()=>Promise.all([o.e(257),o.e(76),o.e(919)]).then(o.bind(o,6919)).then(e=>e.RekapitulasiModule)},{path:"surveyor",canActivate:[T],data:{access_role:["SVEI","SADM"]},loadChildren:()=>Promise.all([o.e(76),o.e(965)]).then(o.bind(o,965)).then(e=>e.SurveyorModule)},{path:"**",loadChildren:()=>o.e(42).then(o.bind(o,8042)).then(e=>e.ErrorNotFoundModule)}]}];let Rt=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=t.$C({type:e})}static{this.\u0275inj=t.G2t({imports:[l.MD,w.iI.forChild(Pt),K,Q]})}}return e})()},152:(x,f,o)=>{o.d(f,{B:()=>h});var l=o(3236),r=o(9974),t=o(4360);function h(m,g=l.E){return(0,r.N)((d,c)=>{let u=null,v=null,I=null;const A=()=>{if(u){u.unsubscribe(),u=null;const C=v;v=null,c.next(C)}};function L(){const C=I+m,P=g.now();if(P{v=C,I=g.now(),u||(u=g.schedule(L,m),c.add(u))},()=>{A(),c.complete()},void 0,()=>{v=u=null}))})}}}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/989.f8b0e6f5fb606670.js b/frontend-roadreport-deploy/dist/road-report/989.f8b0e6f5fb606670.js new file mode 100644 index 0000000..a90aa90 --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/989.f8b0e6f5fb606670.js @@ -0,0 +1 @@ +(self.webpackChunkroad_report=self.webpackChunkroad_report||[]).push([[989],{3718:(ve,Ie,Bt)=>{ve=Bt.nmd(ve),function(Et){const h=Et.en=Et.en||{};h.dictionary=Object.assign(h.dictionary||{},{"%0 of %1":"%0 of %1",Accept:"Accept","Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment",Aquamarine:"Aquamarine",Background:"Background",Black:"Black","Block quote":"Block quote",Blue:"Blue",Bold:"Bold",Border:"Border","Break text":"Break text","Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Cancel:"Cancel","Cannot access default workspace.":"Cannot access default workspace.","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Cannot upload file:":"Cannot upload file:","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Cell properties":"Cell properties","Center table":"Center table","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Choose heading":"Choose heading",Circle:"Circle",Code:"Code",Color:"Color","Color picker":"Color picker",Column:"Column","Could not insert image at the current position.":"Could not insert image at the current position.","Could not obtain resized image URL.":"Could not obtain resized image URL.",Dashed:"Dashed",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero","Decrease indent":"Decrease indent","Delete column":"Delete column","Delete row":"Delete row","Dim grey":"Dim grey",Dimensions:"Dimensions",Disc:"Disc",Dotted:"Dotted",Double:"Double",Downloadable:"Downloadable","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Edit link":"Edit link","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","Editor editing area: %0":"Editor editing area: %0","Editor toolbar":"Editor toolbar","Enter image caption":"Enter image caption","Enter table caption":"Enter table caption","Full size image":"Full size image",Green:"Green",Grey:"Grey",Groove:"Groove","Header column":"Header column","Header row":"Header row",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6",Height:"Height",HEX:"HEX","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line","Increase indent":"Increase indent",Insert:"Insert","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert image":"Insert image","Insert image or file":"Insert image or file","Insert image via URL":"Insert image via URL","Insert media":"Insert media","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table","Inserting image failed":"Inserting image failed",Inset:"Inset",Italic:"Italic","Justify cell text":"Justify cell text","Left aligned image":"Left aligned image","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Link:"Link","Link image":"Link image","Link URL":"Link URL","List properties":"List properties","Lower-latin":"Lower-latin","Lower\u2013roman":"Lower\u2013roman","Media toolbar":"Media toolbar","Media URL":"Media URL","media widget":"media widget","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",Next:"Next",None:"None","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Open file manager":"Open file manager","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","Open media in new tab":"Open media in new tab",Orange:"Orange",Original:"Original",Outset:"Outset",Padding:"Padding",Paragraph:"Paragraph","Paste the media URL in the input.":"Paste the media URL in the input.","Press Enter to type after or press Shift + Enter to type before the widget":"Press Enter to type after or press Shift + Enter to type before the widget",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Restore default":"Restore default","Reversed order":"Reversed order","Rich Text Editor":"Rich Text Editor",Ridge:"Ridge","Right aligned image":"Right aligned image",Row:"Row",Save:"Save","Select all":"Select all","Select column":"Select column","Select row":"Select row","Selecting resized image failed":"Selecting resized image failed","Show more items":"Show more items","Side image":"Side image",Solid:"Solid","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Square:"Square","Start at":"Start at","Start index must be greater than 0.":"Start index must be greater than 0.",Strikethrough:"Strikethrough",Style:"Style",Subscript:"Subscript",Superscript:"Superscript","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar","Text alternative":"Text alternative",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".',"The URL must not be empty.":"The URL must not be empty.",'The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"This link has no URL":"This link has no URL","This media URL is not supported.":"This media URL is not supported.","Tip: Paste the URL into the content to embed faster.":"Tip: Paste the URL into the content to embed faster.","To-do List":"To-do List","Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower\u2013latin list style":"Toggle the lower\u2013latin list style","Toggle the lower\u2013roman list style":"Toggle the lower\u2013roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper\u2013latin list style":"Toggle the upper\u2013latin list style","Toggle the upper\u2013roman list style":"Toggle the upper\u2013roman list style",Turquoise:"Turquoise","Type or paste your content here.":"Type or paste your content here.","Type your title":"Type your title",Underline:"Underline",Undo:"Undo",Unlink:"Unlink",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Upload in progress":"Upload in progress","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman","Vertical text alignment toolbar":"Vertical text alignment toolbar",White:"White","Widget toolbar":"Widget toolbar",Width:"Width","Wrap text":"Wrap text",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),self,ve.exports=(()=>{var Et={4959:(B,P,b)=>{const I=b(1103),N={};for(const _ of Object.keys(I))N[I[_]]=_;const x={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};B.exports=x;for(const _ of Object.keys(x)){if(!("channels"in x[_]))throw new Error("missing channels property: "+_);if(!("labels"in x[_]))throw new Error("missing channel labels property: "+_);if(x[_].labels.length!==x[_].channels)throw new Error("channel and label counts mismatch: "+_);const{channels:C,labels:T}=x[_];delete x[_].channels,delete x[_].labels,Object.defineProperty(x[_],"channels",{value:C}),Object.defineProperty(x[_],"labels",{value:T})}x.rgb.hsl=function(_){const C=_[0]/255,T=_[1]/255,O=_[2]/255,z=Math.min(C,T,O),V=Math.max(C,T,O),G=V-z;let W,J;V===z?W=0:C===V?W=(T-O)/G:T===V?W=2+(O-C)/G:O===V&&(W=4+(C-T)/G),W=Math.min(60*W,360),W<0&&(W+=360);const rt=(z+V)/2;return J=V===z?0:rt<=.5?G/(V+z):G/(2-V-z),[W,100*J,100*rt]},x.rgb.hsv=function(_){let C,T,O,z,V;const G=_[0]/255,W=_[1]/255,J=_[2]/255,rt=Math.max(G,W,J),Nt=rt-Math.min(G,W,J),X=function(S){return(rt-S)/6/Nt+.5};return 0===Nt?(z=0,V=0):(V=Nt/rt,C=X(G),T=X(W),O=X(J),G===rt?z=O-T:W===rt?z=.3333333333333333+C-O:J===rt&&(z=.6666666666666666+T-C),z<0?z+=1:z>1&&(z-=1)),[360*z,100*V,100*rt]},x.rgb.hwb=function(_){const C=_[0],T=_[1];let O=_[2];const z=x.rgb.hsl(_)[0],V=1/255*Math.min(C,Math.min(T,O));return O=1-.00392156862745098*Math.max(C,Math.max(T,O)),[z,100*V,100*O]},x.rgb.cmyk=function(_){const C=_[0]/255,T=_[1]/255,O=_[2]/255,z=Math.min(1-C,1-T,1-O);return[100*((1-C-z)/(1-z)||0),100*((1-T-z)/(1-z)||0),100*((1-O-z)/(1-z)||0),100*z]},x.rgb.keyword=function(_){const C=N[_];if(C)return C;let T,O=1/0;for(const G of Object.keys(I)){const J=((z=_)[0]-(V=I[G])[0])**2+(z[1]-V[1])**2+(z[2]-V[2])**2;J.04045?((C+.055)/1.055)**2.4:C/12.92,T=T>.04045?((T+.055)/1.055)**2.4:T/12.92,O=O>.04045?((O+.055)/1.055)**2.4:O/12.92,[100*(.4124*C+.3576*T+.1805*O),100*(.2126*C+.7152*T+.0722*O),100*(.0193*C+.1192*T+.9505*O)]},x.rgb.lab=function(_){const C=x.rgb.xyz(_);let T=C[0],O=C[1],z=C[2];return T/=95.047,O/=100,z/=108.883,T=T>.008856?T**.3333333333333333:7.787*T+.13793103448275862,O=O>.008856?O**.3333333333333333:7.787*O+.13793103448275862,z=z>.008856?z**.3333333333333333:7.787*z+.13793103448275862,[116*O-16,500*(T-O),200*(O-z)]},x.hsl.rgb=function(_){const C=_[0]/360,T=_[1]/100,O=_[2]/100;let z,V,G;if(0===T)return G=255*O,[G,G,G];z=O<.5?O*(1+T):O+T-O*T;const W=2*O-z,J=[0,0,0];for(let rt=0;rt<3;rt++)V=C+.3333333333333333*-(rt-1),V<0&&V++,V>1&&V--,G=6*V<1?W+6*(z-W)*V:2*V<1?z:3*V<2?W+(z-W)*(.6666666666666666-V)*6:W,J[rt]=255*G;return J},x.hsl.hsv=function(_){const C=_[0];let T=_[1]/100,O=_[2]/100,z=T;const V=Math.max(O,.01);return O*=2,T*=O<=1?O:2-O,z*=V<=1?V:2-V,[C,100*(0===O?2*z/(V+z):2*T/(O+T)),(O+T)/2*100]},x.hsv.rgb=function(_){const C=_[0]/60,T=_[1]/100;let O=_[2]/100;const z=Math.floor(C)%6,V=C-Math.floor(C),G=255*O*(1-T),W=255*O*(1-T*V),J=255*O*(1-T*(1-V));switch(O*=255,z){case 0:return[O,J,G];case 1:return[W,O,G];case 2:return[G,O,J];case 3:return[G,W,O];case 4:return[J,G,O];case 5:return[O,G,W]}},x.hsv.hsl=function(_){const C=_[0],T=_[1]/100,O=_[2]/100,z=Math.max(O,.01);let V,G;G=(2-T)*O;const W=(2-T)*z;return V=T*z,V/=W<=1?W:2-W,V=V||0,G/=2,[C,100*V,100*G]},x.hwb.rgb=function(_){const C=_[0]/360;let T=_[1]/100,O=_[2]/100;const z=T+O;let V;z>1&&(T/=z,O/=z);const G=Math.floor(6*C),W=1-O;V=6*C-G,1&G&&(V=1-V);const J=T+V*(W-T);let rt,Nt,X;switch(G){default:case 6:case 0:rt=W,Nt=J,X=T;break;case 1:rt=J,Nt=W,X=T;break;case 2:rt=T,Nt=W,X=J;break;case 3:rt=T,Nt=J,X=W;break;case 4:rt=J,Nt=T,X=W;break;case 5:rt=W,Nt=T,X=J}return[255*rt,255*Nt,255*X]},x.cmyk.rgb=function(_){const T=_[1]/100,O=_[2]/100,z=_[3]/100;return[255*(1-Math.min(1,_[0]/100*(1-z)+z)),255*(1-Math.min(1,T*(1-z)+z)),255*(1-Math.min(1,O*(1-z)+z))]},x.xyz.rgb=function(_){const C=_[0]/100,T=_[1]/100,O=_[2]/100;let z,V,G;return z=3.2406*C+-1.5372*T+-.4986*O,V=-.9689*C+1.8758*T+.0415*O,G=.0557*C+-.204*T+1.057*O,z=z>.0031308?1.055*z**.4166666666666667-.055:12.92*z,V=V>.0031308?1.055*V**.4166666666666667-.055:12.92*V,G=G>.0031308?1.055*G**.4166666666666667-.055:12.92*G,z=Math.min(Math.max(0,z),1),V=Math.min(Math.max(0,V),1),G=Math.min(Math.max(0,G),1),[255*z,255*V,255*G]},x.xyz.lab=function(_){let C=_[0],T=_[1],O=_[2];return C/=95.047,T/=100,O/=108.883,C=C>.008856?C**.3333333333333333:7.787*C+.13793103448275862,T=T>.008856?T**.3333333333333333:7.787*T+.13793103448275862,O=O>.008856?O**.3333333333333333:7.787*O+.13793103448275862,[116*T-16,500*(C-T),200*(T-O)]},x.lab.xyz=function(_){let C,T,O;T=(_[0]+16)/116,C=_[1]/500+T,O=T-_[2]/200;const z=T**3,V=C**3,G=O**3;return T=z>.008856?z:(T-.13793103448275862)/7.787,C=V>.008856?V:(C-.13793103448275862)/7.787,O=G>.008856?G:(O-.13793103448275862)/7.787,C*=95.047,T*=100,O*=108.883,[C,T,O]},x.lab.lch=function(_){const C=_[0],T=_[1],O=_[2];let z;return z=360*Math.atan2(O,T)/2/Math.PI,z<0&&(z+=360),[C,Math.sqrt(T*T+O*O),z]},x.lch.lab=function(_){const T=_[1],O=_[2]/360*2*Math.PI;return[_[0],T*Math.cos(O),T*Math.sin(O)]},x.rgb.ansi16=function(_,C=null){const[T,O,z]=_;let V=null===C?x.rgb.hsv(_)[2]:C;if(V=Math.round(V/50),0===V)return 30;let G=30+(Math.round(z/255)<<2|Math.round(O/255)<<1|Math.round(T/255));return 2===V&&(G+=60),G},x.hsv.ansi16=function(_){return x.rgb.ansi16(x.hsv.rgb(_),_[2])},x.rgb.ansi256=function(_){const C=_[0],T=_[1],O=_[2];return C===T&&T===O?C<8?16:C>248?231:Math.round((C-8)/247*24)+232:16+36*Math.round(C/255*5)+6*Math.round(T/255*5)+Math.round(O/255*5)},x.ansi16.rgb=function(_){let C=_%10;if(0===C||7===C)return _>50&&(C+=3.5),C=C/10.5*255,[C,C,C];const T=.5*(1+~~(_>50));return[(1&C)*T*255,(C>>1&1)*T*255,(C>>2&1)*T*255]},x.ansi256.rgb=function(_){if(_>=232){const T=10*(_-232)+8;return[T,T,T]}let C;return _-=16,[Math.floor(_/36)/5*255,Math.floor((C=_%36)/6)/5*255,C%6/5*255]},x.rgb.hex=function(_){const C=(((255&Math.round(_[0]))<<16)+((255&Math.round(_[1]))<<8)+(255&Math.round(_[2]))).toString(16).toUpperCase();return"000000".substring(C.length)+C},x.hex.rgb=function(_){const C=_.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!C)return[0,0,0];let T=C[0];3===C[0].length&&(T=T.split("").map(z=>z+z).join(""));const O=parseInt(T,16);return[O>>16&255,O>>8&255,255&O]},x.rgb.hcg=function(_){const C=_[0]/255,T=_[1]/255,O=_[2]/255,z=Math.max(Math.max(C,T),O),V=Math.min(Math.min(C,T),O),G=z-V;let W,J;return W=G<1?V/(1-G):0,J=G<=0?0:z===C?(T-O)/G%6:z===T?2+(O-C)/G:4+(C-T)/G,J/=6,J%=1,[360*J,100*G,100*W]},x.hsl.hcg=function(_){const C=_[1]/100,T=_[2]/100,O=T<.5?2*C*T:2*C*(1-T);let z=0;return O<1&&(z=(T-.5*O)/(1-O)),[_[0],100*O,100*z]},x.hsv.hcg=function(_){const T=_[2]/100,O=_[1]/100*T;let z=0;return O<1&&(z=(T-O)/(1-O)),[_[0],100*O,100*z]},x.hcg.rgb=function(_){const T=_[1]/100,O=_[2]/100;if(0===T)return[255*O,255*O,255*O];const z=[0,0,0],V=_[0]/360%1*6,G=V%1,W=1-G;let J=0;switch(Math.floor(V)){case 0:z[0]=1,z[1]=G,z[2]=0;break;case 1:z[0]=W,z[1]=1,z[2]=0;break;case 2:z[0]=0,z[1]=1,z[2]=G;break;case 3:z[0]=0,z[1]=W,z[2]=1;break;case 4:z[0]=G,z[1]=0,z[2]=1;break;default:z[0]=1,z[1]=0,z[2]=W}return J=(1-T)*O,[255*(T*z[0]+J),255*(T*z[1]+J),255*(T*z[2]+J)]},x.hcg.hsv=function(_){const C=_[1]/100,T=C+_[2]/100*(1-C);let O=0;return T>0&&(O=C/T),[_[0],100*O,100*T]},x.hcg.hsl=function(_){const C=_[1]/100,T=_[2]/100*(1-C)+.5*C;let O=0;return T>0&&T<.5?O=C/(2*T):T>=.5&&T<1&&(O=C/(2*(1-T))),[_[0],100*O,100*T]},x.hcg.hwb=function(_){const C=_[1]/100,T=C+_[2]/100*(1-C);return[_[0],100*(T-C),100*(1-T)]},x.hwb.hcg=function(_){const T=1-_[2]/100,O=T-_[1]/100;let z=0;return O<1&&(z=(T-O)/(1-O)),[_[0],100*O,100*z]},x.apple.rgb=function(_){return[_[0]/65535*255,_[1]/65535*255,_[2]/65535*255]},x.rgb.apple=function(_){return[_[0]/255*65535,_[1]/255*65535,_[2]/255*65535]},x.gray.rgb=function(_){return[_[0]/100*255,_[0]/100*255,_[0]/100*255]},x.gray.hsl=function(_){return[0,0,_[0]]},x.gray.hsv=x.gray.hsl,x.gray.hwb=function(_){return[0,100,_[0]]},x.gray.cmyk=function(_){return[0,0,0,_[0]]},x.gray.lab=function(_){return[_[0],0,0]},x.gray.hex=function(_){const C=255&Math.round(_[0]/100*255),T=((C<<16)+(C<<8)+C).toString(16).toUpperCase();return"000000".substring(T.length)+T},x.rgb.gray=function(_){return[(_[0]+_[1]+_[2])/3/255*100]}},841:(B,P,b)=>{const I=b(4959),N=b(9325),x={};Object.keys(I).forEach(_=>{x[_]={},Object.defineProperty(x[_],"channels",{value:I[_].channels}),Object.defineProperty(x[_],"labels",{value:I[_].labels});const C=N(_);Object.keys(C).forEach(T=>{const O=C[T];x[_][T]=function(z){const V=function(...G){const W=G[0];if(null==W)return W;W.length>1&&(G=W);const J=z(G);if("object"==typeof J)for(let rt=J.length,Nt=0;Nt1&&(G=W),z(G))};return"conversion"in z&&(V.conversion=z.conversion),V}(O)})}),B.exports=x},9325:(B,P,b)=>{const I=b(4959);function x(C,T){return function(O){return T(C(O))}}function _(C,T){const O=[T[C].parent,C];let z=I[T[C].parent][C],V=T[C].parent;for(;T[V].parent;)O.unshift(T[V].parent),z=x(I[T[V].parent][V],z),V=T[V].parent;return z.conversion=O,z}B.exports=function(C){const T=function N(C){const T=function(){const z={},V=Object.keys(I);for(let G=V.length,W=0;W{"use strict";B.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},8603:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./../ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content code {\n\tbackground-color: hsla(0, 0%, 78%, 0.3);\n\tpadding: .15em;\n\tborder-radius: 2px;\n}\n\n.ck.ck-editor__editable .ck-code_selected {\n\tbackground-color: hsla(0, 0%, 78%, 0.5);\n}\n"],sourceRoot:""}]);const C=_},3062:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./../ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);const C=_},903:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}',"",{version:3,sources:["webpack://./../ckeditor5-clipboard/theme/clipboard.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CChCA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\tposition: absolute;\n\tpointer-events: none;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border)\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(var(--ck-clipboard-drop-target-dot-height) * -.5);\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\theight: 0;\n\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\tbackground: var(--ck-clipboard-drop-target-color);\n\tmargin-top: -1px;\n}\n'],sourceRoot:""}]);const C=_},3143:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}","",{version:3,sources:["webpack://./../ckeditor5-editor-classic/theme/classiceditor.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,gDCED,eDKC,CAPA,uICMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAIF,CAPA,gDAMC,qBACD,CAEA,iFACC,uBAAwB,CCR1B,eDaC,CANA,yMCHA,qCAAsC,CDOpC,eAEF,CAKF,yCAEC,0CAA2C,CCpB3C,eD8BD,CAZA,yHCdE,qCAAsC,CDmBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor {\n\t/* All the elements within `.ck-editor` are positioned relatively to it.\n\t If any element needs to be positioned with respect to the , etc.,\n\t it must land outside of the `.ck-editor` in DOM. */\n\tposition: relative;\n\n\t& .ck-editor__top .ck-sticky-panel .ck-toolbar {\n\t\t/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */\n\t\tz-index: var(--ck-z-modal);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_rounded.css";\n\n.ck.ck-editor__top {\n\t& .ck-sticky-panel {\n\t\t& .ck-toolbar {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\n\t\t\tborder-bottom-width: 0;\n\t\t}\n\n\t\t& .ck-sticky-panel__content_sticky .ck-toolbar {\n\t\t\tborder-bottom-width: 1px;\n\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* Note: Use ck-editor__main to make sure these styles don\'t apply to other editor types */\n.ck.ck-editor__main > .ck-editor__editable {\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */\n\tbackground: var(--ck-color-base-background);\n\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&:not(.ck-focused) {\n\t\tborder-color: var(--ck-color-base-border);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},4717:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/placeholder.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n\n/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t&::before {\n\t\tcursor: text;\n\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t}\n}\n"],sourceRoot:""}]);const C=_},9315:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const C=_},8733:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./../ckeditor5-heading/theme/heading.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-heading_heading1 {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const C=_},3508:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBAuBD,CAbC,uBAEC,aAAc,CAGd,aAAc,CAGd,cAAe,CAGf,cACD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAWA,2GACC,SAUD,CAHC,qEACC,YACD,CAOA,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
.\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\n\t/*\n\t * Make sure the selected inline image always stays on top of its siblings.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t */\n\t& .image.ck-widget_selected {\n\t\tz-index: 1;\n\t}\n\n\t& .image-inline.ck-widget_selected {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the native browser selection style is not displayed.\n\t\t * Inline image widgets have their own styles for the selected state and\n\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t */\n\t\t& ::selection {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},2640:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highligted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\tanimation: ck-image-caption-highlight .6s ease-out;\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highligted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const C=_},3535:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{border:1px solid #ccc;border-radius:var(--ck-border-radius);display:block;margin:var(--ck-spacing-standard) auto;width:100%}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{border:none;margin:0;padding:0}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageinsert.css"],names:[],mappings:"AAKA,2BACC,+BACD,CAEA,sCAIC,qBAAiC,CACjC,qCAAsC,CAJtC,aAAc,CAEd,sCAAuC,CADvC,UAID,CAGA,oDAGC,WAAY,CADZ,QAAS,CADT,SAGD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-image-insert__panel {\n\tpadding: var(--ck-spacing-large);\n}\n\n.ck.ck-image-insert__ck-finder-button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin: var(--ck-spacing-standard) auto;\n\tborder: 1px solid hsl(0, 0%, 80%);\n\tborder-radius: var(--ck-border-radius);\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/7986 */\n.ck.ck-splitbutton > .ck-file-dialog-button.ck-button {\n\tpadding: 0;\n\tmargin: 0;\n\tborder: none;\n}\n"],sourceRoot:""}]);const C=_},1568:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-image-insert-form:focus{outline:none}.ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-image-insert-form__action-row{margin-top:var(--ck-spacing-standard)}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageinsertformrowview.css"],names:[],mappings:"AAMC,+BAEC,YACD,CAGD,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAmBD,CAhBC,iCACC,WACD,CAEA,kDACC,qCAUD,CARC,sIAEC,sBACD,CAEA,+EACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-image-insert-form {\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n}\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-image-insert-form__action-row {\n\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},6270:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAKA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `
` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `
` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `
` element uses `display:block`, so `
` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/* The resized inline image nested in the table should respect its parent size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline.image_resized img {\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);const C=_},5083:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\tconfirming successful application of the style if image width exceeds the editor's size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t& .image-style-block-align-left,\n\t& .image-style-block-align-right {\n\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t}\n\n\t/* Allows displaying multiple floating images in the same line.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t& .image-style-align-left,\n\t& .image-style-align-right {\n\t\tclear: none;\n\t}\n\n\t& .image-style-side {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t\tmax-width: 50%;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-block-align-right {\n\t\tmargin-right: 0;\n\t\tmargin-left: auto;\n\t}\n\n\t& .image-style-block-align-left {\n\t\tmargin-left: 0;\n\t\tmargin-right: auto;\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image-style-align-left,\n\t& p + .image-style-align-right,\n\t& p + .image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},4036:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadicon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const C=_},3773:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadloader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const C=_},3689:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadprogress.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const C=_},1905:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/textalternativeform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},9773:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const C=_},2347:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkactions.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},7754:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},111:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',"",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkimage.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,83BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Match the icon size with the upload indicator brought by the image upload feature. */\n\t--ck-link-image-indicator-icon-size: 20;\n\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tcontent: "";\n\n\t\t\t/*\n\t\t\t * Smaller images should have the icon closer to the border.\n\t\t\t * Match the icon position with the upload indicator brought by the image upload feature.\n\t\t\t */\n\t\t\ttop: min(var(--ck-spacing-medium), 6%);\n\t\t\tright: min(var(--ck-spacing-medium), 6%);\n\n\t\t\tbackground-color: hsla(0, 0%, 0%, .4);\n\t\t\tbackground-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");\n\t\t\tbackground-size: 14px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tborder-radius: 100%;\n\n\t\t\t/*\n\t\t\t* Use CSS math to simulate container queries.\n\t\t\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t\t\t*/\n\t\t\toverflow: hidden;\n\t\t\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const C=_},4721:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:0 var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/collapsible.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,wDAAyD,CAFzD,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,yDACD,CAGC,mEACC,wBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-collapsible.ck-collapsible_collapsed {\n\t& > .ck-collapsible__children {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-collapsible {\n\t& > .ck.ck-button {\n\t\twidth: 100%;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\t\tborder-radius: 0;\n\t\tcolor: inherit;\n\n\t\t&:focus {\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&:active, &:not(:focus), &:hover:not(:focus) {\n\t\t\tbackground: transparent;\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t& > .ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\twidth: var(--ck-collapsible-arrow-size);\n\t\t}\n\t}\n\n\t& > .ck-collapsible__children {\n\t\tpadding: 0 var(--ck-spacing-large) var(--ck-spacing-large);\n\t}\n\n\t&.ck-collapsible_collapsed {\n\t\t& > .ck.ck-button .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},5730:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-editor__editable .ck-list-bogus-paragraph {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const C=_},4564:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content ol {\n\tlist-style-type: decimal;\n\n\t& ol {\n\t\tlist-style-type: lower-latin;\n\n\t\t& ol {\n\t\t\tlist-style-type: lower-roman;\n\n\t\t\t& ol {\n\t\t\t\tlist-style-type: upper-latin;\n\n\t\t\t\t& ol {\n\t\t\t\t\tlist-style-type: upper-roman;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-content ul {\n\tlist-style-type: disc;\n\n\t& ul {\n\t\tlist-style-type: circle;\n\n\t\t& ul {\n\t\t\tlist-style-type: square;\n\n\t\t\t& ul {\n\t\t\t\tlist-style-type: square;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},6082:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-properties {\n\t/* When there are no list styles and there is no collapsible. */\n\t&.ck-list-properties_without-styles {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * {\n\t\t\tmin-width: 14em;\n\n\t\t\t& + * {\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * When the numbered list property fields (start at, reversed) should be displayed,\n\t * more horizontal space is needed. Reconfigure the style grid to create that space.\n\t */\n\t&.ck-list-properties_with-numbered-properties {\n\t\t& > .ck-list-styles-list {\n\t\t\tgrid-template-columns: repeat( 4, auto );\n\t\t}\n\n\t\t/* When list styles are rendered and property fields are in a collapsible. */\n\t\t& > .ck-collapsible {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t& > .ck-collapsible__children {\n\t\t\t\t& > * {\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t& + * {\n\t\t\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-numbered-list-properties__start-index .ck-input {\n\t\tmin-width: auto;\n\t\twidth: 100%;\n\t}\n\n\t& .ck.ck-numbered-list-properties__reversed-order {\n\t\tbackground: transparent;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\n\n\t\t&:active, &:hover {\n\t\t\tbox-shadow: none;\n\t\t\tborder-color: transparent;\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},2417:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/liststyles.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-styles-list {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-list {\n\tgrid-template-columns: repeat( 3, auto );\n\trow-gap: var(--ck-spacing-medium);\n\tcolumn-gap: var(--ck-spacing-medium);\n\tpadding: var(--ck-spacing-large);\n\n\t& .ck-button {\n\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\twidth: var(--ck-list-style-button-size);\n\t\theight: var(--ck-list-style-button-size);\n\t\tpadding: 0;\n\n\t\t/*\n\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t * gaps in the grid.\n\t\t */\n\t\tmargin: 0;\n\n\t\t/*\n\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t * (which becomes blurry as it scales down).\n\t\t */\n\t\tbox-sizing: content-box;\n\n\t\t& .ck-icon {\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},1199:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}',"",{version:3,sources:["webpack://./../ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CAEA,uBACC,eA0ED,CAxEC,0BACC,iBAKD,CAHC,qCACC,cACD,CAIA,+CACC,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAqDD,CAxCC,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,0FAAgG,CAJhG,UAKD,CAEA,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAIF,wEACC,qBACD,CAKF,6CACC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAED,CAMA,wDACC,cAKD,CAHC,qEACC,mCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-todo-list-checkmark-size: 16px;\n}\n\n.ck-content .todo-list {\n\tlist-style: none;\n\n\t& li {\n\t\tmargin-bottom: 5px;\n\n\t\t& .todo-list {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\n\t& .todo-list__label {\n\t\t& > input {\n\t\t\t-webkit-appearance: none;\n\t\t\tdisplay: inline-block;\n\t\t\tposition: relative;\n\t\t\twidth: var(--ck-todo-list-checkmark-size);\n\t\t\theight: var(--ck-todo-list-checkmark-size);\n\t\t\tvertical-align: middle;\n\n\t\t\t/* Needed on iOS */\n\t\t\tborder: 0;\n\n\t\t\t/* LTR styles */\n\t\t\tleft: -25px;\n\t\t\tmargin-right: -15px;\n\t\t\tright: 0;\n\t\t\tmargin-left: 0;\n\n\t\t\t&::before {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tborder: 1px solid hsl(0, 0%, 20%);\n\t\t\t\tborder-radius: 2px;\n\t\t\t\ttransition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;\n\t\t\t}\n\n\t\t\t&::after {\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tbox-sizing: content-box;\n\t\t\t\tpointer-events: none;\n\t\t\t\tcontent: '';\n\n\t\t\t\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\n\t\t\t\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\n\t\t\t\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\t\t\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\t\t\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\n\t\t\t\tborder-style: solid;\n\t\t\t\tborder-color: transparent;\n\t\t\t\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\n\t\t\t\ttransform: rotate(45deg);\n\t\t\t}\n\n\t\t\t&[checked] {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground: hsl(126, 64%, 41%);\n\t\t\t\t\tborder-color: hsl(126, 64%, 41%);\n\t\t\t\t}\n\n\t\t\t\t&::after {\n\t\t\t\t\tborder-color: hsl(0, 0%, 100%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& .todo-list__label__description {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n}\n\n/* RTL styles */\n[dir=\"rtl\"] .todo-list .todo-list__label > input {\n\tleft: 0;\n\tmargin-right: 0;\n\tright: -25px;\n\tmargin-left: -15px;\n}\n\n/*\n * To-do list should be interactive only during the editing\n * (https://github.com/ckeditor/ckeditor5/issues/2090).\n */\n.ck-editor__editable .todo-list .todo-list__label > input {\n\tcursor: pointer;\n\n\t&:hover::before {\n\t\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\n\t}\n}\n"],sourceRoot:""}]);const C=_},4652:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .media {\n\t/* Don\'t allow floated content overlap the media.\n\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\n\tclear: both;\n\n\t/* Make sure there is some space between the content and the media. */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em 0;\n\n\t/* Make sure media is not overriden with Bootstrap default `flex` value.\n\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\n\tdisplay: block;\n\n\t/* Give the media some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (#44) */\n\tmin-width: 15em;\n}\n'],sourceRoot:""}]);const C=_},7442:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-media__wrapper {\n\t& .ck-media__placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\n\t\t& .ck-media__placeholder__url {\n\t\t\t/* Otherwise the URL will overflow when the content is very narrow. */\n\t\t\tmax-width: 100%;\n\n\t\t\tposition: relative;\n\n\t\t\t& .ck-media__placeholder__url__text {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"],\n\t&[data-oembed-url*="google.com/maps"],\n\t&[data-oembed-url*="goo.gl/maps"],\n\t&[data-oembed-url*="maps.google.com"],\n\t&[data-oembed-url*="maps.app.goo.gl"],\n\t&[data-oembed-url*="facebook.com"],\n\t&[data-oembed-url*="instagram.com"] {\n\t\t& .ck-media__placeholder__icon * {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* Disable all mouse interaction as long as the editor is not read\u2013only.\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\n\tpointer-events: none;\n}\n\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\n\tpointer-events: none;\n}\n','/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-media-embed-placeholder-icon-size: 3em;\n\n\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\n\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\n}\n\n.ck-media__wrapper {\n\tmargin: 0 auto;\n\n\t& .ck-media__placeholder {\n\t\tpadding: calc( 3 * var(--ck-spacing-standard) );\n\t\tbackground: var(--ck-color-base-foreground);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tmin-width: var(--ck-media-embed-placeholder-icon-size);\n\t\t\theight: var(--ck-media-embed-placeholder-icon-size);\n\t\t\tmargin-bottom: var(--ck-spacing-large);\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: cover;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text);\n\t\t\twhite-space: nowrap;\n\t\t\ttext-align: center;\n\t\t\tfont-style: italic;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\n\t\t\t\tcursor: pointer;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="open.spotify.com"] {\n\t\tmax-width: 300px;\n\t\tmax-height: 380px;\n\t}\n\n\t&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {\n\t\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\n\t}\n\n\t&[data-oembed-url*="facebook.com"] .ck-media__placeholder {\n\t\tbackground: hsl(220, 46%, 48%);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(220, 100%, 90%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="instagram.com"] .ck-media__placeholder {\n\t\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\n\t\t}\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(302, 100%, 94%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {\n\t\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\n\t\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(201, 100%, 86%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},9292:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-media-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-media-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},7368:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/colorinput.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-input-color {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\n\t& > input.ck.ck-input-text {\n\t\tmin-width: auto;\n\t\tflex-grow: 1;\n\t}\n\n\t& > div.ck.ck-dropdown {\n\t\tmin-width: auto;\n\n\t\t/* This dropdown has no arrow but a color preview instead. */\n\t\t& > .ck-input-color__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__button {\n\t\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\n\t\tdisplay: flex;\n\n\t\t& .ck.ck-input-color__button__preview {\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\n\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_rounded.css";\n\n.ck.ck-input-color {\n\t& > .ck.ck-input-text {\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* Make sure the focused input is always on top of the dropdown button so its\n\t\t outline and border are never cropped (also when the input is read-only). */\n\t\t&:focus {\n\t\t\tz-index: 0;\n\t\t}\n\t}\n\n\t& > .ck.ck-dropdown {\n\t\t& > .ck.ck-button.ck-input-color__button {\n\t\t\tpadding: 0;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-left: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-right: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.ck-disabled {\n\t\t\t\tbackground: var(--ck-color-input-disabled-background);\n\t\t\t}\n\n\t\t\t& > .ck.ck-input-color__button__preview {\n\t\t\t\t@mixin ck-rounded-corners;\n\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tborder: 1px solid var(--ck-color-input-border);\n\n\t\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\t\ttop: -30%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\theight: 150%;\n\t\t\t\t\twidth: 8%;\n\t\t\t\t\tbackground: hsl(0, 100%, 50%);\n\t\t\t\t\tborder-radius: 2px;\n\t\t\t\t\ttransform: rotate(45deg);\n\t\t\t\t\ttransform-origin: 50%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__remove-color {\n\t\twidth: 100%;\n\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-input-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t}\n\n\t\t& .ck.ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},4070:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form {\n\tpadding: 0 0 var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t& .ck.ck-input-text {\n\t\tmin-width: 100%;\n\t\twidth: 0;\n\t}\n\n\t& .ck.ck-dropdown {\n\t\tmin-width: 100%;\n\n\t\t& .ck-dropdown__button {\n\t\t\t&:not(:focus) {\n\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck-button__label {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},9247:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/formrow.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-form__row {\n\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\t& + * {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-label {\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},1613:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/inserttable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label,\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const C=_},6306:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
. Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const C=_},2128:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tablecaption.css"],names:[],mappings:"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .table > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: top;\n\tword-break: break-word;\n\ttext-align: center;\n\tcolor: var(--ck-color-selector-caption-text);\n\tbackground-color: var(--ck-color-selector-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .table > figcaption {\n\t&.table__caption_highlighted {\n\t\tanimation: ck-table-caption-highlight .6s ease-out;\n\t}\n\n\t&.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n@keyframes ck-table-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-selector-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const C=_},5087:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tablecellproperties.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\t&:first-of-type {\n\t\t\t\t\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\n\t\t\t\t\tflex-grow: 0.57;\n\t\t\t\t}\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\n\t\t\t\t\tflex-grow: 0.43;\n\t\t\t\t}\n\n\t\t\t\t& .ck-button {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__padding-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\t\t\twidth: 25%;\n\t\t}\n\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},4101:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\n\t--ck-table-column-resizer-width: 7px;\n\n\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\n\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\n\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\n}\n\n.ck-content .table .ck-table-resized {\n\ttable-layout: fixed;\n}\n\n.ck-content .table table {\n\toverflow: hidden;\n}\n\n.ck-content .table td,\n.ck-content .table th {\n\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\n\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\n\toverflow-wrap: break-word;\n\tposition: relative;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tright: var(--ck-table-column-resizer-position-offset);\n\twidth: var(--ck-table-column-resizer-width);\n\tcursor: col-resize;\n\tuser-select: none;\n\tz-index: var(--ck-z-default);\n}\n\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\n all resizers must be hidden while the table is dragged. */\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\n\tbackground-color: var(--ck-color-selector-column-resizer-hover);\n\topacity: 0.25;\n\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\n\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\n\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\n\t unrealistic height for a single table. */\n\ttop: -999999px;\n\tbottom: -999999px;\n}\n\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\n\tleft: var(--ck-table-column-resizer-position-offset);\n\tright: unset;\n}\n"],sourceRoot:""}]);const C=_},3881:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-selector-focused-cell-background);\n\n\t\t\t/* Fixes the problem where surrounding cells cover the focused cell's border.\n\t\t\tIt does not fix the problem in all places but the UX is improved.\n\t\t\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\n\t\t\tborder-style: none;\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},6237:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./../ckeditor5-table/theme/tableform.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__background-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t\talign-items: center;\n\n\t\t\t\t& .ck.ck-dropdown {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\tflex-grow: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\t/* Allow absolute positioning of the status (error) balloons. */\n\t\tposition: relative;\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\ttransform: translate(-50%,100%);\n\n\t\t\t/* Make sure the balloon status stays on top of other form elements. */\n\t\t\tz-index: 1;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX( -50% );\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_rounded.css";\n\n:root {\n\t--ck-table-properties-error-arrow-size: 6px;\n\t--ck-table-properties-min-error-width: 150px;\n}\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__border-style,\n\t\t\t& .ck-table-form__border-width {\n\t\t\t\twidth: 80px;\n\t\t\t\tmin-width: 80px;\n\t\t\t\tmax-width: 80px;\n\t\t\t}\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tpadding: 0;\n\n\t\t\t& .ck-table-form__dimensions-row__width,\n\t\t\t& .ck-table-form__dimensions-row__height {\n\t\t\t\tmargin: 0\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\talign-self: flex-end;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: var(--ck-ui-component-min-height);\n\t\t\t\tline-height: var(--ck-ui-component-min-height);\n\t\t\t\tmargin: 0 var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t@mixin ck-rounded-corners;\n\n\t\t\tbackground: var(--ck-color-base-error);\n\t\t\tcolor: var(--ck-color-base-background);\n\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\ttext-align: center;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\t\t}\n\n\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@keyframes ck-table-form-labeled-view-status-appear {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},7341:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/tableproperties.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex-basis: 0;\n\t\t\talign-content: baseline;\n\n\t\t\t& .ck.ck-toolbar .ck-toolbar__items {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\t\t& .ck-toolbar__items > * {\n\t\t\t\t\twidth: 40px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},6945:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const C=_},4906:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;justify-content:left;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/button.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAOA,6BAMC,kBAAmB,CADnB,mBAAoB,CAEpB,oBAAqB,CAHrB,iBAAkB,CCFlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDkBD,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEjBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: left;\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\tfont-weight: bold;\n\t\topacity: .7;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const C=_},5332:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating\u2013point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t/* Unlike a regular button, the switch button text color and background should never change.\n\t * Changing toggle switch (background, outline) is enough to carry the information about the\n\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\n\t */\n\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\n\t\tcolor: inherit;\n\t\tbackground: transparent;\n\t}\n\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const C=_},6781:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\twidth: var(--ck-color-grid-tile-size);\n\theight: var(--ck-color-grid-tile-size);\n\tmin-width: var(--ck-color-grid-tile-size);\n\tmin-height: var(--ck-color-grid-tile-size);\n\tpadding: 0;\n\ttransition: .2s ease box-shadow;\n\tborder: 0;\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t&.ck-color-selector__color-tile_bordered {\n\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t&.ck-on,\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\t/* Disable the default .ck-button\'s border ring. */\n\t\tborder: 0;\n\t}\n\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n'],sourceRoot:""}]);const C=_},3398:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.color-picker-hex-input {\n\twidth: max-content;\n\n\t& .ck.ck-input {\n\t\tmin-width: unset;\n\t}\n}\n\n.ck.ck-color-picker__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\tmargin: var(--ck-spacing-large) 0 0;\n\twidth: unset;\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: unset;\n\t}\n\n\t& .ck.ck-input-text {\n\t\twidth: unset;\n\t}\n\n\t& .ck-color-picker__hash-view {\n\t\tpadding-top: var(--ck-spacing-tiny);\n\t\tpadding-right: var(--ck-spacing-medium);\n\t}\n}\n"],sourceRoot:""}]);const C=_},4157:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: space-around;\n\n\t\t\t& .ck-button-save,\n\t\t\t& .ck-button-cancel {\n\t\t\t\tflex: 1\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck.ck-icon {\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& label.ck.ck-color-grid__label {\n\t\t\tfont-weight: unset;\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-picker {\n\t\t\tpadding: 8px;\n\n\t\t\t& .hex-color-picker {\n\t\t\t\theight: 100px;\n\t\t\t\tmin-width: 180px;\n\n\t\t\t\t&::part(saturation) {\n\t\t\t\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\t\t\t\t}\n\n\t\t\t\t&::part(hue) {\n\t\t\t\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\t\t\t}\n\n\t\t\t\t&::part(saturation-pointer),\n\t\t\t\t&::part(hue-pointer) {\n\t\t\t\t\twidth: 15px;\n\t\t\t\t\theight: 15px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tpadding: 0 8px 8px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},5485:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-modal);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-modal) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},3949:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},7686:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* Make sure the divider stretches 100% height of the button\n\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\n\t& > .ck-splitbutton__arrow:not(:focus) {\n\t\tborder-top-width: 0px;\n\t\tborder-bottom-width: 0px;\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t/* Make sure the divider between the buttons looks fine when the button is focused */\n\t\t& > .ck-splitbutton__arrow:focus::after {\n\t\t\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},7339:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const C=_},9688:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-panel-background);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-panel-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const C=_},8847:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-form__header .ck-form__header__label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BACD,CCNA,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAQD,CAHC,4CACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-form-header-height: 38px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& .ck-form__header__label {\n\t\tfont-weight: bold;\n\t}\n}\n"],sourceRoot:""}]);const C=_},6574:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/icon/icon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: .8333350694em;\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t/* This will prevent blurry icons on Firefox. See #340. */\n\twill-change: transform;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\t}\n\n\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\n\t&.ck-icon_inherit-color {\n\t\tcolor: inherit;\n\n\t\t& * {\n\t\t\tcolor: inherit;\n\n\t\t\t&:not([fill]) {\n\t\t\t\t/* Needed by FF. */\n\t\t\t\tfill: currentColor;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},4879:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const C=_},3662:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/label/label.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const C=_},2577:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD8GD,CAzGA,2FCDE,qCD0GF,CAtGC,mEACC,UAmCD,CAjCC,gFACC,KA+BD,CAhCA,0FAIE,MA4BF,CAhCA,0FAQE,OAwBF,CAhCA,gFAiBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAP9C,mBAAoB,CAYpB,sBAAuB,CARvB,6DAA+D,CAH/D,oBAAqB,CAgBrB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,oUAGE,+HAYF,CAfA,oUAOE,wIAQF,CAfA,gTAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\t\t\ttransform-origin: 0 0;\n\n\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},1046:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base));text-align:left;width:100%}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/list/list.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEfD,YCEC,eDGD,CALA,+DCME,qCDDF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BAIC,eAAgB,CAHhB,gBAAiB,CAQjB,iIAEiE,CARjE,eAAgB,CADhB,UAwCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\tmin-width: 12em;\n\n\t& .ck-button {\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\tborder-radius: 0;\n\n\t\t/* List items should have the same height. Use absolute units to make sure it is so\n\t\t because e.g. different heading styles may have different height\n\t\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\tpadding:\n\t\t\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\n\t\t\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& .ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},8793:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-modal);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const C=_},4650:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const C=_},7676:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-modal) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const C=_},5868:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-modal); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const C=_},6764:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const C=_},9695:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const C=_},5542:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\talign-self: stretch;\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const C=_},3332:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDPnC,mBAAoB,CAEpB,qCACD,CCMC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAbD,gCAgBC,eAMD,CAHC,uCACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t/* Keep tooltips transparent for any interactions. */\n\tpointer-events: none;\n\n\tz-index: calc( var(--ck-z-modal) + 100 );\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const C=_},4793:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-modal) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/globals/_hidden.css","webpack://./../ckeditor5-ui/theme/globals/_reset.css","webpack://./../ckeditor5-ui/theme/globals/_zindex.css","webpack://./../ckeditor5-ui/theme/globals/_transition.css","webpack://./../ckeditor5-ui/theme/globals/_poweredby.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CACD,CCAA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAwD,CCvGxD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJuGD,CIjGA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-z-default: 1;\n\t--ck-z-modal: calc( var(--ck-z-default) + 999 );\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-powered-by-line-height: 10px;\n\t--ck-powered-by-padding-vertical: 2px;\n\t--ck-powered-by-padding-horizontal: 4px;\n\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\n\t--ck-powered-by-border-radius: var(--ck-border-radius);\n\t--ck-powered-by-background: hsl(0, 0%, 100%);\n\t--ck-powered-by-border-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-balloon-panel.ck-powered-by-balloon {\n\t--ck-border-radius: var(--ck-powered-by-border-radius);\n\n\tbox-shadow: none;\n\tbackground: var(--ck-powered-by-background);\n\tmin-height: unset;\n\tz-index: calc( var(--ck-z-modal) - 1 );\n\n\t& .ck.ck-powered-by {\n\t\tline-height: var(--ck-powered-by-line-height);\n\n\t\t& a {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\topacity: .66;\n\t\t\tfilter: grayscale(80%);\n\t\t\tline-height: var(--ck-powered-by-line-height);\n\t\t\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\n\t\t}\n\n\t\t& .ck-powered-by__label {\n\t\t\tfont-size: 7.5px;\n\t\t\tletter-spacing: -.2px;\n\t\t\tpadding-left: 2px;\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-right: 4px;\n\t\t\tcursor: pointer;\n\t\t\tline-height: normal;\n\t\t\tcolor: var(--ck-powered-by-text-color);\n\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: block;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&:hover {\n\t\t\t& a {\n\t\t\t\tfilter: grayscale(0%);\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[class*="position_inside"] {\n\t\tborder-color: transparent;\n\t}\n\n\t&[class*="position_border"] {\n\t\tborder: var(--ck-focus-ring);\n\t\tborder-color: var(--ck-powered-by-border-color);\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n\n\t/* -- Search result highlight ---------------------------------------------------------------- */\n\n\t--ck-color-highlight-background:\t\t\t\t\t\t\thsl(60, 100%, 50%)\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const C=_},3488:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widget.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\n\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const C=_},8506:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgetresize.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const C=_},4921:(B,P,b)=>{"use strict";b.d(P,{Z:()=>C});var I=b(1799),N=b.n(I),x=b(2609),_=b.n(x)()(N());_.push([B.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgettypearound.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const C=_},2609:B=>{"use strict";B.exports=function(P){var b=[];return b.toString=function(){return this.map(function(I){var N=P(I);return I[2]?"@media ".concat(I[2]," {").concat(N,"}"):N}).join("")},b.i=function(I,N,x){"string"==typeof I&&(I=[[null,I,""]]);var _={};if(x)for(var C=0;C{"use strict";function b(I,N){(null==N||N>I.length)&&(N=I.length);for(var x=0,_=new Array(N);x{"use strict";var I,X,x=(X={},function(S){if(void 0===X[S]){var Q=document.querySelector(S);if(window.HTMLIFrameElement&&Q instanceof window.HTMLIFrameElement)try{Q=Q.contentDocument.head}catch{Q=null}X[S]=Q}return X[S]}),_=[];function C(X){for(var S=-1,Q=0;Q<_.length;Q++)if(_[Q].identifier===X){S=Q;break}return S}function T(X,S){for(var Q={},dt=[],Tt=0;Tt{var P=B&&B.__esModule?()=>B.default:()=>B;return H.d(P,{a:P}),P},H.d=(B,P)=>{for(var b in P)H.o(P,b)&&!H.o(B,b)&&Object.defineProperty(B,b,{enumerable:!0,get:P[b]})},H.o=(B,P)=>Object.prototype.hasOwnProperty.call(B,P),H.nc=void 0;var Fi={};return(()=>{"use strict";function B({emitter:o,activator:t,callback:e,contextElements:n}){o.listenTo(document,"mousedown",(i,r)=>{if(!t())return;const s="function"==typeof r.composedPath?r.composedPath():[],a="function"==typeof n?n():n;for(const c of a)if(c.contains(r.target)||s.includes(c))return;e()})}function P(o){return class extends o{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...t){super(...t),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}}function b({view:o}){o.listenTo(o.element,"submit",(t,e)=>{e.preventDefault(),o.fire("submit")},{useCapture:!0})}H.d(Fi,{default:()=>og});const I=function(){try{return navigator.userAgent.toLowerCase()}catch{return""}}();var N;const x={isMac:_(I),isWindows:(N=I,N.indexOf("windows")>-1),isGecko:(o=I,!!o.match(/gecko\/\d+/)),isSafari:function(o){return o.indexOf(" applewebkit/")>-1&&-1===o.indexOf("chrome")}(I),isiOS:function(o){return!!o.match(/iphone|ipad/i)||_(o)&&navigator.maxTouchPoints>0}(I),isAndroid:function(o){return o.indexOf("android")>-1}(I),isBlink:function(o){return o.indexOf("chrome/")>-1&&o.indexOf("edge/")<0}(I),features:{isRegExpUnicodePropertySupported:function(){let o=!1;try{o=0==="\u0107".search(new RegExp("[\\p{L}]","u"))}catch{}return o}()}};var o;function _(o){return o.indexOf("macintosh")>-1}function C(o,t,e,n){e=e||function(c,l){return c===l};const i=Array.isArray(o)?o:Array.prototype.slice.call(o),r=Array.isArray(t)?t:Array.prototype.slice.call(t),s=function(c,l,d){const u=T(c,l,d);if(-1===u)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const f=T(O(c,u),O(l,u),d);return{firstIndex:u,lastIndexOld:c.length-f,lastIndexNew:l.length-f}}(i,r,e);return n?function(c,l){const{firstIndex:d,lastIndexOld:u,lastIndexNew:g}=c;if(-1===d)return Array(l).fill("equal");let m=[];return d>0&&(m=m.concat(Array(d).fill("equal"))),g-d>0&&(m=m.concat(Array(g-d).fill("insert"))),u-d>0&&(m=m.concat(Array(u-d).fill("delete"))),g0&&d.push({index:u,type:"insert",values:c.slice(u,m)}),g-u>0&&d.push({index:u+(m-u),type:"delete",howMany:g-u}),d}(r,s)}function T(o,t,e){for(let n=0;n200||i>200||n+i>300)return z.fastDiff(o,t,e,!0);let r,s;if(iD?-1:1;d[w+M]&&(d[w]=d[w+M].slice(0)),d[w]||(d[w]=[]),d[w].push(v>D?r:s);let R=Math.max(v,D),Y=R-w;for(;Yl;m--)u[m]=g(m);u[l]=g(l),f++}while(u[l]!==c);return d[l].slice(1)}z.fastDiff=C;class G{constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=function o(){o.called=!0},this.off=function o(){o.called=!0}}}const W=new Array(256).fill("").map((o,t)=>("0"+t.toString(16)).slice(-2));function J(){const o=4294967296*Math.random()>>>0,t=4294967296*Math.random()>>>0,e=4294967296*Math.random()>>>0,n=4294967296*Math.random()>>>0;return"e"+W[o>>0&255]+W[o>>8&255]+W[o>>16&255]+W[o>>24&255]+W[t>>0&255]+W[t>>8&255]+W[t>>16&255]+W[t>>24&255]+W[e>>0&255]+W[e>>8&255]+W[e>>16&255]+W[e>>24&255]+W[n>>0&255]+W[n>>8&255]+W[n>>16&255]+W[n>>24&255]}const rt={get(o="normal"){return"number"!=typeof o?this[o]||this.normal:o},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function Nt(o,t){const e=rt.get(t.priority);for(let n=0;n{if("object"==typeof u&&null!==u){if(s.has(u))return`[object ${u.constructor.name}]`;s.add(u)}return u})}`:"")+Tt(i)}(t,n)),this.name="CKEditorError",this.context=e,this.data=n}is(t){return"CKEditorError"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is("CKEditorError"))throw t;const n=new S(t.message,e);throw n.stack=t.stack,n}}function Q(o,t){console.warn(...It(o,t))}function dt(o,t){console.error(...It(o,t))}function Tt(o){return`\nRead more: ${X}#error-${o}`}function It(o,t){const e=Tt(o);return t?[o,t,e]:[o,e]}const qe=new Date(2023,8,6);if(globalThis.CKEDITOR_VERSION)throw new S("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION="39.0.2";const ee=Symbol("listeningTo"),dn=Symbol("emitterId"),ue=Symbol("delegations"),ws=mt(Object);function mt(o){return o?class extends o{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let i=!1;this.listenTo(this,t,(r,...s)=>{i||(i=!0,r.off(),e.call(this,r,...s))},n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,i={}){let r,s;this[ee]||(this[ee]={});const a=this[ee];Ui(t)||Vi(t);const c=Ui(t);var d,u,g,m;(r=a[c])||(r=a[c]={emitter:t,callbacks:{}}),(s=r.callbacks[e])||(s=r.callbacks[e]=[]),s.push(n),u=e,g=n,m=i,(d=t)._addEventListener?d._addEventListener(u,g,m):this._addEventListener.call(d,u,g,m)}stopListening(t,e,n){const i=this[ee];let r=t&&Ui(t);const s=i&&r?i[r]:void 0,a=s&&e?s.callbacks[e]:void 0;if(!(!i||t&&!s||e&&!a))if(n)Gi(this,t,e,n),-1!==a.indexOf(n)&&(1===a.length?delete s.callbacks[e]:Gi(this,t,e,n));else if(a){for(;n=a.pop();)Gi(this,t,e,n);delete s.callbacks[e]}else if(s){for(e in s.callbacks)this.stopListening(t,e);delete i[r]}else{for(r in i)this.stopListening(i[r].emitter);delete this[ee]}}fire(t,...e){try{const n=t instanceof G?t:new G(this,t),i=n.name;let r=Hi(this,i);if(n.path.push(this),r){const a=[n,...e];r=Array.from(r);for(let c=0;c{this[ue]||(this[ue]=new Map),t.forEach(i=>{const r=this[ue].get(i);r?r.set(e,n):this[ue].set(i,new Map([[e,n]]))})}}}stopDelegating(t,e){if(this[ue])if(t)if(e){const n=this[ue].get(t);n&&n.delete(e)}else this[ue].delete(t);else this[ue].clear()}_addEventListener(t,e,n){!function(s,a){const c=_s(s);if(c[a])return;let l=a,d=null;const u=[];for(;""!==l&&!c[l];)c[l]={callbacks:[],childEvents:[]},u.push(c[l]),d&&c[l].childEvents.push(d),d=l,l=l.substr(0,l.lastIndexOf(":"));if(""!==l){for(const g of u)g.callbacks=c[l].callbacks.slice();c[l].childEvents.push(d)}}(this,t);const i=ro(this,t),r={callback:e,priority:rt.get(n.priority)};for(const s of i)Nt(s,r)}_removeEventListener(t,e){const n=ro(this,t);for(const i of n)for(let r=0;r-1?Hi(o,t.substr(0,t.lastIndexOf(":"))):null}function Ro(o,t,e){for(let[n,i]of o){i?"function"==typeof i&&(i=i(t.name)):i=t.name;const r=new G(t.source,i);r.path=[...t.path],n.fire(r,...e)}}function Gi(o,t,e,n){t._removeEventListener?t._removeEventListener(e,n):o._removeEventListener.call(t,e,n)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{mt[o]=ws.prototype[o]});const Dt=function(o){var t=typeof o;return null!=o&&("object"==t||"function"==t)},qi=Symbol("observableProperties"),Fo=Symbol("boundObservables"),Vo=Symbol("boundProperties"),ne=Symbol("decoratedMethods"),As=Symbol("decoratedOriginal"),Wi=ht(mt());function ht(o){return o?class extends o{set(t,e){if(Dt(t))return void Object.keys(t).forEach(i=>{this.set(i,t[i])},this);$i(this);const n=this[qi];if(t in this&&!n.has(t))throw new S("observable-set-cannot-override",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(i){const r=n.get(t);let s=this.fire(`set:${t}`,t,i,r);void 0===s&&(s=i),r===s&&n.has(t)||(n.set(t,s),this.fire(`change:${t}`,t,s,r))}}),this[t]=e}bind(...t){if(!t.length||!Uo(t))throw new S("observable-bind-wrong-properties",this);if(new Set(t).size!==t.length)throw new S("observable-bind-duplicate-properties",this);$i(this);const e=this[Vo];t.forEach(i=>{if(e.has(i))throw new S("observable-bind-rebind",this)});const n=new Map;return t.forEach(i=>{const r={property:i,to:[]};e.set(i,r),n.set(i,r)}),{to:ye,toMany:ml,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[qi])return;const e=this[Vo],n=this[Fo];if(t.length){if(!Uo(t))throw new S("observable-unbind-wrong-properties",this);t.forEach(i=>{const r=e.get(i);r&&(r.to.forEach(([s,a])=>{const c=n.get(s),l=c[a];l.delete(r),l.size||delete c[a],Object.keys(c).length||(n.delete(s),this.stopListening(s,"change"))}),e.delete(i))})}else n.forEach((i,r)=>{this.stopListening(r,"change")}),n.clear(),e.clear()}decorate(t){$i(this);const e=this[t];if(!e)throw new S("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t});this.on(t,(n,i)=>{n.return=e.apply(this,i)}),this[t]=function(...n){return this.fire(t,n)},this[t][As]=e,this[ne]||(this[ne]=[]),this[ne].push(t)}stopListening(t,e,n){if(!t&&this[ne]){for(const i of this[ne])this[i]=this[i][As];delete this[ne]}super.stopListening(t,e,n)}}:Wi}function $i(o){o[qi]||(Object.defineProperty(o,qi,{value:new Map}),Object.defineProperty(o,Fo,{value:new Map}),Object.defineProperty(o,Vo,{value:new Map}))}function ye(...o){const t=function(...r){if(!r.length)throw new S("observable-bind-to-parse-error",null);const s={to:[]};let a;return"function"==typeof r[r.length-1]&&(s.callback=r.pop()),r.forEach(c=>{if("string"==typeof c)a.properties.push(c);else{if("object"!=typeof c)throw new S("observable-bind-to-parse-error",null);a={observable:c,properties:[]},s.to.push(a)}}),s}(...o),e=Array.from(this._bindings.keys()),n=e.length;if(!t.callback&&t.to.length>1)throw new S("observable-bind-to-no-callback",this);if(n>1&&t.callback)throw new S("observable-bind-to-extra-callback",this);var i;t.to.forEach(r=>{if(r.properties.length&&r.properties.length!==n)throw new S("observable-bind-to-properties-length",this);r.properties.length||(r.properties=this._bindProperties)}),this._to=t.to,t.callback&&(this._bindings.get(e[0]).callback=t.callback),i=this._observable,this._to.forEach(r=>{const s=i[Fo];let a;s.get(r.observable)||i.listenTo(r.observable,"change",(c,l)=>{a=s.get(r.observable)[l],a&&a.forEach(d=>{Cs(i,d.property)})})}),function(r){let s;r._bindings.forEach((a,c)=>{r._to.forEach(l=>{s=l.properties[a.callback?0:r._bindProperties.indexOf(c)],a.to.push([l.observable,s]),function(d,u,g,m){const f=d[Fo],w=f.get(g),v=w||{};v[m]||(v[m]=new Set),v[m].add(u),w||f.set(g,v)}(r._observable,a,l.observable,s)})})}(this),this._bindProperties.forEach(r=>{Cs(this._observable,r)})}function ml(o,t,e){if(this._bindings.size>1)throw new S("observable-bind-to-many-not-one-binding",this);this.to(...function(n,i){const r=n.map(s=>[s,i]);return Array.prototype.concat.apply([],r)}(o,t),e)}function Uo(o){return o.every(t=>"string"==typeof t)}function Cs(o,t){const e=o[Vo].get(t);let n;e.callback?n=e.callback.apply(o,e.to.map(i=>i[0][i[1]])):(n=e.to[0],n=n[0][n[1]]),Object.prototype.hasOwnProperty.call(o,t)?o[t]=n:o.set(t,n)}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{ht[o]=Wi.prototype[o]});class fl{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e}),t.style.display="none",e&&t.parentNode.insertBefore(e,t.nextSibling)}restore(){this._replacedElements.forEach(({element:t,newElement:e})=>{t.style.display="",e&&e.remove()}),this._replacedElements=[]}}function Yi(o){let t=0;for(const e of o)t++;return t}function Zt(o,t){const e=Math.min(o.length,t.length);for(let n=0;n-1},On.prototype.set=function(o,t){var e=this.__data__,n=Ho(e,o);return n<0?(++this.size,e.push([o,t])):e[n][1]=t,this};const Go=On,Ke=function(o){if(!Dt(o))return!1;var t=We(o);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},Zi=Kt["__core-js_shared__"];var qo=function(){var o=/[^.]+$/.exec(Zi&&Zi.keys&&Zi.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),Pl=Function.prototype.toString;const un=function(o){if(null!=o){try{return Pl.call(o)}catch{}try{return o+""}catch{}}return""};var Is=/^\[object .+?Constructor\]$/,Rl=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const hn=function(o,t){var e=function(o,t){return o?.[t]}(o,t);return function(o){return!(!Dt(o)||function(o){return!!qo&&qo in o}(o))&&(Ke(o)?Rl:Is).test(un(o))}(e)?e:void 0},lo=hn(Kt,"Map"),zn=hn(Object,"create");var Ul=Object.prototype.hasOwnProperty,Gl=Object.prototype.hasOwnProperty;function Ln(o){var t=-1,e=null==o?0:o.length;for(this.clear();++t-1&&o%1==0&&o-1&&o%1==0&&o<=9007199254740991};var St={};St["[object Float32Array]"]=St["[object Float64Array]"]=St["[object Int8Array]"]=St["[object Int16Array]"]=St["[object Int32Array]"]=St["[object Uint8Array]"]=St["[object Uint8ClampedArray]"]=St["[object Uint16Array]"]=St["[object Uint32Array]"]=!0,St["[object Arguments]"]=St["[object Array]"]=St["[object ArrayBuffer]"]=St["[object Boolean]"]=St["[object DataView]"]=St["[object Date]"]=St["[object Error]"]=St["[object Function]"]=St["[object Map]"]=St["[object Number]"]=St["[object Object]"]=St["[object RegExp]"]=St["[object Set]"]=St["[object String]"]=St["[object WeakMap]"]=!1;const nr=function(o){return function(t){return o(t)}};var Rs=Ie&&!Ie.nodeType&&Ie,go=Rs&&ve&&!ve.nodeType&&ve,or=go&&go.exports===Rs&&vs.process;const Un=function(){try{return go&&go.require&&go.require("util").types||or&&or.binding&&or.binding("util")}catch{}}();var Fs=Un&&Un.isTypedArray;const je=Fs?nr(Fs):function(o){return he(o)&&js(o.length)&&!!St[We(o)]};var id=Object.prototype.hasOwnProperty;const Hn=function(o,t){var e=Jt(o),n=!e&&tr(o),i=!e&&!n&&ho(o),r=!e&&!n&&!i&&je(o),s=e||n||i||r,a=s?function(o,t){for(var e=-1,n=Array(o);++e{this._setToTarget(t,i,e[i],n)})}}function ha(o){return ni(o,Id)}function Id(o){return kn(o)?o:void 0}function Je(o){if(o){if(o.defaultView)return o instanceof o.defaultView.Document;if(o.ownerDocument&&o.ownerDocument.defaultView)return o instanceof o.ownerDocument.defaultView.Node}return!1}function oi(o){const t=Object.prototype.toString.apply(o);return"[object Window]"==t||"[object global]"==t}const mr=Xe(mt());function Xe(o){return o?class extends o{listenTo(t,e,n,i={}){if(Je(t)||oi(t)){const r={capture:!!i.useCapture,passive:!!i.usePassive},s=this._getProxyEmitter(t,r)||new Md(t,r);this.listenTo(s,e,n,i)}else super.listenTo(t,e,n,i)}stopListening(t,e,n){if(Je(t)||oi(t)){const i=this._getAllProxyEmitters(t);for(const r of i)this.stopListening(r,e,n)}else super.stopListening(t,e,n)}_getProxyEmitter(t,e){return function(n,i){const r=n[ee];return r&&r[i]?r[i].emitter:null}(this,ga(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map(e=>this._getProxyEmitter(t,e)).filter(e=>!!e)}}:mr}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{Xe[o]=mr.prototype[o]});class Md extends(mt()){constructor(t,e){super(),Vi(this,ga(t,e)),this._domNode=t,this._options=e}attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),mt().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){mt().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=n=>{this.fire(t,n)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function ga(o,t){let e=(n=o)["data-ck-expando"]||(n["data-ck-expando"]=J());var n;for(const n of Object.keys(t).sort())t[n]&&(e+="-"+n);return e}let fr;try{fr={window,document}}catch{fr={window:{},document:{}}}const it=fr;function kr(o){let t=o.parentElement;if(!t)return null;for(;"BODY"!=t.tagName;){const e=t.style.overflowY||it.window.getComputedStyle(t).overflowY;if("auto"===e||"scroll"===e)break;if(t=t.parentElement,!t)return null}return t}function ii(o){return"[object Range]"==Object.prototype.toString.apply(o)}function pa(o){const t=o.ownerDocument.defaultView.getComputedStyle(o);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}function zt(o){return"[object Text]"==Object.prototype.toString.call(o)}const ma=["top","right","bottom","left","width","height"];class ft{constructor(t){const e=ii(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),ka(t)||e)if(e){const n=ft.getDomRangeRects(t);ri(this,ft.getBoundingRect(n))}else ri(this,t.getBoundingClientRect());else if(oi(t)){const{innerWidth:n,innerHeight:i}=t;ri(this,{top:0,right:n,bottom:i,left:0,width:n,height:i})}else ri(this,t)}clone(){return new ft(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};return e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0?null:new ft(e)}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(fa(t))return e;let n,i=t,r=t.parentNode||t.commonAncestorContainer;for(;r&&!fa(r);){if(i instanceof HTMLElement&&"absolute"===ba(i)&&(n=i),n&&("relative"!==ba(r)||"visible"===(s=r).ownerDocument.defaultView.getComputedStyle(s).overflow)){i=r,r=r.parentNode;continue}const a=new ft(r),c=e.getIntersection(a);if(!c)return null;c.getArea(){for(const t of o){const e=Pt._getElementCallbacks(t.target);if(e)for(const n of e)n(t)}})}};let si=Pt;function bn(o){return t=>t+o}function ai(o){let t=0;for(;o.previousSibling;)o=o.previousSibling,t++;return t}function wa(o,t,e){o.insertBefore(e,o.childNodes[t]||null)}function mo(o){return o&&o.nodeType===Node.COMMENT_NODE}function wn(o){return!!(o&&o.getClientRects&&o.getClientRects().length)}si._observerInstance=null,si._elementCallbacks=null;var _a=Math.pow;function Ct({element:o,target:t,positions:e,limiter:n,fitInViewport:i,viewportOffsetConfig:r}){Ke(t)&&(t=t()),Ke(n)&&(n=n());const s=(g=o)&&g.parentNode?g.offsetParent===it.document.body?null:g.offsetParent:null,a=new ft(o),c=new ft(t);var g;let l;const d=i&&function(g){g=Object.assign({top:0,bottom:0,left:0,right:0},g);const m=new ft(it.window);return m.top+=g.top,m.height-=g.top,m.bottom-=g.bottom,m.height-=g.bottom,m}(r)||null,u={targetRect:c,elementRect:a,positionedElementAncestor:s,viewportRect:d};if(n||i){const g=n&&new ft(n).getVisible();Object.assign(u,{limiterRect:g,viewportRect:d}),l=function(m,f){const{elementRect:w}=f,v=w.getArea(),D=m.map(Y=>new br(Y,f)).filter(Y=>!!Y.name);let M=0,R=null;for(const Y of D){const{limiterIntersectionArea:nt,viewportIntersectionArea:_t}=Y;if(nt===v)return Y;const lt=_a(_t,2)+_a(nt,2);lt>M&&(M=lt,R=Y)}return R}(e,u)||new br(e[0],u)}else l=new br(e[0],u);return l}function Aa(o){const{scrollX:t,scrollY:e}=it.window;return o.clone().moveBy(t,e)}class br{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect);if(!n)return;const{left:i,top:r,name:s,config:a}=n;this.name=s,this.config=a,this._positioningFunctionCorrdinates={left:i,top:r},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;if(t){const e=this._options.viewportRect;if(!e)return t.getIntersectionArea(this._rect);{const n=t.getIntersection(e);if(n)return n.getIntersectionArea(this._rect)}}return 0}get viewportIntersectionArea(){const t=this._options.viewportRect;return t?t.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=Aa(this._rect),this._options.positionedElementAncestor&&function(t,e){const n=Aa(new ft(e)),i=pa(e);let r=0,s=0;r-=n.left,s-=n.top,r+=e.scrollLeft,s+=e.scrollTop,r-=i.left,s-=i.top,t.moveBy(r,s)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}function Ca(o){const t=o.parentNode;t&&t.removeChild(o)}function wr({window:o,rect:t,alignToTop:e,forceScroll:n,viewportOffset:i}){const r=t.clone().moveBy(0,i.bottom),s=t.clone().moveBy(0,-i.top),a=new ft(o).excludeScrollbarsAndBorders(),c=e&&n,l=[s,r].every(f=>a.contains(f));let{scrollX:d,scrollY:u}=o;const g=d,m=u;c?u-=a.top-t.top+i.top:l||(ya(s,a)?u-=a.top-t.top+i.top:Wn(r,a)&&(u+=e?t.top-a.top-i.top:t.bottom-a.bottom+i.bottom)),l||(ci(t,a)?d-=a.left-t.left+i.left:xa(t,a)&&(d+=t.right-a.right+i.right)),d==g&&u===m||o.scrollTo(d,u)}function va({parent:o,getRect:t,alignToTop:e,forceScroll:n,ancestorOffset:i=0,limiterElement:r}){const s=tn(o),a=e&&n;let c,l,d;const u=r||s.document.body;for(;o!=u;)l=t(),c=new ft(o).excludeScrollbarsAndBorders(),d=c.contains(l),a?o.scrollTop-=c.top-l.top+i:d||(ya(l,c)?o.scrollTop-=c.top-l.top+i:Wn(l,c)&&(o.scrollTop+=e?l.top-c.top-i:l.bottom-c.bottom+i)),d||(ci(l,c)?o.scrollLeft-=c.left-l.left+i:xa(l,c)&&(o.scrollLeft+=l.right-c.right+i)),o=o.parentNode}function Wn(o,t){return o.bottom>t.bottom}function ya(o,t){return o.topt.right}function tn(o){return ii(o)?o.startContainer.ownerDocument.defaultView:o.ownerDocument.defaultView}function Ea(o){if(ii(o)){let t=o.commonAncestorContainer;return zt(t)&&(t=t.parentNode),t}return o.parentNode}function Da(o,t){const e=tn(o),n=new ft(o);if(e===t)return n;{let i=e;for(;i!=t;){const s=new ft(i.frameElement).excludeScrollbarsAndBorders();n.moveBy(s.left,s.top),i=i.parent}}return n}const Nd={ctrl:"\u2303",cmd:"\u2318",alt:"\u2325",shift:"\u21e7"},Pd={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},ct=function(){const o={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let t=65;t<=90;t++)o[String.fromCharCode(t).toLowerCase()]=t;for(let t=48;t<=57;t++)o[t-48]=t;for(let t=112;t<=123;t++)o["f"+(t-111)]=t;for(const t of"`-=[];',./\\")o[t]=t.charCodeAt(0);return o}(),Od=Object.fromEntries(Object.entries(ct).map(([o,t])=>[t,o.charAt(0).toUpperCase()+o.slice(1)]));function _n(o){let t;if("string"==typeof o){if(t=ct[o.toLowerCase()],!t)throw new S("keyboard-unknown-key",null,{key:o})}else t=o.keyCode+(o.altKey?ct.alt:0)+(o.ctrlKey?ct.ctrl:0)+(o.shiftKey?ct.shift:0)+(o.metaKey?ct.cmd:0);return t}function li(o){return"string"==typeof o&&(o=o.split("+").map(e=>e.trim())),o.map(t=>"string"==typeof t?function(e){if(e.endsWith("!"))return _n(e.slice(0,-1));const n=_n(e);return x.isMac&&n==ct.ctrl?ct.cmd:n}(t):t).reduce((t,e)=>e+t,0)}function Sa(o){let t=li(o);return Object.entries(x.isMac?Nd:Pd).reduce((e,[n,i])=>(t&ct[n]&&(t&=~ct[n],e+=i),e),"")+(t?Od[t]:"")}function fo(o,t){const e="ltr"===t;switch(o){case ct.arrowleft:return e?"left":"right";case ct.arrowright:return e?"right":"left";case ct.arrowup:return"up";case ct.arrowdown:return"down"}}function Ht(o){return Array.isArray(o)?o:[o]}it.window.CKEDITOR_TRANSLATIONS||(it.window.CKEDITOR_TRANSLATIONS={});const Ld=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function Ta(o){return Ld.includes(o)?"rtl":"ltr"}class jd{constructor({uiLanguage:t="en",contentLanguage:e}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=Ta(this.uiLanguage),this.contentLanguageDirection=Ta(this.contentLanguage),this.t=(n,i)=>this._t(n,i)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(t,e=[]){return e=Ht(e),"string"==typeof t&&(t={string:t}),i=function zd(o,t,e=1){if("number"!=typeof e)throw new S("translation-service-quantity-not-a-number",null,{quantity:e});const n=Object.keys(it.window.CKEDITOR_TRANSLATIONS).length;1===n&&(o=Object.keys(it.window.CKEDITOR_TRANSLATIONS)[0]);const i=t.id||t.string;if(0===n||!it.window.CKEDITOR_TRANSLATIONS[c=o]||!it.window.CKEDITOR_TRANSLATIONS[c].dictionary[i])return 1!==e?t.plural:t.string;var c;const s=it.window.CKEDITOR_TRANSLATIONS[o].getPluralForm||(c=>1===c?0:1),a=it.window.CKEDITOR_TRANSLATIONS[o].dictionary[i];return"string"==typeof a?a:a[Number(s(e))]}(this.uiLanguage,t,t.plural?e[0]:1),r=e,i.replace(/%(\d+)/g,(s,a)=>athis._items.length||e<0)throw new S("collection-add-item-invalid-index",this);let n=0;for(const i of t){const r=this._getItemIdBeforeAdding(i),s=e+n;this._items.splice(s,0,i),this._itemMap.set(r,i),this.fire("add",i,s),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if("string"==typeof t)e=this._itemMap.get(t);else{if("number"!=typeof t)throw new S("collection-get-invalid-arg",this);e=this._items[t]}return e||null}has(t){if("string"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e="string"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new S("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:e=>{this._setUpBindToBinding(n=>new e(n))},using:e=>{this._setUpBindToBinding("function"==typeof e?e:n=>n[e])}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(i,r,s)=>{const a=e._bindToCollection==this,c=e._bindToInternalToExternalMap.get(r);if(a&&c)this._bindToExternalToInternalMap.set(r,c),this._bindToInternalToExternalMap.set(c,r);else{const l=t(r);if(!l)return void this._skippedIndexesFromExternal.push(s);let d=s;for(const u of this._skippedIndexesFromExternal)s>u&&d--;for(const u of e._skippedIndexesFromExternal)d>=u&&d++;this._bindToExternalToInternalMap.set(r,l),this._bindToInternalToExternalMap.set(l,r),this.add(l,d);for(let u=0;u{const a=this._bindToExternalToInternalMap.get(r);a&&this.remove(a),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((c,l)=>(sl&&c.push(l),c),[])})}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],"string"!=typeof n)throw new S("collection-add-invalid-id",this);if(this.get(n))throw new S("collection-add-item-already-exists",this)}else t[e]=n=J();return n}_remove(t){let e,n,i,r=!1;const s=this._idProperty;if("string"==typeof t?(n=t,i=this._itemMap.get(n),r=!i,i&&(e=this._items.indexOf(i))):"number"==typeof t?(e=t,i=this._items[e],r=!i,i&&(n=i[s])):(i=t,n=i[s],e=this._items.indexOf(i),r=-1==e||!this._itemMap.get(n)),r)throw new S("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const a=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(a),this.fire("remove",i,e),[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function Lt(o){const t=o.next();return t.done?null:t.value}class ce extends(Xe(ht())){constructor(){super(),this._elements=new Set,this._nextEventLoopTimeout=null,this.set("isFocused",!1),this.set("focusedElement",null)}add(t){if(this._elements.has(t))throw new S("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",()=>this._focus(t),{useCapture:!0}),this.listenTo(t,"blur",()=>this._blur(),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout(()=>{this.focusedElement=null,this.isFocused=!1},0)}}class Me{constructor(){this._listener=new(Xe())}listenTo(t){this._listener.listenTo(t,"keydown",(e,n)=>{this._listener.fire("_keydown:"+_n(n),n)})}set(t,e,n={}){const i=li(t);this._listener.listenTo(this._listener,"_keydown:"+i,(s,a)=>{e(a,()=>{a.preventDefault(),a.stopPropagation(),s.stop()}),s.return=!0},{priority:n.priority})}press(t){return!!this._listener.fire("_keydown:"+_n(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function pe(o){return se(o)?new Map(o):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(o)}function _r(o,t){let e;function n(...i){n.cancel(),e=setTimeout(()=>o(...i),t)}return n.cancel=()=>{clearTimeout(e)},n}function Ar(o,t){return!!(e=o.charAt(t-1))&&1==e.length&&/[\ud800-\udbff]/.test(e)&&!!(n=o.charAt(t))&&1==n.length&&/[\udc00-\udfff]/.test(n);var n,e}function Cr(o,t){return!!(e=o.charAt(t))&&1==e.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(e);var e}const Rd=function(){const o=[new RegExp("\\p{Emoji}[\\u{E0020}-\\u{E007E}]+\\u{E007F}","u"),new RegExp("\\p{Emoji}\\u{FE0F}?\\u{20E3}","u"),new RegExp("\\p{Emoji}\\u{FE0F}","u"),new RegExp("(?=\\p{General_Category=Other_Symbol})\\p{Emoji}\\p{Emoji_Modifier}*","u")],t=new RegExp("\\p{Regional_Indicator}{2}","u").source,e="(?:"+o.map(n=>n.source).join("|")+")";return new RegExp(`${t}|${e}(?:\u200d${e})*`,"ug")}();function Ia(o,t){const e=String(o).matchAll(Rd);return Array.from(e).some(n=>n.index{this._renderViewIntoCollectionParent(n,i)}),this.on("remove",(e,n)=>{n.element&&this._parentElement&&n.element.remove()}),this._parentElement=null}destroy(){this.map(t=>t.destroy())}setParent(t){this._parentElement=t;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...t){if(!t.length||!t.every(e=>"string"==typeof e))throw new S("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const i of t)n.delegate(i).to(e);this.on("add",(n,i)=>{for(const r of t)i.delegate(r).to(e)}),this.on("remove",(n,i)=>{for(const r of t)i.stopDelegating(r,e)})}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}remove(t){return super.remove(t)}}var Fd=H(6062),K=H.n(Fd),Ma=H(4793);K()(Ma.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class at extends(Xe(ht())){constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new ge,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",(e,n)=>{n.locale=t,n.t=t&&t.t}),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=Ee.bind(this,this)}createCollection(t){const e=new en(t);return this._viewCollections.add(e),e}registerChild(t){se(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){se(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new Ee(t)}extendTemplate(t){Ee.extend(this.template,t)}render(){if(this.isRendered)throw new S("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map(t=>t.destroy()),this.template&&this.template._revertData&&this.template.revert(this.element)}}class Ee extends(mt()){constructor(t){super(),Object.assign(this,Oa(Pa(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new S("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)bo(n)?yield n:Er(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,i)=>new Ba({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i}),if:(n,i,r)=>new Na({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:r})}}static extend(t,e){if(t._isRendered)throw new S("template-extend-render",[this,t]);ja(t,Oa(Pa(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new S("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),ko(this.text)?this._bindToObservable({schema:this.text,updater:Vd(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const i in this.attributes){const r=e.getAttribute(i),s=this.attributes[i];n&&(n.attributes[i]=r);const a=Ra(s)?s[0].ns:null;if(ko(s)){const c=Ra(s)?s[0].value:s;n&&Fa(i)&&c.unshift(r),this._bindToObservable({schema:c,updater:Ud(e,i,a),data:t})}else if("style"==i&&"string"!=typeof s[0])this._renderStyleAttribute(s[0],t);else{n&&r&&Fa(i)&&s.unshift(r);const c=s.map(l=>l&&l.value||l).reduce((l,d)=>l.concat(d),[]).reduce(La,"");Yn(c)||e.setAttributeNS(a,i,c)}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const r=t[i];ko(r)?this._bindToObservable({schema:[r],updater:Hd(n,i),data:e}):n.style[i]=r}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,i=t.isApplying;let r=0;for(const s of this.children)if(wo(s)){if(!i){s.setParent(e);for(const a of s)n.appendChild(a.element)}}else if(bo(s))i||(s.isRendered||s.render(),n.appendChild(s.element));else if(Je(s))n.appendChild(s);else if(i){const a={children:[],bindings:[],attributes:{}};t.revertData.children.push(a),s._renderNode({intoFragment:!1,node:n.childNodes[r++],isApplying:!0,revertData:a})}else n.appendChild(s.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map(i=>{const[r,s]=e.split("@");return i.activateDomEventListener(r,s,t)});t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;yr(t,e,n);const r=t.filter(s=>!Yn(s)).filter(s=>s.observable).map(s=>s.activateAttributeListener(t,e,n));i&&i.bindings.push(r)}_revertTemplateFromNode(t,e){for(const i of e.bindings)for(const r of i)r();if(e.text)return void(t.textContent=e.text);const n=t;for(const i in e.attributes){const r=e.attributes[i];null===r?n.removeAttribute(i):n.setAttribute(i,r)}for(let i=0;iyr(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,i),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class Ba extends $n{constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(r,s)=>{e&&!s.target.matches(e)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(s):this.observable.fire(this.eventNameOrFunction,s))};return this.emitter.listenTo(n.node,t,i),()=>{this.emitter.stopListening(n.node,t,i)}}}class Na extends $n{constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){return!Yn(super.getValue(t))&&(this.valueIfTrue||!0)}}function ko(o){return!!o&&(o.value&&(o=o.value),Array.isArray(o)?o.some(ko):o instanceof $n)}function yr(o,t,{node:e}){const n=(s=e,o.map(a=>a instanceof $n?a.getValue(s):a));var s;let i;i=1==o.length&&o[0]instanceof Na?n[0]:n.reduce(La,""),Yn(i)?t.remove():t.set(i)}function Vd(o){return{set(t){o.textContent=t},remove(){o.textContent=""}}}function Ud(o,t,e){return{set(n){o.setAttributeNS(e,t,n)},remove(){o.removeAttributeNS(e,t)}}}function Hd(o,t){return{set(e){o.style[t]=e},remove(){o.style[t]=null}}}function Pa(o){return ni(o,t=>{if(t&&(t instanceof $n||Er(t)||bo(t)||wo(t)))return t})}function Oa(o){if("string"==typeof o?o={text:[o]}:o.text&&((t=o).text=Ht(t.text)),o.on&&(o.eventListeners=function(t){for(const e in t)za(t,e);return t}(o.on),delete o.on),!o.text){o.attributes&&function(e){for(const n in e)e[n].value&&(e[n].value=Ht(e[n].value)),za(e,n)}(o.attributes);const t=[];if(o.children)if(wo(o.children))t.push(o.children);else for(const e of o.children)Er(e)||bo(e)||Je(e)?t.push(e):t.push(new Ee(e));o.children=t}var t;return o}function za(o,t){o[t]=Ht(o[t])}function La(o,t){return Yn(t)?o:Yn(o)?t:`${o} ${t}`}function xr(o,t){for(const e in t)o[e]?o[e].push(...t[e]):o[e]=t[e]}function ja(o,t){if(t.attributes&&(o.attributes||(o.attributes={}),xr(o.attributes,t.attributes)),t.eventListeners&&(o.eventListeners||(o.eventListeners={}),xr(o.eventListeners,t.eventListeners)),t.text&&o.text.push(...t.text),t.children&&t.children.length){if(o.children.length!=t.children.length)throw new S("ui-template-extend-children-mismatch",o);let e=0;for(const n of t.children)ja(o.children[e++],n)}}function Yn(o){return!o&&0!==o}function bo(o){return o instanceof at}function Er(o){return o instanceof Ee}function wo(o){return o instanceof en}function Ra(o){return Dt(o[0])&&o[0].ns}function Fa(o){return"class"==o||"style"==o}class Gd extends en{constructor(t,e=[]){super(e),this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new Ee({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");t||(t=Es(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&0==t.childElementCount&&t.remove()}}var Dr=H(6574);K()(Dr.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const Va=class extends at{constructor(){super();const o=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon","ck-reset_all-excluded",o.if("isColorInherited","ck-icon_inherit-color")],viewBox:o.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",()=>{this._updateXMLContent(),this._colorFillPaths()}),this.on("change:fillColor",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const o=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),t=o.getAttribute("viewBox");t&&(this.viewBox=t);for(const{name:e,value:n}of Array.from(o.attributes))Va.presentationalAttributeNames.includes(e)&&this.element.setAttribute(e,n);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;o.childNodes.length>0;)this.element.appendChild(o.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach(o=>{o.style.fill=this.fillColor})}};let An=Va;An.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];var Ua=H(4906);K()(Ua.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class vt extends at{constructor(t){super(t),this._focusDelayed=null;const e=this.bindTemplate,n=J();this.set("ariaChecked",void 0),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${n}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._createLabelView(),this.iconView=new An,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));const i={tag:"button",attributes:{class:["ck","ck-button",e.to("class"),e.if("isEnabled","ck-disabled",r=>!r),e.if("isVisible","ck-hidden",r=>!r),e.to("isOn",r=>r?"ck-on":"ck-off"),e.if("withText","ck-button_with-text"),e.if("withKeystroke","ck-button_with-keystroke")],role:e.to("role"),type:e.to("type",r=>r||"button"),tabindex:e.to("tabindex"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy"),"aria-disabled":e.if("isEnabled",!0,r=>!r),"aria-checked":e.to("isOn"),"aria-pressed":e.to("isOn",r=>!!this.isToggleable&&String(!!r)),"data-cke-tooltip-text":e.to("_tooltipString"),"data-cke-tooltip-position":e.to("tooltipPosition")},children:this.children,on:{click:e.to(r=>{this.isEnabled?this.fire("execute"):r.preventDefault()})}};x.isSafari&&(this._focusDelayed||(this._focusDelayed=_r(()=>this.focus(),0)),i.on.mousedown=e.to(()=>{this._focusDelayed()}),i.on.mouseup=e.to(()=>{this._focusDelayed.cancel()})),this.setTemplate(i)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_createLabelView(){const t=new at,e=this.bindTemplate;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:e.to("labelStyle"),id:this.ariaLabelledBy},children:[{text:e.to("label")}]}),t}_createKeystrokeView(){const t=new at;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",e=>Sa(e))}]}),t}_getTooltipString(t,e,n){return t?"string"==typeof t?t:(n&&(n=Sa(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}var Sr=H(5332);K()(Sr.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class di extends vt{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new at;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}var Ha=H(6781);K()(Ha.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0}),H(1103),H(841);var Ga=H(3662);K()(Ga.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class qa extends at{constructor(t){super(t),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${J()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var ui=H(2577);K()(ui.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class _o extends at{constructor(t,e){super(t);const n=`ck-labeled-field-view-${J()}`,i=`ck-labeled-field-view-status-${J()}`;this.fieldView=e(this,n,i),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(i),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",(s,a)=>s||a);const r=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",r.to("class"),r.if("isEnabled","ck-disabled",s=>!s),r.if("isEmpty","ck-labeled-field-view_empty"),r.if("isFocused","ck-labeled-field-view_focused"),r.if("placeholder","ck-labeled-field-view_placeholder"),r.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new qa(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new at(this.locale),n=this.bindTemplate;return e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",i=>!i)],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]}),e}focus(){this.fieldView.focus()}}var Wa=H(4879);K()(Wa.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class $a extends at{constructor(t){super(t),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.focusTracker=new ce,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0),this.set("inputMode","text");const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),inputmode:e.to("inputMode"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to((...n)=>{this.fire("input",...n),this._updateIsEmpty()}),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",(t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()})}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:""}}class Qd extends $a{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class Ya extends at{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",n=>`ck-dropdown__panel_${n}`),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to(n=>{"input"!==n.target.tagName.toLocaleLowerCase()&&n.preventDefault()})}})}focus(){if(this.children.length){const t=this.children.first;"function"==typeof t.focus?t.focus():Q("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const t=this.children.last;"function"==typeof t.focusLast?t.focusLast():t.focus()}}}var Mr=H(5485);K()(Mr.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const hi=class extends at{constructor(o,t,e){super(o);const n=this.bindTemplate;this.buttonView=t,this.panelView=e,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.keystrokes=new Me,this.focusTracker=new ce,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",n.to("class"),n.if("isEnabled","ck-disabled",i=>!i)],id:n.to("id"),"aria-describedby":n.to("ariaDescribedById")},children:[t,e]}),t.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":n.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",()=>{this.isOpen=!this.isOpen}),this.panelView.bind("isVisible").to(this,"isOpen"),this.on("change:isOpen",(t,e,n)=>{n&&(this.panelView.position="auto"===this.panelPosition?hi._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelPosition)}),this.keystrokes.listenTo(this.element);const o=(t,e)=>{this.isOpen&&(this.isOpen=!1,e())};this.keystrokes.set("arrowdown",(t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())}),this.keystrokes.set("arrowright",(t,e)=>{this.isOpen&&e()}),this.keystrokes.set("arrowleft",o),this.keystrokes.set("esc",o)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:o,north:t,southEast:e,southWest:n,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=hi.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[e,n,s,a,o,i,r,c,l,t]:[n,e,a,s,o,r,i,l,c,t]}};let Br=hi;Br.defaultPanelPositions={south:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)/2,name:"s"}),southEast:o=>({top:o.bottom,left:o.left,name:"se"}),southWest:(o,t)=>({top:o.bottom,left:o.left-t.width+o.width,name:"sw"}),southMiddleEast:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)/4,name:"sme"}),southMiddleWest:(o,t)=>({top:o.bottom,left:o.left-3*(t.width-o.width)/4,name:"smw"}),north:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)/2,name:"n"}),northEast:(o,t)=>({top:o.top-t.height,left:o.left,name:"ne"}),northWest:(o,t)=>({top:o.top-t.height,left:o.left-t.width+o.width,name:"nw"}),northMiddleEast:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)/4,name:"nme"}),northMiddleWest:(o,t)=>({top:o.top-t.height,left:o.left-3*(t.width-o.width)/4,name:"nmw"})},Br._getOptimalPosition=Ct;const Qa='';class Zd extends vt{constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",e=>String(e))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new An;return t.content=Qa,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}class Kn{constructor(t){if(this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];"string"==typeof n&&(n=[n]);for(const i of n)t.keystrokeHandler.set(i,(r,s)=>{this[e](),s()})}}get first(){return this.focusables.find(Nr)||null}get last(){return this.focusables.filter(Nr).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find((e,n)=>{const i=e.element===this.focusTracker.focusedElement;return i&&(t=n),i}),t)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){t&&t.focus()}_getFocusableItem(t){const e=this.current,n=this.focusables.length;if(!n)return null;if(null===e)return this[1===t?"first":"last"];let i=(e+n+t)%n;do{const r=this.focusables.get(i);if(Nr(r))return r;i=(i+n+t)%n}while(i!==e);return null}}function Nr(o){return!(!o.focus||!wn(o.element))}class nn extends at{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class Pr extends at{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function Za(o){return Array.isArray(o)?{items:o,removeItems:[]}:o?Object.assign({items:[],removeItems:[]},o):{items:[],removeItems:[]}}class q extends(ht()){constructor(t){super(),this._disableStack=new Set,this.editor=t,this.set("isEnabled",!0)}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",Ja,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",Ja),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function Ja(o){o.return=!1,o.stop()}class st extends(ht()){constructor(t){super(),this.editor=t,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",()=>{this.refresh()}),this.listenTo(t,"change:isReadOnly",()=>{this.refresh()}),this.on("set:isEnabled",e=>{if(!this.affectsData)return;const n=t.model.document.selection,i="$graveyard"!=n.getFirstPosition().root.rootName&&t.model.canEditAt(n);(t.isReadOnly||this._isEnabledBasedOnSelection&&!i)&&(e.return=!1,e.stop())},{priority:"highest"}),this.on("execute",e=>{this.isEnabled||e.stop()},{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",Xa,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",Xa),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Xa(o){o.return=!1,o.stop()}class Or extends st{constructor(){super(...arguments),this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){Nt(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"}),t.on("change:isEnabled",()=>this._checkEnabled()),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find(({command:e})=>e.isEnabled);return t&&t.command}}class tc extends(mt()){constructor(t,e=[],n=[]){super(),this._plugins=new Map,this._context=t,this._availablePlugins=new Map;for(const i of e)i.pluginName&&this._availablePlugins.set(i.pluginName,i);this._contextPlugins=new Map;for(const[i,r]of n)this._contextPlugins.set(i,r),this._contextPlugins.set(r,i),i.pluginName&&this._availablePlugins.set(i.pluginName,i)}*[Symbol.iterator](){for(const t of this._plugins)"function"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let n=t;throw"function"==typeof t&&(n=t.pluginName||t.name),new S("plugincollection-plugin-not-loaded",this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this,r=this._context;(function f(w,v=new Set){w.forEach(D=>{c(D)&&(v.has(D)||(v.add(D),D.pluginName&&!i._availablePlugins.has(D.pluginName)&&i._availablePlugins.set(D.pluginName,D),D.requires&&f(D.requires,v)))})})(t),g(t);const s=[...function f(w,v=new Set){return w.map(D=>c(D)?D:i._availablePlugins.get(D)).reduce((D,M)=>v.has(M)?D:(v.add(M),M.requires&&(g(M.requires,M),f(M.requires,v).forEach(R=>D.add(R))),D.add(M)),new Set)}(t.filter(f=>!d(f,e)))];!function(f,w){for(const v of w){if("function"!=typeof v)throw new S("plugincollection-replace-plugin-invalid-type",null,{pluginItem:v});const D=v.pluginName;if(!D)throw new S("plugincollection-replace-plugin-missing-name",null,{pluginItem:v});if(v.requires&&v.requires.length)throw new S("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:D});const M=i._availablePlugins.get(D);if(!M)throw new S("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:D});const R=f.indexOf(M);if(-1===R){if(i._contextPlugins.has(M))return;throw new S("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:D})}if(M.requires&&M.requires.length)throw new S("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:D});f.splice(R,1,v),i._availablePlugins.set(D,v)}}(s,n);const a=s.map(f=>{let w=i._contextPlugins.get(f);return w=w||new f(r),i._add(f,w),w});return m(a,"init").then(()=>m(a,"afterInit")).then(()=>a);function c(f){return"function"==typeof f}function l(f){return c(f)&&!!f.isContextPlugin}function d(f,w){return w.some(v=>v===f||u(f)===v||u(v)===f)}function u(f){return c(f)?f.pluginName||f.name:f}function g(f,w=null){f.map(v=>c(v)?v:i._availablePlugins.get(v)||v).forEach(v=>{(function(D,M){if(!c(D))throw M?new S("plugincollection-soft-required",r,{missingPlugin:D,requiredBy:u(M)}):new S("plugincollection-plugin-not-found",r,{plugin:D})})(v,w),function(D,M){if(l(M)&&!l(D))throw new S("plugincollection-context-required",r,{plugin:u(D),requiredBy:u(M)})}(v,w),function(D,M){if(M&&d(D,e))throw new S("plugincollection-required",r,{plugin:u(D),requiredBy:u(M)})}(v,w)})}function m(f,w){return f.reduce((v,D)=>D[w]?i._contextPlugins.has(D)?v:v.then(D[w].bind(D)):v,Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)"function"!=typeof e.destroy||this._contextPlugins.has(e)||t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new S("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class gi{constructor(t){this._contextOwner=null,this.config=new ua(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e),this.plugins=new tc(this,e);const n=this.config.get("language")||{};this.locale=new jd({uiLanguage:"string"==typeof n?n:n.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new ge}initPlugins(){const t=this.config.get("plugins")||[],e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if("function"!=typeof n)throw new S("context-initplugins-constructor-only",null,{Plugin:n});if(!0!==n.isContextPlugin)throw new S("context-initplugins-invalid-plugin",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner)throw new S("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["plugins","removePlugins","extraPlugins"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise(e=>{const n=new this(t);e(n.initPlugins().then(()=>n))})}}class pi extends(ht()){constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}class Jd extends Me{constructor(t){super(),this.editor=t}set(t,e,n={}){if("string"==typeof e){const i=e;e=(r,s)=>{this.editor.execute(i),s()}}super.set(t,e,n)}}var ec=H(4717);K()(ec.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const mi=new WeakMap;let zr=!1;function Lr({view:o,element:t,text:e,isDirectHost:n=!0,keepOnFocus:i=!1}){const r=o.document;function s(a){mi.get(r).set(t,{text:a,isDirectHost:n,keepOnFocus:i,hostElement:n?t:null}),o.change(c=>jr(r,c))}mi.has(r)||(mi.set(r,new Map),r.registerPostFixer(a=>jr(r,a)),r.on("change:isComposing",()=>{o.change(a=>jr(r,a))},{priority:"high"})),t.is("editableElement")&&t.on("change:placeholder",(a,c,l)=>{s(l)}),t.placeholder?s(t.placeholder):e&&s(e),e&&(zr||Q("enableplaceholder-deprecated-text-option"),zr=!0)}function jr(o,t){const e=mi.get(o),n=[];let i=!1;for(const[r,s]of e)s.isDirectHost&&(n.push(r),nc(t,r,s)&&(i=!0));for(const[r,s]of e){if(s.isDirectHost)continue;const a=eu(r);a&&(n.includes(a)||(s.hostElement=a,nc(t,r,s)&&(i=!0)))}return i}function nc(o,t,e){const{text:n,isDirectHost:i,hostElement:r}=e;let s=!1;return r.getAttribute("data-placeholder")!==n&&(o.setAttribute("data-placeholder",n,r),s=!0),(i||1==t.childCount)&&function(a,c){if(!a.isAttached()||Array.from(a.getChildren()).some(u=>!u.is("uiElement")))return!1;const l=a.document,d=l.selection.anchor;return!(l.isComposing&&d&&d.parent===a||!c&&l.isFocused&&(!d||d.parent===a))}(r,e.keepOnFocus)?(a=o,!(c=r).hasClass("ck-placeholder")&&(a.addClass("ck-placeholder",c),!0)&&(s=!0)):function tu(o,t){return!!t.hasClass("ck-placeholder")&&(o.removeClass("ck-placeholder",t),!0)}(o,r)&&(s=!0),s;var a,c}function eu(o){if(o.childCount){const t=o.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}class Cn{is(){throw new Error("is() method is abstract")}}const oc=function(o){return pr(o,4)};class vn extends(mt(Cn)){constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if(-1==(t=this.parent.getChildIndex(this)))throw new S("view-node-not-found-in-parent",this);return t}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return 0===r?null:n[r-1]}isBefore(t){if(this==t||this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Zt(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i]t.data.length)throw new S("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new S("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}Be.prototype.is=function(o){return"$textProxy"===o||"view:$textProxy"===o||"textProxy"===o||"view:textProxy"===o};class De{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)("string"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const n of this._patterns){const i=ic(e,n);if(i)return{element:e,pattern:n,match:i}}return null}matchAll(...t){const e=[];for(const n of t)for(const i of this._patterns){const r=ic(n,i);r&&e.push({element:n,pattern:i,match:r})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return"function"==typeof t||!e||e instanceof RegExp?null:e}}function ic(o,t){if("function"==typeof t)return t(o);const e={};return t.name&&(e.name=(i=o.name,(n=t.name)instanceof RegExp?!!i.match(n):n===i),!e.name)||t.attributes&&(e.attributes=function(n,i){const r=new Set(i.getAttributeKeys());return ae(n)?(void 0!==n.style&&Q("matcher-pattern-deprecated-attributes-style-key",n),void 0!==n.class&&Q("matcher-pattern-deprecated-attributes-class-key",n)):(r.delete("style"),r.delete("class")),Rr(n,r,s=>i.getAttribute(s))}(t.attributes,o),!e.attributes)||t.classes&&(e.classes=function(n,i){return Rr(n,i.getClassNames(),()=>{})}(t.classes,o),!e.classes)||t.styles&&(e.styles=function(n,i){return Rr(n,i.getStyleNames(!0),r=>i.getStyle(r))}(t.styles,o),!e.styles)?null:e;var n,i}function Rr(o,t,e){const n=(s=o,Array.isArray(s)?s.map(a=>ae(a)?(void 0!==a.key&&void 0!==a.value||Q("matcher-pattern-missing-key-or-value",a),[a.key,a.value]):[a,!0]):ae(s)?Object.entries(s):[[s,!0]]),i=Array.from(t),r=[];var s;if(n.forEach(([s,a])=>{i.forEach(c=>{var l,d;d=c,(!0===(l=s)||l===d||l instanceof RegExp&&d.match(l))&&function(l,d,u){if(!0===l)return!0;const g=u(d);return l===g||l instanceof RegExp&&!!String(g).match(l)}(a,c,e)&&r.push(c)})}),n.length&&!(r.lengthi?0:i+t),(e=e>i?i:e)<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var r=Array(i);++n0){if(++t>=800)return arguments[0]}else t=0;return o.apply(void 0,arguments)}}(Cu),pc=function(o){return function(o,t){return vu(function(o,t,e){return t=uc(void 0===t?o.length-1:t,0),function(){for(var n=arguments,i=-1,r=uc(n.length-t,0),s=Array(r);++i1?e[i-1]:void 0,s=i>2?e[2]:void 0;for(r=o.length>3&&"function"==typeof r?(i--,r):void 0,s&&function(o,t,e){if(!Dt(e))return!1;var n=typeof t;return!!("number"==n?Jo(e)&&er(t,e.length):"string"==n&&t in e)&&co(e[t],o)}(e[0],e[1],s)&&(r=i<3?void 0:r,i=1),t=Object(t);++nn===t);return Array.isArray(e)}set(t,e){if(Dt(t))for(const[n,i]of Object.entries(t))this._styleProcessor.toNormalizedForm(n,i,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=$r(t);(function(o,t){null==o||function(o,t){null==(o=function(o,t){return t.length<2?o:sc(o,ac(t,0,-1))}(o,t=Hr(t,o)))||delete o[Gr(function(o){var t=null==o?0:o.length;return t?o[t-1]:void 0}(t))]}(o,t)})(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map(t=>t.join(":")).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!Dt(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find(([n])=>n===t);return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){return this.isEmpty?[]:t?this._styleProcessor.getStyleNames(this._styles):this._getStylesEntries().map(([e])=>e)}clear(){this._styles={}}_getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join("."),i=ki(this._styles,n);i&&!Array.from(Object.keys(i)).length&&this.remove(n)}}class Su{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(Dt(e))Yr(n,$r(t),e);else if(this._normalizers.has(t)){const i=this._normalizers.get(t),{path:r,value:s}=i(e);Yr(n,r,s)}else Yr(n,t,e)}getNormalized(t,e){if(!t)return mc({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if("string"==typeof n)return ki(e,n);const i=n(t,e);if(i)return i}return ki(e,$r(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);return void 0===n?[]:this._reducers.has(t)?this._reducers.get(t)(n):[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter(i=>{const r=this.getNormalized(i,t);return r&&"object"==typeof r?Object.keys(r).length:r}),n=new Set([...e,...Object.keys(t)]);return Array.from(n.values())}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function $r(o){return o.replace("-",".")}function Yr(o,t,e){let n=e;Dt(e)&&(n=mc({},ki(o,t),e)),function(o,t,e){null==o||function(o,t,e,n){if(!Dt(o))return o;for(var i=-1,r=(t=Hr(t,o)).length,s=r-1,a=o;null!=a&&++i0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(t){if("class"==t)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==t){const e=this._styles.toString();return""==e?void 0:e}return this._attrs.get(t)}hasAttribute(t){return"class"==t?this._classes.size>0:"style"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof le))return!1;if(this===t)return!0;if(this.name!=t.name||this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new De(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(","),e=this._styles.toString(),n=Array.from(this._attrs).map(i=>`${i[0]}="${i[1]}"`).sort().join(" ");return this.name+(""==t?"":` class="${t}"`)+(e?` style="${e}"`:"")+(""==n?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const i of this.getChildren())e.push(i._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=(r=this.document,"string"==typeof(s=e)?[new kt(r,s)]:(se(s)||(s=[s]),Array.from(s).map(a=>"string"==typeof a?new kt(r,a):a instanceof Be?new kt(r,a.data):a)));var r,s;for(const r of i)null!==r.parent&&r._remove(),r.parent=this,r.document=this.document,this._children.splice(t,0,r),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0&&(this._classes.clear(),!0):"style"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of Ht(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of Ht(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),"string"!=typeof t?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of Ht(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function fc(o,t){const e=t.split(/\s+/);o.clear(),e.forEach(n=>o.add(n))}le.prototype.is=function(o,t){return t?t===this.name&&("element"===o||"view:element"===o):"element"===o||"view:element"===o||"node"===o||"view:node"===o};class Ao extends le{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=kc}}function kc(){const o=[...this.getChildren()],t=o[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const e of o)if(!e.is("uiElement"))return null;return this.childCount}Ao.prototype.is=function(o,t){return t?t===this.name&&("containerElement"===o||"view:containerElement"===o||"element"===o||"view:element"===o):"containerElement"===o||"view:containerElement"===o||"element"===o||"view:element"===o||"node"===o||"view:node"===o};class bi extends(ht(Ao)){constructor(t,e,n,i){super(t,e,n,i),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("placeholder",void 0),this.bind("isReadOnly").to(t),this.bind("isFocused").to(t,"isFocused",r=>r&&t.selection.editableElement==this),this.listenTo(t.selection,"change",()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this})}destroy(){this.stopListening()}}bi.prototype.is=function(o,t){return t?t===this.name&&("editableElement"===o||"view:editableElement"===o||"containerElement"===o||"view:containerElement"===o||"element"===o||"view:element"===o):"editableElement"===o||"view:editableElement"===o||"containerElement"===o||"view:containerElement"===o||"element"===o||"view:element"===o||"node"===o||"view:node"===o};const bc=Symbol("rootName");class wc extends bi{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(bc)}set rootName(t){this._setCustomProperty(bc,t)}set _name(t){this.name=t}}wc.prototype.is=function(o,t){return t?t===this.name&&("rootElement"===o||"view:rootElement"===o||"editableElement"===o||"view:editableElement"===o||"containerElement"===o||"view:containerElement"===o||"element"===o||"view:element"===o):"rootElement"===o||"view:rootElement"===o||"editableElement"===o||"view:editableElement"===o||"containerElement"===o||"view:containerElement"===o||"element"===o||"view:element"===o||"node"===o||"view:node"===o};class xn{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new S("view-tree-walker-no-start-position",null);if(t.direction&&"forward"!=t.direction&&"backward"!=t.direction)throw new S("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,this._position=F._createAt(t.startPosition?t.startPosition:t.boundaries["backward"==t.direction?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n;do{n=this.position,e=this.next()}while(!e.done&&t(e.value));e.done||(this._position=n)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let i;if(n instanceof kt){if(t.isAtEnd)return this._position=F._createAfter(n),this._next();i=n.data[t.offset]}else i=n.getChild(t.offset);if(i instanceof le){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}else t=new F(i,0);return this._position=t,this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof kt){if(this.singleCharacters)return t=new F(i,0),this._position=t,this._next();let r,s=i.data.length;return i==this._boundaryEndParent?(s=this.boundaries.end.offset,r=new Be(i,0,s),t=F._createAfter(r)):(r=new Be(i,0,i.data.length),t.offset++),this._position=t,this._formatReturnValue("text",r,e,t,s)}if("string"==typeof i){let r;r=this.singleCharacters?1:(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset;const s=new Be(n,t.offset,r);return t.offset+=r,this._position=t,this._formatReturnValue("text",s,e,t,r)}return t=F._createAfter(n),this._position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let i;if(n instanceof kt){if(t.isAtStart)return this._position=F._createBefore(n),this._previous();i=n.data[t.offset-1]}else i=n.getChild(t.offset-1);if(i instanceof le)return this.shallow?(t.offset--,this._position=t,this._formatReturnValue("elementStart",i,e,t,1)):(t=new F(i,i.childCount),this._position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",i,e,t));if(i instanceof kt){if(this.singleCharacters)return t=new F(i,i.data.length),this._position=t,this._previous();let r,s=i.data.length;if(i==this._boundaryStartParent){const a=this.boundaries.start.offset;r=new Be(i,a,i.data.length-a),s=r.data.length,t=F._createBefore(r)}else r=new Be(i,0,i.data.length),t.offset--;return this._position=t,this._formatReturnValue("text",r,e,t,s)}if("string"==typeof i){let r;r=this.singleCharacters?1:t.offset-(n===this._boundaryStartParent?this.boundaries.start.offset:0),t.offset-=r;const s=new Be(n,t.offset,r);return this._position=t,this._formatReturnValue("text",s,e,t,r)}return t=F._createBefore(n),this._position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,r){return e instanceof Be&&(e.offsetInText+e.data.length==e.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=F._createAfter(e.textNode):(i=F._createAfter(e.textNode),this._position=i)),0===e.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=F._createBefore(e.textNode):(i=F._createBefore(e.textNode),this._position=i))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:r}}}}class F extends Cn{constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof bi);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=F._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new xn(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]==n[i]&&e[i];)i++;return 0===i?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return"before"==this.compareWith(t)}isAfter(t){return"after"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const i=Zt(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(F._createBefore(t),e)}}function wi(o){return!(!o.item.is("attributeElement")&&!o.item.is("uiElement"))}tt.prototype.is=function(o){return"range"===o||"view:range"===o};class Ne extends(mt(Cn)){constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake||this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel||this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=Yi(this.getRanges());if(e!=Yi(t.getRanges()))return!1;if(0==e)return!0;for(let n of this.getRanges()){n=n.getTrimmed();let i=!1;for(let r of t.getRanges())if(r=r.getTrimmed(),n.start.isEqual(r.start)&&n.end.isEqual(r.end)){i=!0;break}if(!i)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if("object"==typeof n&&(i=n,n=void 0),null===e)this._setRanges([]),this._setFakeOptions(i);else if(e instanceof Ne||e instanceof Kr)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof tt)this._setRanges([e],i&&i.backward),this._setFakeOptions(i);else if(e instanceof F)this._setRanges([new tt(e)]),this._setFakeOptions(i);else if(e instanceof vn){const r=!!i&&!!i.backward;let s;if(void 0===n)throw new S("view-selection-setto-required-second-parameter",this);s="in"==n?tt._createIn(e):"on"==n?tt._createOn(e):new tt(F._createAt(e,n)),this._setRanges([s],r),this._setFakeOptions(i)}else{if(!se(e))throw new S("view-selection-setto-not-selectable",this);this._setRanges(e,i&&i.backward),this._setFakeOptions(i)}this.fire("change")}setFocus(t,e){if(null===this.anchor)throw new S("view-selection-setfocus-no-ranges",this);const n=F._createAt(t,e);if("same"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.pop(),"before"==n.compareWith(i)?this._addRange(new tt(n,i),!0):this._addRange(new tt(i,n)),this.fire("change")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const n of t)this._addRange(n);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||""}_addRange(t,e=!1){if(!(t instanceof tt))throw new S("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new S("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new tt(t.start,t.end))}}Ne.prototype.is=function(o){return"selection"===o||"view:selection"===o};class Kr extends(mt(Cn)){constructor(...t){super(),this._selection=new Ne,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Kr.prototype.is=function(o){return"selection"===o||"documentSelection"==o||"view:selection"==o||"view:documentSelection"==o};class Qn extends G{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Qr=Symbol("bubbling contexts");function _i(o){return class extends o{fire(t,...e){try{const n=t instanceof G?t:new G(this,t),i=Zr(this);if(!i.size)return;if(Co(n,"capturing",this),Pe(i,"$capture",n,...e))return n.return;const r=n.startRange||this.selection.getFirstRange(),s=r?r.getContainedElement():null,a=!!s&&!!Tu(i,s);let c=s||function(l){if(!l)return null;const d=l.start.parent,u=l.end.parent,g=d.getPath(),m=u.getPath();return g.length>m.length?d:u}(r);if(Co(n,"atTarget",c),!a){if(Pe(i,"$text",n,...e))return n.return;Co(n,"bubbling",c)}for(;c;){if(c.is("rootElement")){if(Pe(i,"$root",n,...e))return n.return}else if(c.is("element")&&Pe(i,c.name,n,...e))return n.return;if(Pe(i,c,n,...e))return n.return;c=c.parent,Co(n,"bubbling",c)}return Co(n,"bubbling",this),Pe(i,"$document",n,...e),n.return}catch(n){S.rethrowUnexpectedError(n,this)}}_addEventListener(t,e,n){const i=Ht(n.context||"$document"),r=Zr(this);for(const s of i){let a=r.get(s);a||(a=new(mt()),r.set(s,a)),this.listenTo(a,t,e,n)}}_removeEventListener(t,e){const n=Zr(this);for(const i of n.values())this.stopListening(i,t,e)}}}{const o=_i(Object);["fire","_addEventListener","_removeEventListener"].forEach(t=>{_i[t]=o.prototype[t]})}function Co(o,t,e){o instanceof Qn&&(o._eventPhase=t,o._currentTarget=e)}function Pe(o,t,e,...n){const i="string"==typeof t?o.get(t):Tu(o,t);return!!i&&(i.fire(e,...n),e.stop.called)}function Tu(o,t){for(const[e,n]of o)if("function"==typeof e&&e(t))return n;return null}function Zr(o){return o[Qr]||(o[Qr]=new Map),o[Qr]}class vo extends(_i(ht())){constructor(t){super(),this._postFixers=new Set,this.selection=new Kr,this.roots=new ge({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map(t=>t.destroy()),this.stopListening()}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}class En extends le{constructor(t,e,n,i){super(t,e,n,i),this._priority=10,this._id=null,this._clonesGroup=null,this.getFillerOffset=Iu}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new S("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function Iu(){if(Gt(this))return null;let o=this.parent;for(;o&&o.is("attributeElement");){if(Gt(o)>1)return null;o=o.parent}return!o||Gt(o)>1?null:this.childCount}function Gt(o){return Array.from(o.getChildren()).filter(t=>!t.is("uiElement")).length}En.DEFAULT_PRIORITY=10,En.prototype.is=function(o,t){return t?t===this.name&&("attributeElement"===o||"view:attributeElement"===o||"element"===o||"view:element"===o):"attributeElement"===o||"view:attributeElement"===o||"element"===o||"view:element"===o||"node"===o||"view:node"===o};class Jr extends le{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Xr}_insertChild(t,e){if(e&&(e instanceof vn||Array.from(e).length>0))throw new S("view-emptyelement-cannot-add",[this,e]);return 0}}function Xr(){return null}Jr.prototype.is=function(o,t){return t?t===this.name&&("emptyElement"===o||"view:emptyElement"===o||"element"===o||"view:element"===o):"emptyElement"===o||"view:emptyElement"===o||"element"===o||"view:element"===o||"node"===o||"view:node"===o};class Ai extends le{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Bu}_insertChild(t,e){if(e&&(e instanceof vn||Array.from(e).length>0))throw new S("view-uielement-cannot-add",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const n of this.getAttributeKeys())e.setAttribute(n,this.getAttribute(n));return e}}function Bu(){return null}Ai.prototype.is=function(o,t){return t?t===this.name&&("uiElement"===o||"view:uiElement"===o||"element"===o||"view:element"===o):"uiElement"===o||"view:uiElement"===o||"element"===o||"view:element"===o||"node"===o||"view:node"===o};class ts extends le{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Nu}_insertChild(t,e){if(e&&(e instanceof vn||Array.from(e).length>0))throw new S("view-rawelement-cannot-add",[this,e]);return 0}render(t,e){}}function Nu(){return null}ts.prototype.is=function(o,t){return t?t===this.name&&("rawElement"===o||"view:rawElement"===o||"element"===o||"view:element"===o):"rawElement"===o||"view:rawElement"===o||o===this.name||o==="view:"+this.name||"element"===o||"view:element"===o||"node"===o||"view:node"===o};class Dn extends(mt(Cn)){constructor(t,e){super(),this._children=[],this._customProperties=new Map,this.document=t,e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}get name(){}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=(r=this.document,"string"==typeof(s=e)?[new kt(r,s)]:(se(s)||(s=[s]),Array.from(s).map(a=>"string"==typeof a?new kt(r,a):a instanceof Be?new kt(r,a.data):a)));var r,s;for(const r of i)null!==r.parent&&r._remove(),r.parent=this,this._children.splice(t,0,r),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{const c=s[s.length-1],l=!a.is("uiElement");return c&&c.breakAttributes==l?c.nodes.push(a):s.push({breakAttributes:l,nodes:[a]}),s},[]);let i=null,r=t;for(const{nodes:s,breakAttributes:a}of n){const c=this._insertNodes(r,s,a);i||(i=c.start),r=c.end}return i?new tt(i,r):new tt(t)}remove(t){const e=t instanceof tt?t:tt._createOn(t);if(xo(e,this.document),e.isCollapsed)return new Dn(this.document);const{start:n,end:i}=this._breakAttributesRange(e,!0),a=n.parent._removeChildren(n.offset,i.offset-n.offset);for(const l of a)this._removeFromClonedElementsGroup(l);const c=this.mergeAttributes(n);return e.start=c,e.end=c.clone(),new Dn(this.document,a)}clear(t,e){xo(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of n){const r=i.item;let s;if(r.is("element")&&e.isSimilar(r))s=tt._createOn(r);else if(!i.nextPosition.isAfter(t.start)&&r.is("$textProxy")){const a=r.getAncestors().find(c=>c.is("element")&&e.isSimilar(c));a&&(s=tt._createIn(a))}s&&(s.end.isAfter(t.end)&&(s.end=t.end),s.start.isBefore(t.start)&&(s.start=t.start),this.remove(s))}}move(t,e){let n;if(e.isAfter(t.end)){const i=(e=this._breakAttributes(e,!0)).parent,r=i.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=i.childCount-r}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof En))throw new S("view-writer-wrap-invalid-attribute",this.document);if(xo(t,this.document),t.isCollapsed){let i=t.start;i.parent.is("element")&&!Array.from(i.parent.getChildren()).some(s=>!s.is("uiElement"))&&(i=i.getLastMatchingPosition(s=>s.item.is("uiElement"))),i=this._wrapPosition(i,e);const r=this.document.selection;return r.isCollapsed&&r.getFirstPosition().isEqual(t.start)&&this.setSelection(i),new tt(i)}return this._wrapRange(t,e)}unwrap(t,e){if(!(e instanceof En))throw new S("view-writer-unwrap-invalid-attribute",this.document);if(xo(t,this.document),t.isCollapsed)return t;const{start:n,end:i}=this._breakAttributesRange(t,!0),s=this._unwrapChildren(n.parent,n.offset,i.offset,e),a=this.mergeAttributes(s.start);a.isEqual(s.start)||s.end.offset--;const c=this.mergeAttributes(s.end);return new tt(a,c)}rename(t,e){const n=new Ao(this.document,t,e.getAttributes());return this.insert(F._createAfter(e),n),this.move(tt._createIn(e),F._createAt(n,0)),this.remove(tt._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return F._createAt(t,e)}createPositionAfter(t){return F._createAfter(t)}createPositionBefore(t){return F._createBefore(t)}createRange(t,e){return new tt(t,e)}createRangeOn(t){return tt._createOn(t)}createRangeIn(t){return tt._createIn(t)}createSelection(...t){return new Ne(...t)}createSlot(t="children"){if(!this._slotFactory)throw new S("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i,r;if(i=n?es(t):t.parent.is("$text")?t.parent.parent:t.parent,!i)throw new S("view-writer-invalid-position-container",this.document);r=n?this._breakAttributes(t,!0):t.parent.is("$text")?yo(t):t;const s=i._insertChild(r.offset,e);for(const d of e)this._addToClonedElementsGroup(d);const a=r.getShiftedBy(s),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const l=this.mergeAttributes(a);return new tt(c,l)}_wrapChildren(t,e,n,i){let r=e;const s=[];for(;r!1,t.parent._insertChild(t.offset,n);const i=new tt(t,t.getShiftedBy(1));this.wrap(i,e);const r=new F(n.parent,n.index);n._remove();const s=r.nodeBefore,a=r.nodeAfter;return s instanceof kt&&a instanceof kt?Cc(s,a):Ac(r)}_wrapAttributeElement(t,e){if(!vc(t,e)||t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!vc(t,e)||t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,i=t.end;if(xo(t,this.document),t.isCollapsed){const c=this._breakAttributes(t.start,e);return new tt(c,c)}const r=this._breakAttributes(i,e),s=r.parent.childCount,a=this._breakAttributes(n,e);return r.offset+=r.parent.childCount-s,new tt(a,r)}_breakAttributes(t,e=!1){const n=t.offset,i=t.parent;if(t.parent.is("emptyElement"))throw new S("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new S("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new S("view-writer-cannot-break-raw-element",this.document);if(!e&&i.is("$text")&&os(i.parent)||os(i))return t.clone();if(i.is("$text"))return this._breakAttributes(yo(t),e);if(n==i.childCount){const r=new F(i.parent,i.index+1);return this._breakAttributes(r,e)}if(0===n){const r=new F(i.parent,i.index);return this._breakAttributes(r,e)}{const r=i.index+1,s=i._clone();i.parent._insertChild(r,s),this._addToClonedElementsGroup(s);const c=i._removeChildren(n,i.childCount-n);s._appendChild(c);const l=new F(i.parent,r);return this._breakAttributes(l,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const i of t.getChildren())this._addToClonedElementsGroup(i);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element"))for(const i of t.getChildren())this._removeFromClonedElementsGroup(i);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function es(o){let t=o.parent;for(;!os(t);){if(!t)return;t=t.parent}return t}function Pu(o,t){return o.priorityt.priority)&&o.getIdentity()e instanceof n))throw new S("view-writer-insert-invalid-node-type",t);e.is("$text")||ns(e.getChildren(),t)}}function os(o){return o&&(o.is("containerElement")||o.is("documentFragment"))}function xo(o,t){const e=es(o.start),n=es(o.end);if(!e||!n||e!==n)throw new S("view-writer-invalid-range-container",t)}function vc(o,t){return null===o.id&&null===t.id}const yc=o=>o.createTextNode("\xa0"),xc=o=>{const t=o.createElement("span");return t.dataset.ckeFiller="true",t.innerText="\xa0",t},Ec=o=>{const t=o.createElement("br");return t.dataset.ckeFiller="true",t},me=7,Eo="\u2060".repeat(me);function de(o){return"string"==typeof o?o.substr(0,me)===Eo:zt(o)&&o.data.substr(0,me)===Eo}function Do(o){return o.data.length==me&&de(o)}function Dc(o){const t="string"==typeof o?o:o.data;return de(o)?t.slice(me):t}function zu(o,t){if(t.keyCode==ct.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const n=e.getRangeAt(0).startContainer,i=e.getRangeAt(0).startOffset;de(n)&&i<=me&&e.collapse(n,0)}}}var Sc=H(9315);K()(Sc.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class ju extends(ht()){constructor(t,e){super(),this.domDocuments=new Set,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this._inlineFiller=null,this._fakeSelectionContainer=null,this.domConverter=t,this.selection=e,this.set("isFocused",!1),this.set("isSelecting",!1),x.isBlink&&!x.isAndroid&&this.on("change:isSelecting",()=>{this.isSelecting||this.render()}),this.set("isComposing",!1),this.on("change:isComposing",()=>{this.isComposing||this.render()})}markToSync(t,e){if("text"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if("attributes"===t)this.markedAttributes.add(e);else{if("children"!==t)throw new S("view-renderer-unknown-type",this);this.markedChildren.add(e)}}}render(){if(this.isComposing&&!x.isAndroid)return;let t=null;const e=!(x.isBlink&&!x.isAndroid&&this.isSelecting);for(const n of this.markedChildren)this._updateChildrenMappings(n);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=F._createBefore(t.parent)));for(const n of this.markedAttributes)this._updateAttrs(n);for(const n of this.markedChildren)this._updateChildren(n,{inlineFillerPosition:t});for(const n of this.markedTexts)!this.markedChildren.has(n.parent)&&this.domConverter.mapViewToDom(n.parent)&&this._updateText(n,{inlineFillerPosition:t});if(e)if(t){const n=this.domConverter.viewPositionToDom(t),i=n.parent.ownerDocument;this._inlineFiller=de(n.parent)?n.parent:Tc(i,n.parent,n.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){if(!this.domConverter.mapViewToDom(t))return;const e=Array.from(this.domConverter.mapViewToDom(t).childNodes),n=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),i=this._diffNodeLists(e,n),r=this._findUpdateActions(i,e,n,Ru);if(-1!==r.indexOf("update")){const s={equal:0,insert:0,delete:0};for(const a of r)if("update"===a){const c=s.equal+s.insert,l=s.equal+s.delete,d=t.getChild(c);!d||d.is("uiElement")||d.is("rawElement")||this._updateElementMappings(d,e[l]),Ca(n[c]),s.equal++}else s[a]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is("$text")?F._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&zt(e.parent)&&de(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!de(t))throw new S("view-renderer-filler-was-lost",this);Do(t)?t.remove():t.data=t.data.substr(me),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root)||!e.is("element")||!function(s){if("false"==s.getAttribute("contenteditable"))return!1;const a=s.findAncestor(c=>c.hasAttribute("contenteditable"));return!a||"true"==a.getAttribute("contenteditable")}(e)||n===e.getFillerOffset())return!1;const i=t.nodeBefore,r=t.nodeAfter;return!(i instanceof kt||r instanceof kt||x.isAndroid&&(i||r))}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let i=this.domConverter.viewToDom(t).data;const r=e.inlineFillerPosition;r&&r.parent==t.parent&&r.offset==t.index&&(i=Eo+i),Mc(n,i)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map(r=>r.name),i=t.getAttributeKeys();for(const r of i)this.domConverter.setDomElementAttribute(e,r,t.getAttribute(r),t);for(const r of n)t.hasAttribute(r)||this.domConverter.removeDomElementAttribute(e,r)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(x.isAndroid){let u=null;for(const g of Array.from(n.childNodes)){if(u&&zt(u)&&zt(g)){n.normalize();break}u=g}}const i=e.inlineFillerPosition,r=n.childNodes,s=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));i&&i.parent===t&&Tc(n.ownerDocument,s,i.offset);const a=this._diffNodeLists(r,s),c=this._findUpdateActions(a,r,s,Ci);let l=0;const d=new Set;for(const u of c)"delete"===u?(d.add(r[l]),Ca(r[l])):"equal"!==u&&"update"!==u||l++;l=0;for(const u of c)"insert"===u?(wa(n,l,s[l]),l++):"update"===u?(Mc(r[l],s[l].data),l++):"equal"===u&&(this._markDescendantTextToSync(this.domConverter.domToView(s[l])),l++);for(const u of d)u.parentNode||this.domConverter.unbindDomElement(u)}_diffNodeLists(t,e){return z(t=function(n,i){const r=Array.from(n);return 0==r.length||!i||r[r.length-1]==i&&r.pop(),r}(t,this._fakeSelectionContainer),e,Ic.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(-1===t.indexOf("insert")||-1===t.indexOf("delete"))return t;let r=[],s=[],a=[];const c={equal:0,insert:0,delete:0};for(const l of t)"insert"===l?a.push(n[c.equal+c.insert]):"delete"===l?s.push(e[c.equal+c.delete]):(r=r.concat(z(s,a,i).map(d=>"equal"===d?"update":d)),r.push("equal"),s=[],a=[]),c[l]++;return r.concat(z(s,a,i).map(l=>"equal"===l?"update":l))}_markDescendantTextToSync(t){if(t)if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(x.isBlink&&!x.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&x.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(s){const a=s.createElement("div");return a.className="ck-fake-selection-container",Object.assign(a.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),a.textContent="\xa0",a}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||"\xa0";const i=e.getSelection(),r=e.createRange();i.removeAllRanges(),r.selectNodeContents(n),i.addRange(r)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset),x.isGecko&&function(r,s){const a=r.parent;if(a.nodeType!=Node.ELEMENT_NODE||r.offset!=a.childNodes.length-1)return;const c=a.childNodes[r.offset];c&&"BR"==c.tagName&&s.addRange(s.getRangeAt(0))}(i,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return!(e&&this.selection.isEqual(e)||!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,i=this.domConverter.mapDomToView(n);n&&i&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function Tc(o,t,e){const n=t instanceof Array?t:t.childNodes,i=n[e];if(zt(i))return i.data=Eo+i.data,i;{const r=o.createTextNode(Eo);return Array.isArray(t)?n.splice(e,0,r):wa(t,e,r),r}}function Ru(o,t){return Je(o)&&Je(t)&&!zt(o)&&!zt(t)&&!mo(o)&&!mo(t)&&o.tagName.toLowerCase()===t.tagName.toLowerCase()}function Ci(o,t){return Je(o)&&Je(t)&&zt(o)&&zt(t)}function Ic(o,t,e){return t===e||(zt(t)&&zt(e)?t.data===e.data:!(!o.isBlockFiller(t)||!o.isBlockFiller(e)))}function Mc(o,t){const e=o.data;if(e==t)return;const n=C(e,t);for(const i of n)"insert"===i.type?o.insertData(i.index,i.values.join("")):o.deleteData(i.index,i.howMany)}const Fu=Ec(it.document),Vu=yc(it.document),Uu=xc(it.document),vi="data-ck-unsafe-attribute-",Bc="data-ck-unsafe-element";class yi{constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new De,this._inlineObjectElementMatcher=new De,this.document=t,this.renderingMode=n,this.blockFillerMode=e||("editing"===n?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?it.document:it.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Ne(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const n of Array.from(t.children))this.unbindDomElement(n)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return"data"===this.renderingMode||!(t=t.toLowerCase()).startsWith("on")&&("srcdoc"!==t||!e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===n&&("src"===t||"srcset"===t)||"source"===n&&"srcset"===t||!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))}setContentOf(t,e){if("data"===this.renderingMode)return void(t.innerHTML=e);const n=(new DOMParser).parseFromString(e,"text/html"),i=n.createDocumentFragment(),r=n.body.childNodes;for(;r.length>0;)i.appendChild(r[0]);const s=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),a=[];let c;for(;c=s.nextNode();)a.push(c);for(const l of a){for(const u of l.getAttributeNames())this.setDomElementAttribute(l,u,l.getAttribute(u));const d=l.tagName.toLowerCase();this._shouldRenameElement(d)&&(zc(d),l.replaceWith(this._createReplacementDomElement(d,l)))}for(;t.firstChild;)t.firstChild.remove();t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const n=this._processDataFromViewText(t);return this._domDocument.createTextNode(n)}{if(this.mapViewToDom(t))return this.mapViewToDom(t);let n;if(t.is("documentFragment"))n=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(n,t);else{if(t.is("uiElement"))return n="$comment"===t.name?this._domDocument.createComment(t.getCustomProperty("$rawContent")):t.render(this._domDocument,this),e.bind&&this.bindElements(n,t),n;this._shouldRenameElement(t.name)?(zc(t.name),n=this._createReplacementDomElement(t.name)):n=t.hasAttribute("xmlns")?this._domDocument.createElementNS(t.getAttribute("xmlns"),t.name):this._domDocument.createElement(t.name),t.is("rawElement")&&t.render(n,this),e.bind&&this.bindElements(n,t);for(const i of t.getAttributeKeys())this.setDomElementAttribute(n,i,t.getAttribute(i),t)}if(!1!==e.withChildren)for(const i of this.viewChildrenToDom(t,e))n.appendChild(i);return n}}setDomElementAttribute(t,e,n,i){const r=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);r||Q("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n}),function(s){try{it.document.createAttribute(s)}catch{return!1}return!0}(e)?(t.hasAttribute(e)&&!r?t.removeAttribute(e):t.hasAttribute(vi+e)&&r&&t.removeAttribute(vi+e),t.setAttribute(r?e:vi+e,n)):Q("domconverter-invalid-attribute-detected",{domElement:t,key:e,value:n})}removeDomElementAttribute(t,e){e!=Bc&&(t.removeAttribute(e),t.removeAttribute(vi+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const r of t.getChildren()){n===i&&(yield this._getBlockFiller());const s=r.is("element")&&!!r.getCustomProperty("dataPipeline:transparentRendering")&&!Lt(r.getAttributes());s&&"data"==this.renderingMode?yield*this.viewChildrenToDom(r,e):(s&&Q("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:r}),yield this.viewToDom(r,e)),i++}n===i&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),i=this._domDocument.createRange();return i.setStart(e.parent,e.offset),i.setEnd(n.parent,n.offset),i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let i=t.offset;return de(n)&&(i+=me),{parent:n,offset:i}}{let n,i,r;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;r=n.childNodes[0]}else{const s=t.nodeBefore;if(i=s.is("$text")?this.findCorrespondingDomText(s):this.mapViewToDom(s),!i)return null;n=i.parentNode,r=i.nextSibling}return zt(r)&&de(r)?{parent:r,offset:me}:{parent:n,offset:i?ai(i)+1:0}}}domToView(t,e={}){const n=[],i=this._domToView(t,e,n),r=i.next().value;return r?(i.next(),this._processDomInlineNodes(null,n,e),r.is("$text")&&0==r.data.length?null:r):null}*domChildrenToView(t,e={},n=[]){for(let i=0;i{const{scrollLeft:a,scrollTop:c}=s;r.push([a,c])}),e.focus(),Pc(e,s=>{const[a,c]=r.shift();s.scrollLeft=a,s.scrollTop=c}),it.window.scrollTo(n,i)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t)return;const e=t.ownerDocument.defaultView.getSelection(),n=this.domSelectionToView(e);n&&n.rangeCount>0&&e.removeAllRanges()}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return"br"==this.blockFillerMode?t.isEqualNode(Fu):!("BR"!==t.tagName||!Oc(t,this.blockElements)||1!==t.parentNode.childNodes.length)||t.isEqualNode(Uu)||(n=this.blockElements,(e=t).isEqualNode(Vu)&&Oc(e,n)&&1===e.parentNode.childNodes.length);var e,n}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch{return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=function(n){const i=[];let r=n;for(;r&&r.nodeType!=Node.DOCUMENT_NODE;)i.unshift(r),r=r.parentNode;return i}(t);for(e.pop();e.length;){const n=e.pop(),i=this._domToViewMapping.get(n);if(i&&(i.is("uiElement")||i.is("rawElement")))return i}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return yc(this._domDocument);case"markedNbsp":return xc(this._domDocument);case"br":return Ec(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(zt(t)&&de(t)&&e0?e[r-1]:null,d=r+1this.preElements.includes(n.name)))return e;if(" "==e.charAt(0)){const n=this._getTouchingInlineViewNode(t,!1);!(n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n))&&n||(e="\xa0"+e.substr(1))}if(" "==e.charAt(e.length-1)){const n=this._getTouchingInlineViewNode(t,!0),i=n&&n.is("$textProxy")&&" "==n.data.charAt(0);" "!=e.charAt(e.length-2)&&n&&!i||(e=e.substr(0,e.length-1)+"\xa0")}return e.replace(/ {2}/g," \xa0")}_nodeEndsWithSpace(t){if(t.getAncestors().some(n=>this.preElements.includes(n.name)))return!1;const e=this._processDataFromViewText(t);return" "==e.charAt(e.length-1)}_getTouchingInlineViewNode(t,e){const n=new xn({startPosition:e?F._createAfter(t):F._createBefore(t),direction:e?"forward":"backward"});for(const i of n){if(i.item.is("element","br"))return null;if(this._isInlineObjectElement(i.item))return i.item;if(i.item.is("containerElement"))return null;if(i.item.is("$textProxy"))return i.item}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){return!!t.is("element")&&("br"==t.name||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t))}_createViewElement(t,e){if(mo(t))return new Ai(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new le(this.document,n)}_isViewElementWithRawContent(t,e){return!1!==e.withChildren&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(Bc,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const i of e.getAttributeNames())n.setAttribute(i,e.getAttribute(i))}return n}}function Nc(o,t){return o.getAncestors().some(e=>e.is("element")&&t.includes(e.name))}function Pc(o,t){let e=o;for(;e;)t(e),e=e.parentElement}function Oc(o,t){const e=o.parentNode;return!!e&&!!e.tagName&&t.includes(e.tagName.toLowerCase())}function zc(o){"script"===o&&Q("domconverter-unsafe-script-element-detected"),"style"===o&&Q("domconverter-unsafe-style-element-detected")}class fe extends(Xe()){constructor(t){super(),this._isEnabled=!1,this.view=t,this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}const Lc=pc(function(o,t){Vn(t,Gn(t),o)});class Zn{constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,Lc(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class on extends fe{constructor(){super(...arguments),this.useCapture=!1}observe(t){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach(e=>{this.listenTo(t,e,(n,i)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(i.target)&&this.onDomEvent(i)},{useCapture:this.useCapture})})}stopObserving(t){this.stopListening(t)}fire(t,e,n){this.isEnabled&&this.document.fire(t,new Zn(this.view,e,n))}}class Hu extends on{constructor(){super(...arguments),this.domEventType=["keydown","keyup"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return _n(this)}})}}const p=function(){return Kt.Date.now()};var A=/\s/,y=/^\s+/,j=/^[-+]0x[0-9a-f]+$/i,$=/^0b[01]+$/i,Z=/^0o[0-7]+$/i,ot=parseInt;const et=function(o){if("number"==typeof o)return o;if(fi(o))return NaN;if(Dt(o)){var t="function"==typeof o.valueOf?o.valueOf():o;o=Dt(t)?t+"":t}if("string"!=typeof o)return 0===o?o:+o;o=function(o){return o&&o.slice(0,function(o){for(var t=o.length;t--&&A.test(o.charAt(t)););return t}(o)+1).replace(y,"")}(o);var e=$.test(o);return e||Z.test(o)?ot(o.slice(2),e?2:8):j.test(o)?NaN:+o};var $t=Math.max,oe=Math.min;const ke=function(o,t,e){var n,i,r,s,a,c,l=0,d=!1,u=!1,g=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function m(M){var R=n,Y=i;return n=i=void 0,l=M,s=o.apply(Y,R)}function f(M){var R=M-c;return void 0===c||R>=t||R<0||u&&M-l>=r}function w(){var R,Y,M=p();if(f(M))return v(M);a=setTimeout(w,(Y=t-((R=M)-c),u?oe(Y,r-(R-l)):Y))}function v(M){return a=void 0,g&&n?m(M):(n=i=void 0,s)}function D(){var Y,M=p(),R=f(M);if(n=arguments,i=this,c=M,R){if(void 0===a)return l=Y=c,a=setTimeout(w,t),d?m(Y):s;if(u)return clearTimeout(a),a=setTimeout(w,t),m(c)}return void 0===a&&(a=setTimeout(w,t)),s}return t=et(t)||0,Dt(e)&&(d=!!e.leading,r=(u="maxWait"in e)?$t(et(e.maxWait)||0,t):r,g="trailing"in e?!!e.trailing:g),D.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},D.flush=function(){return void 0===a?s:v(p())},D};class Jn extends fe{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=ke(e=>{this.document.fire("selectionChangeDone",e)},200)}observe(){const t=this.document;t.on("arrowKey",(e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()},{context:"$capture"}),t.on("arrowKey",(e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)},{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new Ne(e.getRanges(),{backward:e.isBackward,fake:!1});t!=ct.arrowleft&&t!=ct.arrowup||n.setTo(n.getFirstPosition()),t!=ct.arrowright&&t!=ct.arrowdown||n.setTo(n.getLastPosition());const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}function ie(o){var t=-1,e=null==o?0:o.length;for(this.__data__=new Ko;++ta))return!1;var l=r.get(o),d=r.get(t);if(l&&d)return l==t&&d==o;var u=-1,g=!0,m=2&e?new be:void 0;for(r.set(o,t),r.set(t,o);++u{this._isFocusChanging=!0,this._renderTimeoutId=setTimeout(()=>{this.flush(),t.change(()=>{})},50)}),e.on("blur",(n,i)=>{const r=e.selection.editableElement;null!==r&&r!==i.target||(e.isFocused=!1,this._isFocusChanging=!1,t.change(()=>{}))})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class vw extends fe{constructor(t){super(t),this.mutationObserver=t.getObserver(lg),this.focusObserver=t.getObserver(Uc),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=ke(e=>{this.document.fire("selectionChangeDone",e)},200),this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3),this._documentIsSelectingInactivityTimeoutDebounced=ke(()=>this.document.isSelecting=!1,5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting&&(this._handleSelectionChange(null,e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()},{priority:"highest"}),this.listenTo(t,"keydown",n,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",n,{priority:"highest",useCapture:!0}),this._documents.has(e)||(this.listenTo(e,"mouseup",n,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",(i,r)=>{this.document.isComposing&&!x.isAndroid||(this._handleSelectionChange(r,e),this._documentIsSelectingInactivityTimeoutDebounced())}),this._documents.add(e))}stopObserving(t){this.stopListening(t)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(n);if(0!=i.rangeCount){if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!this.selection.isEqual(i)||!this.domConverter.isDomSelectionCorrect(n))if(++this._loopbackCounter>60)this._reportInfiniteLoop();else if(this.selection.isSimilar(i))this.view.forceRender();else{const r={oldSelection:this.selection,newSelection:i,domSelection:n};this.document.fire("selectionChange",r),this._fireSelectionChangeDoneDebounced(r)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class yw extends on{constructor(t){super(t),this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",()=>{e.isComposing=!0},{priority:"low"}),e.on("compositionend",()=>{e.isComposing=!1},{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class dg{constructor(t,e={}){this._files=e.cacheFiles?ug(t):null,this._native=t}get files(){return this._files||(this._files=ug(this._native)),this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}function ug(o){const t=Array.from(o.files||[]),e=Array.from(o.items||[]);return t.length?t:e.filter(n=>"file"===n.kind).map(n=>n.getAsFile())}class xw extends on{constructor(){super(...arguments),this.domEventType="beforeinput"}onDomEvent(t){const e=t.getTargetRanges(),n=this.view,i=n.document;let r=null,s=null,a=[];if(t.dataTransfer&&(r=new dg(t.dataTransfer)),null!==t.data?s=t.data:r&&(s=r.getData("text/plain")),i.selection.isFake)a=Array.from(i.selection.getRanges());else if(e.length)a=e.map(c=>{const l=n.domConverter.domPositionToView(c.startContainer,c.startOffset),d=n.domConverter.domPositionToView(c.endContainer,c.endOffset);return l?n.createRange(l,d):d?n.createRange(d):void 0}).filter(c=>!!c);else if(x.isAndroid){const c=t.target.ownerDocument.defaultView.getSelection();a=Array.from(n.domConverter.domSelectionToView(c).getRanges())}if(x.isAndroid&&"insertCompositionText"==t.inputType&&s&&s.endsWith("\n"))this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(a[0].end)]});else if("insertText"==t.inputType&&s&&s.includes("\n")){const c=s.split(/\n{1,2}/g);let l=a;for(let d=0;d{if(this.isEnabled&&((i=n.keyCode)==ct.arrowright||i==ct.arrowleft||i==ct.arrowup||i==ct.arrowdown)){const r=new Qn(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(r,n),r.stop.called&&e.stop()}var i})}observe(){}stopObserving(){}}class Dw extends fe{constructor(t){super(t);const e=this.document;e.on("keydown",(n,i)=>{if(!this.isEnabled||i.keyCode!=ct.tab||i.ctrlKey)return;const r=new Qn(e,"tab",e.selection.getFirstRange());e.fire(r,i),r.stop.called&&n.stop()})}observe(){}stopObserving(){}}const Xn=function(o){return pr(o,5)};class Sw extends(ht()){constructor(t){super(),this.domRoots=new Map,this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this.document=new vo(t),this.domConverter=new yi(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new ju(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new _c(this.document),this.addObserver(lg),this.addObserver(Uc),this.addObserver(vw),this.addObserver(Hu),this.addObserver(Jn),this.addObserver(yw),this.addObserver(Ew),this.addObserver(xw),this.addObserver(Dw),this.document.on("arrowKey",zu,{priority:"low"}),function Mu(o){o.document.on("arrowKey",(t,e)=>function(n,i,r){if(i.keyCode==ct.arrowright){const s=i.domTarget.ownerDocument.defaultView.getSelection(),a=1==s.rangeCount&&s.getRangeAt(0).collapsed;if(a||i.shiftKey){const d=r.domPositionToView(s.focusNode,s.focusOffset);if(null===d)return;let u=!1;const g=d.getLastMatchingPosition(m=>(m.item.is("uiElement")&&(u=!0),!(!m.item.is("uiElement")&&!m.item.is("attributeElement"))));if(u){const m=r.viewPositionToDom(g);a?s.collapse(m.parent,m.offset):s.extend(m.parent,m.offset)}}}}(0,e,o.domConverter),{priority:"low"})}(this),this.on("render",()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1}),this.listenTo(this.document.selection,"change",()=>{this._hasChangedSinceTheLastRendering=!0}),this.listenTo(this.document,"change:isFocused",()=>{this._hasChangedSinceTheLastRendering=!0}),x.isiOS&&this.listenTo(this.document,"blur",(e,n)=>{this.domConverter.mapDomToView(n.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:s,value:a}of Array.from(t.attributes))i[s]=a,"class"===s?this._writer.addClass(a.split(" "),n):this._writer.setAttribute(s,a,n);this._initialDomRootAttributes.set(t,i);const r=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};r(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",(s,a)=>this._renderer.markToSync("children",a)),n.on("change:attributes",(s,a)=>this._renderer.markToSync("attributes",a)),n.on("change:text",(s,a)=>this._renderer.markToSync("text",a)),n.on("change:isReadOnly",()=>this.change(r)),n.on("change",()=>{this._hasChangedSinceTheLastRendering=!0});for(const s of this._observers.values())s.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach(({name:i})=>e.removeAttribute(i));const n=this._initialDomRootAttributes.get(e);for(const i in n)e.setAttribute(i,n[i]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e);for(const i of this._observers.values())i.stopObserving(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[n,i]of this.domRoots)e.observe(i,n);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const r=this.document.selection.getFirstRange();if(!r)return;const s=Xn({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});"number"==typeof n&&(n={top:n,bottom:n,left:n,right:n});const a={target:this.domConverter.viewRangeToDom(r),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",a,s),function({target:c,viewportOffset:l=0,ancestorOffset:d=0,alignToTop:u,forceScroll:g}){const m=tn(c);let f=m,w=null;for(l="number"==typeof(v=l)?{top:v,bottom:v,left:v,right:v}:v;f;){let v;v=Ea(f==m?c:w),va({parent:v,getRect:()=>Da(c,f),alignToTop:u,ancestorOffset:d,forceScroll:g});const D=Da(c,f);if(wr({window:f,rect:D,viewportOffset:l,alignToTop:u,forceScroll:g}),f.parent!=f){if(w=f.frameElement,f=f.parent,!w)return}else f=null}var v}(a)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new S("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(e){S.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(Uc).flush(),this.change(()=>{})}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return F._createAt(t,e)}createPositionAfter(t){return F._createAfter(t)}createPositionBefore(t){return F._createBefore(t)}createRange(t,e){return new tt(t,e)}createRangeOn(t){return tt._createOn(t)}createRangeIn(t){return tt._createIn(t)}createSelection(...t){return new Ne(...t)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change(()=>{})}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class to{is(){throw new Error("is() method is abstract")}}class So extends to{constructor(t){super(),this.parent=null,this._attrs=pe(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new S("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new S("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return null!==this.parent&&this.root.isAttached()}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return 0===r?null:n[r-1]}isBefore(t){if(this==t||this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Zt(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i](e[n[0]]=n[1],e),{})),t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=pe(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}So.prototype.is=function(o){return"node"===o||"model:node"===o};class ss{constructor(t){this._nodes=[],t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((t,e)=>t+e.offsetSize,0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return null===e?null:this._nodes.slice(0,e).reduce((n,i)=>n+i.offsetSize,0)}indexToOffset(t){if(t==this._nodes.length)return this.maxOffset;const e=this._nodes[t];if(!e)throw new S("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t1e4)return n.slice(0,r).concat(i).concat(n.slice(r+0,n.length));{const a=Array.from(n);return a.splice(r,0,...i),a}}(this._nodes,Array.from(e),t)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map(t=>t.toJSON())}}class yt extends So{constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new yt(this.data,this.getAttributes())}static fromJSON(t){return new yt(t.data,t.attributes)}}yt.prototype.is=function(o){return"$text"===o||"model:$text"===o||"text"===o||"model:text"===o||"node"===o||"model:node"===o};class Fe extends to{constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new S("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new S("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}Fe.prototype.is=function(o){return"$textProxy"===o||"model:$textProxy"===o||"textProxy"===o||"model:textProxy"===o};class bt extends So{constructor(t,e,n){super(e),this._children=new ss,this.name=t,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map(n=>n._clone(!0)):void 0;return new bt(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n="string"==typeof(i=e)?[new yt(i)]:(se(i)||(i=[i]),Array.from(i).map(r=>"string"==typeof r?new yt(r):r instanceof Fe?new yt(r.data,r.getAttributes()):r));var i;for(const i of n)null!==i.parent&&i._remove(),i.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const i of n)i.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)e.push(n.name?bt.fromJSON(n):yt.fromJSON(n))}return new bt(t.name,t.attributes,e)}}bt.prototype.is=function(o,t){return t?t===this.name&&("element"===o||"model:element"===o):"element"===o||"model:element"===o||"node"===o||"model:node"===o};class rn{constructor(t){if(!t||!t.boundaries&&!t.startPosition)throw new S("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if("forward"!=e&&"backward"!=e)throw new S("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,this._position=t.startPosition?t.startPosition.clone():U._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,r;do{i=this.position,r=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this._position=i,this._visitedParent=r)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const i=as(e,n),r=i||hg(e,n,i);if(r instanceof bt){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}else e.path.push(0),this._visitedParent=r;return this._position=e,To("elementStart",r,t,e,1)}if(r instanceof yt){let s;if(this.singleCharacters)s=1;else{let l=r.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsetd&&(d=this.boundaries.start.offset),a=e.offset-d}const l=new Fe(s,e.offset-s.startOffset-a,a);return e.offset-=a,this._position=e,To("text",l,t,e,a)}return e.path.pop(),this._position=e,this._visitedParent=n.parent,To("elementStart",n,t,e,1)}}function To(o,t,e,n,i){return{done:!1,value:{type:o,item:t,previousPosition:e,nextPosition:n,length:i}}}class U extends to{constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new S("model-position-root-invalid",t);if(!(e instanceof Array)||0===e.length)throw new S("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(1===i)return pg(t,this,n);if(-1===i)return pg(this,t,n)}return this.path.length===t.path.length||qu(this.path.length>t.path.length?this.path:t.path,e)}hasSameParentAs(t){return this.root===t.root&&"same"==Zt(this.getParentPath(),t.getParentPath())}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=U._createAt(this)}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?U._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=U._createAt(this);if(this.root!=t.root)return n;if("same"==Zt(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if("prefix"==Zt(t.getParentPath(),this.getParentPath())){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i])return null;n.path[i]-=e}}return n}_getTransformedByInsertion(t,e){const n=U._createAt(this);if(this.root!=t.root)return n;if("same"==Zt(t.getParentPath(),this.getParentPath()))(t.offset=i;){if(n.path[s]+a!==r.maxOffset)return!1;a=1,s--,r=r.parent}return!0}(o,e+1)}function qu(o,t){for(;te+1;){const r=i.maxOffset-n.offset;0!==r&&t.push(new L(n,n.getShiftedBy(r))),n.path=n.path.slice(0,-1),n.offset++,i=i.parent}for(;n.path.length<=this.end.path.length;){const r=this.end.path[n.path.length-1],s=r-n.offset;0!==s&&t.push(new L(n,n.getShiftedBy(s))),n.offset=r,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new rn(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new rn(t);for(const n of e)yield n.item}*getPositions(t={}){t.boundaries=this;const e=new rn(t);yield e.position;for(const n of e)yield n.nextPosition}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new L(this.start,this.end)]}getTransformedByOperations(t){const e=[new L(this.start,this.end)];for(const n of t)for(let i=0;i0?new this(n,i):new this(i,n)}static _createIn(t){return new this(U._createAt(t,0),U._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(U._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new S("range-create-from-ranges-empty-array",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort((r,s)=>r.start.isAfter(s.start)?1:-1);const n=t.indexOf(e),i=new this(e.start,e.end);if(n>0)for(let r=n-1;t[r].end.isEqual(i.start);r++)i.start=U._createAt(t[r].start);for(let r=n+1;r{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new S("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)},{priority:"low"}),this.on("viewToModelPosition",(t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),i=this._viewToModelMapping.get(n),r=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=U._createAt(i,r)},{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const i of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(i);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const i=this._elementToMarkerNames.get(t);i&&(i.delete(e),0==i.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new L(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new tt(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const i of e)if(i.is("attributeElement"))for(const r of i.getElementsWithSameId())n.add(r);else n.add(i);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t)return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t);if(t.is("$text"))return e;let i=0;for(let r=0;r1?t[0]+":"+t[1]:t[0]}var Iw=Object.defineProperty,Mw=Object.defineProperties,Bw=Object.getOwnPropertyDescriptors,fg=Object.getOwnPropertySymbols,Nw=Object.prototype.hasOwnProperty,Pw=Object.prototype.propertyIsEnumerable,kg=(o,t,e)=>t in o?Iw(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,Wu=(o,t)=>{for(var e in t||(t={}))Nw.call(t,e)&&kg(o,e,t[e]);if(fg)for(var e of fg(t))Pw.call(t,e)&&kg(o,e,t[e]);return o},bg=(o,t)=>Mw(o,Bw(t));class wg extends(mt()){constructor(t){super(),this._conversionApi=Wu({dispatcher:this},t),this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const s of t.getMarkersToRemove())this._convertMarkerRemove(s.name,s.range,i);const r=this._reduceChanges(t.getChanges());for(const s of r)"insert"===s.type?this._convertInsert(L._createFromPositionAndShift(s.position,s.length),i):"reinsert"===s.type?this._convertReinsert(L._createFromPositionAndShift(s.position,s.length),i):"remove"===s.type?this._convertRemove(s.position,s.length,s.name,i):this._convertAttribute(s.range,s.attributeKey,s.attributeOldValue,s.attributeNewValue,i);for(const s of i.mapper.flushUnboundMarkerNames()){const a=e.get(s).getRange();this._convertMarkerRemove(s,a,i),this._convertMarkerAdd(s,a,i)}for(const s of t.getMarkersToAdd())this._convertMarkerAdd(s.name,s.range,i);i.mapper.flushDeferredBindings(),i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const r=this._createConversionApi(n,void 0,i);this._convertInsert(t,r);for(const[s,a]of e)this._convertMarkerAdd(s,a,r);r.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const r=t.getFirstPosition().root;if(!i.mapper.toViewElement(r))return;const s=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this._addConsumablesForSelection(i.consumable,t,s),this.fire("selection",{selection:t},i),t.isCollapsed){for(const a of s)if(i.consumable.test(t,"addMarker:"+a.name)){const c=a.getRange();if(!Ow(t.getFirstPosition(),a,i.mapper))continue;this.fire(`addMarker:${a.name}`,{item:t,markerName:a.name,markerRange:c},i)}for(const a of t.getAttributeKeys())if(i.consumable.test(t,"attribute:"+a)){const c={item:t,range:t.getFirstRange(),attributeKey:a,attributeOldValue:null,attributeNewValue:t.getAttribute(a)};this.fire(`attribute:${a}:$text`,c,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,Array.from(t));for(const i of Array.from(t.getWalker({shallow:!0})).map(_g))this._testAndFire("insert",i,e)}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,r){this._addConsumablesForRange(r.consumable,t,`attribute:${e}`);for(const s of t){const a={item:s.item,range:L._createFromPositionAndShift(s.previousPosition,s.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,a,r)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const i of n.map(_g))this._testAndFire("insert",bg(Wu({},i),{reconversion:!0}),e)}_convertMarkerAdd(t,e,n){if("$graveyard"==e.root.rootName)return;const i=`addMarker:${t}`;if(n.consumable.add(e,i),this.fire(i,{markerName:t,markerRange:e},n),n.consumable.consume(e,i)){this._addConsumablesForRange(n.consumable,e,i);for(const r of e.getItems()){if(!n.consumable.test(r,i))continue;const s={item:r,range:L._createOn(r),markerName:t,markerRange:e};this.fire(i,s,n)}}}_convertMarkerRemove(t,e,n){"$graveyard"!=e.root.rootName&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const i=n.item;if(null===t.test(i,"insert")){t.add(i,"insert");for(const r of i.getAttributeKeys())t.add(i,"attribute:"+r)}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems())t.add(i,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n)t.add(e,"addMarker:"+i.name);for(const i of e.getAttributeKeys())t.add(e,"attribute:"+i);return t}_testAndFire(t,e,n){const i=`${t}:${(l=e).item.is("element")?l.item.name:"$text"}`,r=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,s=this._firedEventsMap.get(n),a=s.get(r);var l;if(a){if(a.has(i))return;a.add(i)}else s.set(r,new Set([i]));this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:L._createOn(t)};for(const i of n.item.getAttributeKeys())n.attributeKey=i,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(i),this._testAndFire(`attribute:${i}`,n,e)}_createConversionApi(t,e=new Set,n={}){const i=bg(Wu({},this._conversionApi),{consumable:new Tw,writer:t,options:n,convertItem:r=>this._convertInsert(L._createOn(r),i),convertChildren:r=>this._convertInsert(L._createIn(r),i,{doNotAddConsumables:!0}),convertAttributes:r=>this._testAndFireAddAttributes(r,i),canReuseView:r=>!e.has(i.mapper.toModelElement(r))});return this._firedEventsMap.set(i,new Map),i}}function Ow(o,t,e){const n=t.getRange(),i=Array.from(o.getAncestors());return i.shift(),i.reverse(),!i.some(r=>{if(n.containsItem(r))return!!e.toViewElement(r).getCustomProperty("addHighlight")})}function _g(o){return{item:o.item,range:L._createFromPositionAndShift(o.previousPosition,o.length)}}class Se extends(mt(to)){constructor(...t){super(),this._lastRangeBackward=!1,this._attrs=new Map,this._ranges=[],t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new L(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new L(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new L(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if("object"==typeof n&&(i=n,n=void 0),null===e)this._setRanges([]);else if(e instanceof Se)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof L)this._setRanges([e],!!i&&!!i.backward);else if(e instanceof U)this._setRanges([new L(e)]);else if(e instanceof So){const r=!!i&&!!i.backward;let s;if("in"==n)s=L._createIn(e);else if("on"==n)s=L._createOn(e);else{if(void 0===n)throw new S("model-selection-setto-required-second-parameter",[this,e]);s=new L(U._createAt(e,n))}this._setRanges([s],r)}else{if(!se(e))throw new S("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,i&&!!i.backward)}}_setRanges(t,e=!1){const n=Array.from(t),i=n.some(r=>{if(!(r instanceof L))throw new S("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every(s=>!s.isEqual(r))});(n.length!==this._ranges.length||i)&&(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(null===this.anchor)throw new S("model-selection-setfocus-no-ranges",[this,t]);const n=U._createAt(t,e);if("same"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),"before"==n.compareWith(i)?(this._pushRange(new L(n,i)),this._lastRangeBackward=!0):(this._pushRange(new L(i,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=Cg(e.start,t);Lw(n,e)&&(yield n);for(const r of e.getWalker()){const s=r.item;"elementEnd"==r.type&&zw(s,t,e)&&(yield s)}const i=Cg(e.end,t);jw(i,e)&&(yield i)}}containsEntireContent(t=this.anchor.root){const e=U._createAt(t,0),n=U._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new L(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function Ag(o,t){return!t.has(o)&&(t.add(o),o.root.document.model.schema.isBlock(o)&&!!o.parent)}function zw(o,t,e){return Ag(o,t)&&$u(o,e)}function Cg(o,t){const e=o.parent.root.document.model.schema,n=o.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=n.find(s=>!i&&(i=e.isLimit(s),!i&&Ag(s,t)));return n.forEach(s=>t.add(s)),r}function $u(o,t){const e=function(n){const i=n.root.document.model.schema;let r=n.parent;for(;r;){if(i.isBlock(r))return r;r=r.parent}}(o);return!e||!t.containsRange(L._createOn(e),!0)}function Lw(o,t){return!!o&&(!(!t.isCollapsed&&!o.isEmpty)||!t.start.isTouching(U._createAt(o,o.maxOffset))&&$u(o,t))}function jw(o,t){return!!o&&(!(!t.isCollapsed&&!o.isEmpty)||!t.end.isTouching(U._createAt(o,0))&&$u(o,t))}Se.prototype.is=function(o){return"selection"===o||"model:selection"===o};class Ve extends(mt(L)){constructor(t,e){super(t,e),Rw.call(this)}detach(){this.stopListening()}toRange(){return new L(this.start,this.end)}static fromRange(t){return new Ve(t.start,t.end)}}function Rw(){this.listenTo(this.root.document.model,"applyOperation",(o,t)=>{const e=t[0];e.isDocumentOperation&&Fw.call(this,e)},{priority:"low"})}function Fw(o){const t=this.getTransformedByOperation(o),e=L._createFromRanges(t),n=!e.isEqual(this),i=function(s,a){switch(a.type){case"insert":return s.containsPosition(a.position);case"move":case"remove":case"reinsert":case"merge":return s.containsPosition(a.sourcePosition)||s.start.isEqual(a.sourcePosition)||s.containsPosition(a.targetPosition);case"split":return s.containsPosition(a.splitPosition)||s.containsPosition(a.insertionPosition)}return!1}(this,o);let r=null;if(n){"$graveyard"==e.root.rootName&&(r="remove"==o.type?o.sourcePosition:o.deletionPosition);const s=this.toRange();this.start=e.start,this.end=e.end,this.fire("change:range",s,{deletionPosition:r})}else i&&this.fire("change:content",this.toRange(),{deletionPosition:r})}Ve.prototype.is=function(o){return"liveRange"===o||"model:liveRange"===o||"range"==o||"model:range"===o};const Gc="selection:";class Ue extends(mt(to)){constructor(t){super(),this._selection=new Vw(t),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return Gc+t}static _isStoreAttributeKey(t){return t.startsWith(Gc)}}Ue.prototype.is=function(o){return"selection"===o||"model:selection"==o||"documentSelection"==o||"model:documentSelection"==o};class Vw extends Se{constructor(t){super(),this.markers=new ge({idProperty:"name"}),this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this._model=t.model,this._document=t,this.listenTo(this._model,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&"marker"!=i.type&&"rename"!=i.type&&"noop"!=i.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))},{priority:"lowest"}),this.on("change:range",()=>{this._validateSelectionRanges(this.getRanges())}),this.listenTo(this._model.markers,"update",(e,n,i,r)=>{this._updateMarker(n,r)}),this.listenTo(this._document,"change",(e,n)=>{!function(i,r){const s=i.document.differ;for(const a of s.getChanges()){if("insert"!=a.type)continue;const c=a.position.parent;a.length===c.maxOffset&&i.enqueueChange(r,l=>{const d=Array.from(c.getAttributeKeys()).filter(u=>u.startsWith(Gc));for(const u of d)l.removeAttribute(u,c)})}}(this._model,n)})}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=r.deletionPosition;const s=this._ranges.indexOf(e);this._ranges.splice(s,1),e.detach()}}),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const i of this._model.markers){const r=i.name.split(":",1)[0];if(!this._observedMarkers.has(r))continue;const s=i.getRange();for(const a of this.getRanges())s.containsRange(a,!a.isCollapsed)&&t.push(i)}const n=Array.from(this.markers);for(const i of t)this.markers.has(i)||(this.markers.add(i),e=!0);for(const i of Array.from(this.markers))t.includes(i)||(this.markers.remove(i),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let i=!1;const r=Array.from(this.markers),s=this.markers.has(t);if(e){let a=!1;for(const c of this.getRanges())if(e.containsRange(c,!c.isCollapsed)){a=!0;break}a&&!s?(this.markers.add(t),i=!0):!a&&s&&(this.markers.remove(t),i=!0)}else s&&(this.markers.remove(t),i=!0);i&&this.fire("change:marker",{oldMarkers:r,directChange:!1})}_updateAttributes(t){const e=pe(this._getSurroundingAttributes()),n=pe(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[r,s]of this._attributePriority)"low"==s&&(this._attrs.delete(r),this._attributePriority.delete(r));this._setAttributesTo(e);const i=[];for(const[r,s]of this.getAttributes())n.has(r)&&n.get(r)===s||i.push(r);for(const[r]of n)this.hasAttribute(r)||i.push(r);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(t,e,n=!0){const i=n?"normal":"low";return("low"!=i||"normal"!=this._attributePriority.get(t))&&super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,i),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return!("low"==n&&"normal"==this._attributePriority.get(t)||(this._attributePriority.set(t,n),!super.hasAttribute(t)||(this._attrs.delete(t),0)))}_setAttributesTo(t){const e=new Set;for(const[n,i]of this.getAttributes())t.get(n)!==i&&this._removeAttribute(n,!1);for(const[n,i]of t)this._setAttribute(n,i,!1)&&e.add(n);return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())e.startsWith(Gc)&&(yield[e.substr(10),t.getAttribute(e)])}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;if("$graveyard"==t.root.rootName)return null;let n=null;if(this.isCollapsed){const i=t.textNode?t.textNode:t.nodeBefore,r=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=cs(i,e)),n||(n=cs(r,e)),!this.isGravityOverridden&&!n){let s=i;for(;s&&!n;)s=s.previousSibling,n=cs(s,e)}if(!n){let s=r;for(;s&&!n;)s=s.nextSibling,n=cs(s,e)}n||(n=this.getStoredAttributes())}else{const i=this.getFirstRange();for(const r of i){if(r.item.is("element")&&e.isObject(r.item)){n=cs(r.item,e);break}if("text"==r.type){n=r.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function cs(o,t){if(!o)return null;if(o instanceof Fe||o instanceof yt)return o.getAttributes();if(!t.isInline(o))return null;if(!t.isObject(o))return[];const e=[];for(const[n,i]of o.getAttributes())t.checkAttribute("$text",n)&&!1!==t.getAttributeProperties(n).copyFromObject&&e.push([n,i]);return e}class vg{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}class Uw extends vg{elementToElement(t){return this.add(function(e){const n=Eg(e.model),i=ls(e.view,"container");return n.attributes.length&&(n.children=!0),r=>{r.on(`insert:${n.name}`,function(s,a=Gw){return(c,l,d)=>{if(!a(l.item,d.consumable,{preflight:!0}))return;const u=s(l.item,d,l);if(!u)return;a(l.item,d.consumable);const g=d.mapper.toViewPosition(l.range.start);d.mapper.bindElements(l.item,u),d.writer.insert(g,u),d.convertAttributes(l.item),Mg(u,l.item.getChildren(),d,{reconversion:l.reconversion})}}(i,Ig(n)),{priority:e.converterPriority||"normal"}),(n.children||n.attributes.length)&&r.on("reduceChanges",Tg(n),{priority:"low"})}}(t))}elementToStructure(t){return this.add(function(e){const n=Eg(e.model),i=ls(e.view,"container");return n.children=!0,r=>{if(r._conversionApi.schema.checkChild(n.name,"$text"))throw new S("conversion-element-to-structure-disallowed-text",r,{elementName:n.name});var s,a;r.on(`insert:${n.name}`,(s=i,a=Ig(n),(c,l,d)=>{if(!a(l.item,d.consumable,{preflight:!0}))return;const u=new Map;var f,w,v;d.writer._registerSlotFactory((f=l.item,w=u,v=d,(D,M)=>{const R=D.createContainerElement("$slot");let Y=null;if("children"===M)Y=Array.from(f.getChildren());else{if("function"!=typeof M)throw new S("conversion-slot-mode-unknown",v.dispatcher,{modeOrFilter:M});Y=Array.from(f.getChildren()).filter(nt=>M(nt))}return w.set(R,Y),R}));const g=s(l.item,d,l);if(d.writer._clearSlotFactory(),!g)return;(function(f,w,v){const D=Array.from(w.values()).flat(),M=new Set(D);if(M.size!=D.length)throw new S("conversion-slot-filter-overlap",v.dispatcher,{element:f});if(M.size!=f.childCount)throw new S("conversion-slot-filter-incomplete",v.dispatcher,{element:f})})(l.item,u,d),a(l.item,d.consumable);const m=d.mapper.toViewPosition(l.range.start);d.mapper.bindElements(l.item,g),d.writer.insert(m,g),d.convertAttributes(l.item),function(f,w,v,D){v.mapper.on("modelToViewPosition",Y,{priority:"highest"});let M=null,R=null;for([M,R]of w)Mg(f,R,v,D),v.writer.move(v.writer.createRangeIn(M),v.writer.createPositionBefore(M)),v.writer.remove(M);function Y(nt,_t){const Yt=R.indexOf(_t.modelPosition.nodeAfter);Yt<0||(_t.viewPosition=_t.mapper.findPositionIn(M,Yt))}v.mapper.off("modelToViewPosition",Y)}(g,u,d,{reconversion:l.reconversion})}),{priority:e.converterPriority||"normal"}),r.on("reduceChanges",Tg(n),{priority:"low"})}}(t))}attributeToElement(t){return this.add(function(e){let n=(e=Xn(e)).model;"string"==typeof n&&(n={key:n});let i=`attribute:${n.key}`;if(n.name&&(i+=":"+n.name),n.values)for(const s of n.values)e.view[s]=ls(e.view[s],"attribute");else e.view=ls(e.view,"attribute");const r=Dg(e);return s=>{var a;s.on(i,(a=r,(c,l,d)=>{if(!d.consumable.test(l.item,c.name))return;const u=a(l.attributeOldValue,d,l),g=a(l.attributeNewValue,d,l);if(!u&&!g)return;d.consumable.consume(l.item,c.name);const m=d.writer;if(l.item instanceof Se||l.item instanceof Ue)m.wrap(m.document.selection.getFirstRange(),g);else{let w=d.mapper.toViewRange(l.range);null!==l.attributeOldValue&&u&&(w=m.unwrap(w,u)),null!==l.attributeNewValue&&g&&m.wrap(w,g)}}),{priority:e.converterPriority||"normal"})}}(t))}attributeToAttribute(t){return this.add(function(e){let n=(e=Xn(e)).model;"string"==typeof n&&(n={key:n});let i=`attribute:${n.key}`;if(n.name&&(i+=":"+n.name),n.values)for(const s of n.values)e.view[s]=Sg(e.view[s]);else e.view=Sg(e.view);const r=Dg(e);return s=>{var a;s.on(i,(a=r,(c,l,d)=>{if(!d.consumable.test(l.item,c.name))return;const u=a(l.attributeOldValue,d,l),g=a(l.attributeNewValue,d,l);if(!u&&!g)return;d.consumable.consume(l.item,c.name);const m=d.mapper.toViewElement(l.item),f=d.writer;if(!m)throw new S("conversion-attribute-to-attribute-on-text",d.dispatcher,l);if(null!==l.attributeOldValue&&u)if("class"==u.key){const w=Ht(u.value);for(const v of w)f.removeClass(v,m)}else if("style"==u.key){const w=Object.keys(u.value);for(const v of w)f.removeStyle(v,m)}else f.removeAttribute(u.key,m);if(null!==l.attributeNewValue&&g)if("class"==g.key){const w=Ht(g.value);for(const v of w)f.addClass(v,m)}else if("style"==g.key){const w=Object.keys(g.value);for(const v of w)f.setStyle(v,g.value[v],m)}else f.setAttribute(g.key,g.value,m)}),{priority:e.converterPriority||"normal"})}}(t))}markerToElement(t){return this.add(function(e){const n=ls(e.view,"ui");return i=>{var r;i.on(`addMarker:${e.model}`,(r=n,(s,a,c)=>{a.isOpening=!0;const l=r(a,c);a.isOpening=!1;const d=r(a,c);if(!l||!d)return;const u=a.markerRange;if(u.isCollapsed&&!c.consumable.consume(u,s.name))return;for(const f of u)if(!c.consumable.consume(f.item,s.name))return;const g=c.mapper,m=c.writer;m.insert(g.toViewPosition(u.start),l),c.mapper.bindElementToMarker(l,a.markerName),u.isCollapsed||(m.insert(g.toViewPosition(u.end),d),c.mapper.bindElementToMarker(d,a.markerName)),s.stop()}),{priority:e.converterPriority||"normal"}),i.on(`removeMarker:${e.model}`,(s,a,c)=>{const l=c.mapper.markerNameToElements(a.markerName);if(l){for(const d of l)c.mapper.unbindElementFromMarkerName(d,a.markerName),c.writer.clear(c.writer.createRangeOn(d),d);c.writer.clearClonedElementsGroup(a.markerName),s.stop()}},{priority:e.converterPriority||"normal"})}}(t))}markerToHighlight(t){return this.add((e=t,n=>{var i,r;n.on(`addMarker:${e.model}`,(i=e.view,(r,s,a)=>{if(!s.item||!(s.item instanceof Se||s.item instanceof Ue||s.item.is("$textProxy")))return;const c=Yu(i,s,a);if(!c||!a.consumable.consume(s.item,r.name))return;const l=a.writer,d=yg(l,c);if(s.item instanceof Se||s.item instanceof Ue)l.wrap(l.document.selection.getFirstRange(),d);else{const g=a.mapper.toViewRange(s.range),m=l.wrap(g,d);for(const f of m.getItems())if(f.is("attributeElement")&&f.isSimilar(d)){a.mapper.bindElementToMarker(f,s.markerName);break}}}),{priority:e.converterPriority||"normal"}),n.on(`addMarker:${e.model}`,(r=e.view,(s,a,c)=>{if(!(a.item&&a.item instanceof bt))return;const l=Yu(r,a,c);if(!l||!c.consumable.test(a.item,s.name))return;const d=c.mapper.toViewElement(a.item);if(d&&d.getCustomProperty("addHighlight")){c.consumable.consume(a.item,s.name);for(const u of L._createIn(a.item))c.consumable.consume(u.item,s.name);d.getCustomProperty("addHighlight")(d,l,c.writer),c.mapper.bindElementToMarker(d,a.markerName)}}),{priority:e.converterPriority||"normal"}),n.on(`removeMarker:${e.model}`,function(r){return(s,a,c)=>{if(a.markerRange.isCollapsed)return;const l=Yu(r,a,c);if(!l)return;const d=yg(c.writer,l),u=c.mapper.markerNameToElements(a.markerName);if(u){for(const g of u)c.mapper.unbindElementFromMarkerName(g,a.markerName),g.is("attributeElement")?c.writer.unwrap(c.writer.createRangeOn(g),d):g.getCustomProperty("removeHighlight")(g,l.id,c.writer);c.writer.clearClonedElementsGroup(a.markerName),s.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}));var e}markerToData(t){return this.add(function(e){const n=(e=Xn(e)).model;let i=e.view;return i||(i=r=>({group:n,name:r.substr(e.model.length+1)})),r=>{var s,a;r.on(`addMarker:${n}`,(s=i,(a,c,l)=>{const d=s(c.markerName,l);if(!d)return;const u=c.markerRange;l.consumable.consume(u,a.name)&&(xg(u,!1,l,c,d),xg(u,!0,l,c,d),a.stop())}),{priority:e.converterPriority||"normal"}),r.on(`removeMarker:${n}`,(a=i,(c,l,d)=>{const u=a(l.markerName,d);if(!u)return;const g=d.mapper.markerNameToElements(l.markerName);if(g){for(const f of g)d.mapper.unbindElementFromMarkerName(f,l.markerName),f.is("containerElement")?(m(`data-${u.group}-start-before`,f),m(`data-${u.group}-start-after`,f),m(`data-${u.group}-end-before`,f),m(`data-${u.group}-end-after`,f)):d.writer.clear(d.writer.createRangeOn(f),f);d.writer.clearClonedElementsGroup(l.markerName),c.stop()}function m(f,w){if(w.hasAttribute(f)){const v=new Set(w.getAttribute(f).split(","));v.delete(u.name),0==v.size?d.writer.removeAttribute(f,w):d.writer.setAttribute(f,Array.from(v).join(","),w)}}}),{priority:e.converterPriority||"normal"})}}(t))}}function yg(o,t){const e=o.createAttributeElement("span",t.attributes);return t.classes&&e._addClass(t.classes),"number"==typeof t.priority&&(e._priority=t.priority),e._id=t.id,e}function xg(o,t,e,n,i){const r=t?o.start:o.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let c,l;t&&s||!t&&!a?(c=s,l=!0):(c=a,l=!1);const d=e.mapper.toViewElement(c);if(d)return void function(u,g,m,f,w,v){const D=`data-${v.group}-${g?"start":"end"}-${m?"before":"after"}`,M=u.hasAttribute(D)?u.getAttribute(D).split(","):[];M.unshift(v.name),f.writer.setAttribute(D,M.join(","),u),f.mapper.bindElementToMarker(u,w.markerName)}(d,t,l,e,n,i)}!function(c,l,d,u,g){const w=d.writer.createUIElement(`${g.group}-${l?"start":"end"}`,g.name?{name:g.name}:null);d.writer.insert(c,w),d.mapper.bindElementToMarker(w,u.markerName)}(e.mapper.toViewPosition(r),t,e,n,i)}function Eg(o){return"string"==typeof o&&(o={name:o}),o.attributes?Array.isArray(o.attributes)||(o.attributes=[o.attributes]):o.attributes=[],o.children=!!o.children,o}function ls(o,t){return"function"==typeof o?o:(e,n)=>function(i,r,s){let a;"string"==typeof i&&(i={name:i});const c=r.writer,l=Object.assign({},i.attributes);if(a="container"==s?c.createContainerElement(i.name,l):"attribute"==s?c.createAttributeElement(i.name,l,{priority:i.priority||En.DEFAULT_PRIORITY}):c.createUIElement(i.name,l),i.styles){const d=Object.keys(i.styles);for(const u of d)c.setStyle(u,i.styles[u],a)}if(i.classes){const d=i.classes;if("string"==typeof d)c.addClass(d,a);else for(const u of d)c.addClass(u,a)}return a}(o,n,t)}function Dg(o){return o.model.values?(t,e,n)=>{const i=o.view[t];return i?i(t,e,n):null}:o.view}function Sg(o){return"string"==typeof o?t=>({key:o,value:t}):"object"==typeof o?o.value?()=>o:t=>({key:o.key,value:t}):o}function Yu(o,t,e){const n="function"==typeof o?o(t,e):o;return n?(n.priority||(n.priority=10),n.id||(n.id=t.markerName),n):null}function Tg(o){const t=(e=o,(n,i)=>{if(!n.is("element",e.name))return!1;if("attribute"==i.type){if(e.attributes.includes(i.attributeKey))return!0}else if(e.children)return!0;return!1});var e;return(e,n)=>{const i=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const r of n.changes){const s="attribute"==r.type?r.range.start.nodeAfter:r.position.parent;if(s&&t(s,r)){if(!n.reconvertedElements.has(s)){n.reconvertedElements.add(s);const a=U._createBefore(s);let c=i.length;for(let l=i.length-1;l>=0;l--){const d=i[l],u=("attribute"==d.type?d.range.start:d.position).compareWith(a);if("before"==u||"remove"==d.type&&"same"==u)break;c=l}i.splice(c,0,{type:"remove",name:s.name,position:a,length:1},{type:"reinsert",name:s.name,position:a,length:1})}}else i.push(r)}n.changes=i}}function Ig(o){return(t,e,n={})=>{const i=["insert"];for(const r of o.attributes)t.hasAttribute(r)&&i.push(`attribute:${r}`);return!!i.every(r=>e.test(t,r))&&(n.preflight||i.forEach(r=>e.consume(t,r)),!0)}}function Mg(o,t,e,n){for(const i of t)Hw(o.root,i,e,n)||e.convertItem(i)}function Hw(o,t,e,n){const{writer:i,mapper:r}=e;if(!n.reconversion)return!1;const s=r.toViewElement(t);return!(!s||s.root==o||!e.canReuseView(s)||(i.move(i.createRangeOn(s),r.toViewPosition(U._createBefore(t))),0))}function Gw(o,t,{preflight:e}={}){return e?t.test(o,"insert"):t.consume(o,"insert")}function Bg(o){const{schema:t,document:e}=o.model;for(const n of e.getRoots())if(n.isEmpty&&!t.checkChild(n,"$text")&&t.checkChild(n,"paragraph"))return o.insertElement("paragraph",n),!0;return!1}function Ng(o,t,e){const n=e.createContext(o);return!!e.checkChild(n,"paragraph")&&!!e.checkChild(n.push("paragraph"),t)}function Pg(o,t){const e=t.createElement("paragraph");return t.insert(e,o),t.createPositionAt(e,0)}var qw=Object.defineProperty,Ww=Object.defineProperties,$w=Object.getOwnPropertyDescriptors,Og=Object.getOwnPropertySymbols,Yw=Object.prototype.hasOwnProperty,Kw=Object.prototype.propertyIsEnumerable,zg=(o,t,e)=>t in o?qw(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;class Qw extends vg{elementToElement(t){return this.add(Lg(t))}elementToAttribute(t){return this.add(function(e){jg(e=Xn(e));const n=Rg(e,!1),i=Ku(e.view),r=i?`element:${i}`:"element";return s=>{s.on(r,n,{priority:e.converterPriority||"low"})}}(t))}attributeToAttribute(t){return this.add(function(e){let n=null;("string"==typeof(e=Xn(e)).view||e.view.key)&&(n=function(r){"string"==typeof r.view&&(r.view={key:r.view});const s=r.view.key;let a;return a="class"==s||"style"==s?{["class"==s?"classes":"styles"]:r.view.value}:{attributes:{[s]:void 0===r.view.value?/[\s\S]*/:r.view.value}},r.view.name&&(a.name=r.view.name),r.view=a,s}(e)),jg(e,n);const i=Rg(e,!0);return r=>{r.on("element",i,{priority:e.converterPriority||"low"})}}(t))}elementToMarker(t){return this.add(function(e){const n=(s=e.model,(a,c)=>{const l="string"==typeof s?s:s(a,c);return c.writer.createElement("$marker",{"data-name":l})});var s,i;return Lg((i=((s,a)=>{for(var c in a||(a={}))Yw.call(a,c)&&zg(s,c,a[c]);if(Og)for(var c of Og(a))Kw.call(a,c)&&zg(s,c,a[c]);return s})({},e),Ww(i,$w({model:n}))))}(t))}dataToMarker(t){return this.add(function(e){(e=Xn(e)).model||(e.model=s=>s?e.view+":"+s:e.view);const n={view:e.view,model:e.model},i=Qu(Fg(n,"start")),r=Qu(Fg(n,"end"));return s=>{s.on(`element:${e.view}-start`,i,{priority:e.converterPriority||"normal"}),s.on(`element:${e.view}-end`,r,{priority:e.converterPriority||"normal"});const a=rt.low,c=rt.highest,l=rt.get(e.converterPriority)/c;var d;s.on("element",(d=n,(u,g,m)=>{const f=`data-${d.view}`;function w(v,D){for(const M of D){const R=d.model(M,m),Y=m.writer.createElement("$marker",{"data-name":R});m.writer.insert(Y,v),g.modelCursor=g.modelCursor.isEqual(v)?g.modelCursor.getShiftedBy(1):g.modelCursor._getTransformedByInsertion(v,1),g.modelRange=g.modelRange._getTransformedByInsertion(v,1)[0]}}(m.consumable.test(g.viewItem,{attributes:f+"-end-after"})||m.consumable.test(g.viewItem,{attributes:f+"-start-after"})||m.consumable.test(g.viewItem,{attributes:f+"-end-before"})||m.consumable.test(g.viewItem,{attributes:f+"-start-before"}))&&(g.modelRange||Object.assign(g,m.convertChildren(g.viewItem,g.modelCursor)),m.consumable.consume(g.viewItem,{attributes:f+"-end-after"})&&w(g.modelRange.end,g.viewItem.getAttribute(f+"-end-after").split(",")),m.consumable.consume(g.viewItem,{attributes:f+"-start-after"})&&w(g.modelRange.end,g.viewItem.getAttribute(f+"-start-after").split(",")),m.consumable.consume(g.viewItem,{attributes:f+"-end-before"})&&w(g.modelRange.start,g.viewItem.getAttribute(f+"-end-before").split(",")),m.consumable.consume(g.viewItem,{attributes:f+"-start-before"})&&w(g.modelRange.start,g.viewItem.getAttribute(f+"-start-before").split(",")))}),{priority:a+l})}}(t))}}function Lg(o){const t=Qu(o=Xn(o)),e=Ku(o.view),n=e?`element:${e}`:"element";return i=>{i.on(n,t,{priority:o.converterPriority||"normal"})}}function Ku(o){return"string"==typeof o?o:"object"==typeof o&&"string"==typeof o.name?o.name:null}function Qu(o){const t=new De(o.view);return(e,n,i)=>{const r=t.match(n.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(n.viewItem,s))return;const a=(d=i,(c=o.model)instanceof Function?c(n.viewItem,d):d.writer.createElement(c));var c,d;a&&i.safeInsert(a,n.modelCursor)&&(i.consumable.consume(n.viewItem,s),i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n))}}function jg(o,t=null){o.model={key:"object"!=typeof o.model?o.model:o.model.key,value:"object"!=typeof o.model||void 0===o.model.value?null===t||(r=>r.getAttribute(t)):o.model.value}}function Rg(o,t){const e=new De(o.view);return(n,i,r)=>{if(!i.modelRange&&t)return;const s=e.match(i.viewItem);if(!s||(function(d,u){const g="function"==typeof d?d(u):d;return!("object"==typeof g&&!Ku(g)||g.classes||g.attributes||g.styles)}(o.view,i.viewItem)?s.match.name=!0:delete s.match.name,!r.consumable.test(i.viewItem,s.match)))return;const a=o.model.key,c="function"==typeof o.model.value?o.model.value(i.viewItem,r):o.model.value;null!==c&&(i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor)),function(d,u,g,m){let f=!1;for(const w of Array.from(d.getItems({shallow:g})))m.schema.checkAttribute(w,u.key)&&(f=!0,w.hasAttribute(u.key)||m.writer.setAttribute(u.key,u.value,w));return f}(i.modelRange,{key:a,value:c},t,r)&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match)))}}function Fg(o,t){return{view:`${o.view}-${t}`,model:(e,n)=>{const i=e.getAttribute("name"),r=o.model(i,n);return n.writer.createElement("$marker",{"data-name":r})}}}function Vg(o,t){return o.isCollapsed?function(e,n){const i=e.start,r=n.getNearestSelectionRange(i);if(!r){const a=i.getAncestors().reverse().find(c=>n.isObject(c));return a?L._createOn(a):null}if(!r.isCollapsed)return r;const s=r.start;return i.isEqual(s)?null:new L(s)}(o,t):function(e,n){const{start:i,end:r}=e,s=n.checkChild(i,"$text"),a=n.checkChild(r,"$text"),c=n.getLimitElement(i),l=n.getLimitElement(r);if(c===l){if(s&&a)return null;if(function(g,m,f){const w=g.nodeAfter&&!f.isLimit(g.nodeAfter)||f.checkChild(g,"$text"),v=m.nodeBefore&&!f.isLimit(m.nodeBefore)||f.checkChild(m,"$text");return w||v}(i,r,n)){const g=i.nodeAfter&&n.isSelectable(i.nodeAfter)?null:n.getNearestSelectionRange(i,"forward"),m=r.nodeBefore&&n.isSelectable(r.nodeBefore)?null:n.getNearestSelectionRange(r,"backward");return new L(g?g.start:i,m?m.end:r)}}const d=c&&!c.is("rootElement"),u=l&&!l.is("rootElement");if(d||u){const g=i.nodeAfter&&r.nodeBefore&&i.nodeAfter.parent===r.nodeBefore.parent,m=d&&(!g||!Hg(i.nodeAfter,n)),f=u&&(!g||!Hg(r.nodeBefore,n));let w=i,v=r;return m&&(w=U._createBefore(Ug(c,n))),f&&(v=U._createAfter(Ug(l,n))),new L(w,v)}return null}(o,t)}function Ug(o,t){let e=o,n=e;for(;t.isLimit(n)&&n.parent;)e=n,n=n.parent;return e}function Hg(o,t){return o&&t.isSelectable(o)}class Jw extends(ht()){constructor(t,e){super(),this.model=t,this.view=new Sw(e),this.mapper=new mg,this.downcastDispatcher=new wg({mapper:this.mapper,schema:t.schema});const n=this.model.document,i=n.selection,r=this.model.markers;var s,a,c,l,d;this.listenTo(this.model,"_beforeChanges",()=>{this.view._disableRendering(!0)},{priority:"highest"}),this.listenTo(this.model,"_afterChanges",()=>{this.view._disableRendering(!1)},{priority:"lowest"}),this.listenTo(n,"change",()=>{this.view.change(l=>{this.downcastDispatcher.convertChanges(n.differ,r,l),this.downcastDispatcher.convertSelection(i,r,l)})},{priority:"low"}),this.listenTo(this.view.document,"selectionChange",(l=this.model,d=this.mapper,(u,g)=>{const m=g.newSelection,f=[];for(const v of m.getRanges())f.push(d.toModelRange(v));const w=l.createSelection(f,{backward:m.isBackward});w.isEqual(l.document.selection)||l.change(v=>{v.setSelection(w)})})),this.listenTo(this.view.document,"beforeinput",(s=this.mapper,a=this.model.schema,c=this.view,(l,d)=>{if(!c.document.isComposing||x.isAndroid)for(let u=0;u{if(!u.consumable.consume(d.item,l.name))return;const g=u.writer,m=u.mapper.toViewPosition(d.range.start),f=g.createText(d.item.data);g.insert(m,f)},{priority:"lowest"}),this.downcastDispatcher.on("insert",(l,d,u)=>{u.convertAttributes(d.item),d.reconversion||!d.item.is("element")||d.item.isEmpty||u.convertChildren(d.item)},{priority:"lowest"}),this.downcastDispatcher.on("remove",(l,d,u)=>{const g=u.mapper.toViewPosition(d.position),m=d.position.getShiftedBy(d.length),f=u.mapper.toViewPosition(m,{isPhantom:!0}),w=u.writer.createRange(g,f),v=u.writer.remove(w.getTrimmed());for(const D of u.writer.createRangeIn(v).getItems())u.mapper.unbindViewElement(D,{defer:!0})},{priority:"low"}),this.downcastDispatcher.on("cleanSelection",(l,d,u)=>{const g=u.writer,m=g.document.selection;for(const f of m.getRanges())f.isCollapsed&&f.end.parent.isAttached()&&u.writer.mergeAttributes(f.start);g.setSelection(null)}),this.downcastDispatcher.on("selection",(l,d,u)=>{const g=d.selection;if(g.isCollapsed||!u.consumable.consume(g,"selection"))return;const m=[];for(const f of g.getRanges())m.push(u.mapper.toViewRange(f));u.writer.setSelection(m,{backward:g.isBackward})},{priority:"low"}),this.downcastDispatcher.on("selection",(l,d,u)=>{const g=d.selection;if(!g.isCollapsed||!u.consumable.consume(g,"selection"))return;const m=u.writer,f=g.getFirstPosition(),w=u.mapper.toViewPosition(f),v=m.breakAttributes(w);m.setSelection(v)},{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using(l=>{if("$graveyard"==l.rootName)return null;const d=new wc(this.view.document,l.name);return d.rootName=l.rootName,this.mapper.bindElements(l,d),d})}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e="string"==typeof t?t:t.name,n=this.model.markers.get(e);if(!n)throw new S("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change(()=>{this.model.markers._refresh(n)})}reconvertItem(t){this.model.change(()=>{this.model.document.differ._refreshItem(t)})}}class ds{constructor(){this._consumables=new Map}add(t,e){let n;t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new Xw(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is("$text")||t.is("documentFragment")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const s of n)"style"!=s&&"class"!=s&&e.attributes.push(s);const i=t.getClassNames();for(const s of i)e.classes.push(s);const r=t.getStyleNames();for(const s of r)e.styles.push(s);return e}static createFrom(t,e){if(e||(e=new ds),t.is("$text"))return e.add(t),e;t.is("element")&&e.add(t,ds.consumablesFromElement(t)),t.is("documentFragment")&&e.add(t);for(const n of t.getChildren())e=ds.createFrom(n,e);return e}}const qc=["attributes","classes","styles"];class Xw{constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e of qc)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e of qc)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e of qc)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e of qc)e in t&&this._revert(e,t[e])}_add(t,e){const n=Jt(e)?e:[e],i=this._consumables[t];for(const r of n){if("attributes"===t&&("class"===r||"style"===r))throw new S("viewconsumable-invalid-attribute",this);if(i.set(r,!0),"styles"===t)for(const s of this.element.document.stylesProcessor.getRelatedStyles(r))i.set(s,!0)}}_test(t,e){const n=Jt(e)?e:[e],i=this._consumables[t];for(const r of n)if("attributes"!==t||"class"!==r&&"style"!==r){const s=i.get(r);if(void 0===s)return null;if(!s)return!1}else{const s="class"==r?"classes":"styles",a=this._test(s,[...this._consumables[s].keys()]);if(!0!==a)return a}return!0}_consume(t,e){const n=Jt(e)?e:[e],i=this._consumables[t];for(const r of n)if("attributes"!==t||"class"!==r&&"style"!==r){if(i.set(r,!1),"styles"==t)for(const s of this.element.document.stylesProcessor.getRelatedStyles(r))i.set(s,!1)}else{const s="class"==r?"classes":"styles";this._consume(s,[...this._consumables[s].keys()])}}_revert(t,e){const n=Jt(e)?e:[e],i=this._consumables[t];for(const r of n)if("attributes"!==t||"class"!==r&&"style"!==r)!1===i.get(r)&&i.set(r,!0);else{const s="class"==r?"classes":"styles";this._revert(s,[...this._consumables[s].keys()])}}}class t_ extends(ht()){constructor(){super(),this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",(t,e)=>{e[0]=new Io(e[0])},{priority:"highest"}),this.on("checkChild",(t,e)=>{e[0]=new Io(e[0]),e[1]=this.getDefinition(e[1])},{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new S("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new S("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e="string"==typeof t?t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?"$text":t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!(!e||!e.isBlock)}isLimit(t){const e=this.getDefinition(t);return!(!e||!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!(!e||!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!(!e||!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);return!!n&&n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof U){const n=t.nodeBefore,i=t.nodeAfter;if(!(n instanceof bt))throw new S("schema-check-merge-no-element-before",this);if(!(i instanceof bt))throw new S("schema-check-merge-no-element-after",this);return this.checkMerge(n,i)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on("checkChild",(e,[n,i])=>{if(!i)return;const r=t(n,i);"boolean"==typeof r&&(e.stop(),e.return=r)},{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",(e,[n,i])=>{const r=t(n,i);"boolean"==typeof r&&(e.stop(),e.return=r)},{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;for(e=t instanceof U?t.parent:(t instanceof L?[t]:Array.from(t.getRanges())).reduce((n,i)=>{const r=i.getCommonAncestor();return n?n.getCommonAncestor(r,{includeSelf:!0}):r},null);!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new yt("",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const i of n)for(const r of i)if(this.checkAttribute(r.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(n){for(const i of n)yield*i.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if("$graveyard"==t.root.rootName)return null;if(this.checkChild(t,"$text"))return new L(t);let n,i;const r=t.getAncestors().reverse().find(s=>this.isLimit(s))||t.root;"both"!=e&&"backward"!=e||(n=new rn({boundaries:L._createIn(r),startPosition:t,direction:"backward"})),"both"!=e&&"forward"!=e||(i=new rn({boundaries:L._createIn(r),startPosition:t}));for(const s of function*(a,c){let l=!1;for(;!l;){if(l=!0,a){const d=a.next();d.done||(l=!1,yield{walker:a,value:d.value})}if(c){const d=c.next();d.done||(l=!1,yield{walker:c,value:d.value})}}}(n,i)){const c=s.value;if(c.type==(s.walker==n?"elementEnd":"elementStart")&&this.isObject(c.item))return L._createOn(c.item);if(this.checkChild(c.nextPosition,"$text"))return new L(c.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[r,s]of Object.entries(e))i.schema.checkAttribute(t,r)&&n.setAttribute(r,s,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))Gg(this,n,e);else{const i=L._createIn(n).getPositions();for(const r of i)Gg(this,r.nodeBefore||r.parent,e)}}getAttributesWithProperty(t,e,n){const i={};for(const[r,s]of t.getAttributes()){const a=this.getAttributeProperties(r);void 0!==a[e]&&(void 0!==n&&n!==a[e]||(i[r]=s))}return i}createContext(t){return new Io(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const i of n)t[i]=e_(e[i],i);for(const i of n)n_(t,i);for(const i of n)o_(t,i);for(const i of n)i_(t,i);for(const i of n)r_(t,i),s_(t,i);for(const i of n)a_(t,i),c_(t,i),l_(t,i);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(0==n)return!0;{const r=this.getDefinition(i);return this._checkContextMatch(r,e,n-1)}}return!1}*_getValidRangesForRange(t,e){let n=t.start,i=t.start;for(const r of t.getItems({shallow:!0}))r.is("element")&&(yield*this._getValidRangesForRange(L._createIn(r),e)),this.checkAttribute(r,e)||(n.isEqual(i)||(yield new L(n,i)),n=U._createAfter(r)),i=U._createAfter(r);n.isEqual(i)||(yield new L(n,i))}}class Io{constructor(t){if(t instanceof Io)return t;let e;e="string"==typeof t?[t]:Array.isArray(t)?t:t.getAncestors({includeSelf:!0}),this._items=e.map(u_)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Io([t]);return e._items=[...this._items,...e._items],e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map(t=>t.name)}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function e_(o,t){const e={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(n,i){for(const r of n){const s=Object.keys(r).filter(a=>a.startsWith("is"));for(const a of s)i[a]=!!r[a]}}(o,e),Mo(o,e,"allowIn"),Mo(o,e,"allowContentOf"),Mo(o,e,"allowWhere"),Mo(o,e,"allowAttributes"),Mo(o,e,"allowAttributesOf"),Mo(o,e,"allowChildren"),Mo(o,e,"inheritTypesFrom"),function(n,i){for(const r of n){const s=r.inheritAllFrom;s&&(i.allowContentOf.push(s),i.allowWhere.push(s),i.allowAttributesOf.push(s),i.inheritTypesFrom.push(s))}}(o,e),e}function n_(o,t){const e=o[t];for(const n of e.allowChildren){const i=o[n];i&&i.allowIn.push(t)}e.allowChildren.length=0}function o_(o,t){for(const e of o[t].allowContentOf)o[e]&&d_(o,e).forEach(n=>{n.allowIn.push(t)});delete o[t].allowContentOf}function i_(o,t){for(const e of o[t].allowWhere){const n=o[e];n&&o[t].allowIn.push(...n.allowIn)}delete o[t].allowWhere}function r_(o,t){for(const e of o[t].allowAttributesOf){const n=o[e];n&&o[t].allowAttributes.push(...n.allowAttributes)}delete o[t].allowAttributesOf}function s_(o,t){const e=o[t];for(const n of e.inheritTypesFrom){const i=o[n];if(i){const r=Object.keys(i).filter(s=>s.startsWith("is"));for(const s of r)s in e||(e[s]=i[s])}}delete e.inheritTypesFrom}function a_(o,t){const e=o[t],n=e.allowIn.filter(i=>o[i]);e.allowIn=Array.from(new Set(n))}function c_(o,t){const e=o[t];for(const n of e.allowIn)o[n].allowChildren.push(t)}function l_(o,t){const e=o[t];e.allowAttributes=Array.from(new Set(e.allowAttributes))}function Mo(o,t,e){for(const n of o){const i=n[e];"string"==typeof i?t[e].push(i):Array.isArray(i)&&t[e].push(...i)}}function d_(o,t){const e=o[t];return(n=o,Object.keys(n).map(i=>n[i])).filter(i=>i.allowIn.includes(e.name));var n}function u_(o){return"string"==typeof o||o.is("documentFragment")?{name:"string"==typeof o?o:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:o.is("element")?o.name:"$text",*getAttributeKeys(){yield*o.getAttributeKeys()},getAttribute:t=>o.getAttribute(t)}}function Gg(o,t,e){for(const n of t.getAttributeKeys())o.checkAttribute(t,n)||e.removeAttribute(n,t)}var h_=Object.defineProperty,g_=Object.defineProperties,p_=Object.getOwnPropertyDescriptors,qg=Object.getOwnPropertySymbols,m_=Object.prototype.hasOwnProperty,f_=Object.prototype.propertyIsEnumerable,Wg=(o,t,e)=>t in o?h_(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;class k_ extends(mt()){constructor(t){var e;super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi=(e=((n,i)=>{for(var r in i||(i={}))m_.call(i,r)&&Wg(n,r,i[r]);if(qg)for(var r of qg(i))f_.call(i,r)&&Wg(n,r,i[r]);return n})({},t),g_(e,p_({consumable:null,writer:null,store:null,convertItem:(n,i)=>this._convertItem(n,i),convertChildren:(n,i)=>this._convertChildren(n,i),safeInsert:(n,i)=>this._safeInsert(n,i),updateConversionResult:(n,i)=>this._updateConversionResult(n,i),splitToAllowedParent:(n,i)=>this._splitToAllowedParent(n,i),getSplitParts:n=>this._getSplitParts(n),keepEmptyElement:n=>this._keepEmptyElement(n)})))}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=function(s,a){let c;for(const l of new Io(s)){const d={};for(const g of l.getAttributeKeys())d[g]=l.getAttribute(g);const u=a.createElement(l.name,d);c&&a.insert(u,c),c=U._createAt(u,0)}return c}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=ds.createFrom(t),this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor),r=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const s of Array.from(this._modelCursor.parent.getChildren()))e.append(s,r);r.markers=function(s,a){const c=new Set,l=new Map,d=L._createIn(s).getItems();for(const u of d)u.is("element","$marker")&&c.add(u);for(const u of c){const g=u.getAttribute("data-name"),m=a.createPositionBefore(u);l.has(g)?l.get(g).end=m.clone():l.set(g,new L(m.clone())),a.remove(u)}return l}(r,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,r}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof L))throw new S("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:U._createAt(e,0);const i=new L(n);for(const r of Array.from(t.getChildren())){const s=this._convertItem(r,n);s.modelRange instanceof L&&(i.end=s.modelRange.end,n=s.modelCursor)}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),i=this.conversionApi.writer;e.modelRange||(e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1])));const r=this._cursorParents.get(t);e.modelCursor=r?i.createPositionAt(r,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let r=n.findAllowedParent(e,t);if(r){if(r===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(r)&&(r=null)}if(!r)return Ng(e,t,n)?{position:Pg(e,i)}:null;const s=this.conversionApi.writer.split(e,r),a=[];for(const l of s.range.getWalker())if("elementEnd"==l.type)a.push(l.item);else{const d=a.pop();this._registerSplitPair(d,l.item)}const c=s.range.end.parent;return this._cursorParents.set(t,c),{position:s.position,cursorParent:c}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}class b_{getHtml(t){const e=document.implementation.createHTMLDocument("").createElement("div");return e.appendChild(t),e.innerHTML}}class w_{constructor(t){this.skipComments=!0,this.domParser=new DOMParser,this.domConverter=new yi(t,{renderingMode:"data"}),this.htmlWriter=new b_}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode="marked"==t?"markedNbsp":"nbsp"}_toDom(t){t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),i=e.body.childNodes;for(;i.length>0;)n.appendChild(i[0]);return n}}class __ extends(mt()){constructor(t,e){super(),this.model=t,this.mapper=new mg,this.downcastDispatcher=new wg({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewPosition(i.range.start),c=s.createText(i.item.data);s.insert(a,c)},{priority:"lowest"}),this.downcastDispatcher.on("insert",(n,i,r)=>{r.convertAttributes(i.item),i.reconversion||!i.item.is("element")||i.item.isEmpty||r.convertChildren(i.item)},{priority:"lowest"}),this.upcastDispatcher=new k_({schema:t.schema}),this.viewDocument=new vo(e),this.stylesProcessor=e,this.htmlProcessor=new w_(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new _c(this.viewDocument),this.upcastDispatcher.on("text",(n,i,{schema:r,consumable:s,writer:a})=>{let c=i.modelCursor;if(!s.test(i.viewItem))return;if(!r.checkChild(c,"$text")){if(!Ng(c,"$text",r)||0==i.viewItem.data.trim().length)return;const d=c.nodeBefore;c=Pg(c,a),d&&d.is("element","$marker")&&(a.move(a.createRangeOn(d),c),c=a.createPositionAfter(d))}s.consume(i.viewItem);const l=a.createText(i.viewItem.data);a.insert(l,c),i.modelRange=a.createRange(c,c.getShiftedBy(l.offsetSize)),i.modelCursor=i.modelRange.end},{priority:"lowest"}),this.upcastDispatcher.on("element",(n,i,r)=>{if(!i.modelRange&&r.consumable.consume(i.viewItem,{name:!0})){const{modelRange:s,modelCursor:a}=r.convertChildren(i.viewItem,i.modelCursor);i.modelRange=s,i.modelCursor=a}},{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",(n,i,r)=>{if(!i.modelRange&&r.consumable.consume(i.viewItem,{name:!0})){const{modelRange:s,modelCursor:a}=r.convertChildren(i.viewItem,i.modelCursor);i.modelRange=s,i.modelCursor=a}},{priority:"lowest"}),ht().prototype.decorate.call(this,"init"),ht().prototype.decorate.call(this,"set"),ht().prototype.decorate.call(this,"get"),ht().prototype.decorate.call(this,"toView"),ht().prototype.decorate.call(this,"toModel"),this.on("init",()=>{this.fire("ready")},{priority:"lowest"}),this.on("ready",()=>{this.model.enqueueChange({isUndoable:!1},Bg)},{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new S("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(e);return i.isAttached()||Q("datacontroller-get-detached-root",this),"empty"!==n||this.model.hasContent(i,{ignoreWhitespaces:!0})?this.stringify(i,t):""}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const r=L._createIn(t),s=new Dn(n);this.mapper.bindElements(t,s);const a=t.is("documentFragment")?t.markers:function(c){const l=[],d=c.root.document;if(!d)return new Map;const u=L._createIn(c);for(const g of d.model.markers){const m=g.getRange(),f=m.isCollapsed,w=m.start.isEqual(u.start)||m.end.isEqual(u.end);if(f&&w)l.push([g.name,m]);else{const v=u.getIntersection(m);v&&l.push([g.name,v])}}return l.sort(([g,m],[f,w])=>{if("after"!==m.end.compareWith(w.start))return 1;if("before"!==m.start.compareWith(w.end))return-1;switch(m.start.compareWith(w.start)){case"before":return 1;case"after":return-1;default:switch(m.end.compareWith(w.end)){case"before":return 1;case"after":return-1;default:return f.localeCompare(g)}}}),new Map(l)}(t);return this.downcastDispatcher.convert(r,a,i,e),s}init(t){if(this.model.document.version)throw new S("datacontroller-init-document-not-empty",this);let e={};if("string"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new S("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},n=>{for(const i of Object.keys(e)){const r=this.model.document.getRoot(i);n.insert(this.parse(e[i],r),r,0)}}),Promise.resolve()}set(t,e={}){let n={};if("string"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new S("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},i=>{i.setSelection(null),i.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const r of Object.keys(n)){const s=this.model.document.getRoot(r);i.remove(i.createRangeIn(s)),i.insert(this.parse(n[r],s),s,0)}})}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change(n=>this.upcastDispatcher.convert(t,n,e))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRoot(e))return!1;return!0}}class A_{constructor(t,e){this._helpers=new Map,this._downcast=Ht(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Ht(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new S("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new S("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of Zu(t))this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of Zu(t))this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of Zu(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new S("conversion-group-exists",this);const i=n?new Uw(e):new Qw(e);this._helpers.set(t,i)}}function*Zu(o){if(o.model.values)for(const t of o.model.values){const e={key:o.model.key,value:t},n=o.view[t],i=o.upcastAlso?o.upcastAlso[t]:void 0;yield*$g(e,n,i)}else yield*$g(o.model,o.view,o.upcastAlso)}function*$g(o,t,e){if(yield{model:o,view:t},e)for(const n of Ht(e))yield{model:o,view:n}}class Te{constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function Ju(o,t){const e=Kg(t),n=e.reduce((s,a)=>s+a.offsetSize,0),i=o.parent;gs(o);const r=o.index;return i._insertChild(r,e),hs(i,r+e.length),hs(i,r),new L(o,o.getShiftedBy(n))}function Yg(o){if(!o.isFlat)throw new S("operation-utils-remove-range-not-flat",this);const t=o.start.parent;gs(o.start),gs(o.end);const e=t._removeChildren(o.start.index,o.end.index-o.start.index);return hs(t,o.start.index),e}function us(o,t){if(!o.isFlat)throw new S("operation-utils-move-range-not-flat",this);const e=Yg(o);return Ju(t=t._getTransformedByDeletion(o.start,o.end.offset-o.start.offset),e)}function Kg(o){const t=[];!function e(n){if("string"==typeof n)t.push(new yt(n));else if(n instanceof Fe)t.push(new yt(n.data,n.getAttributes()));else if(n instanceof So)t.push(n);else if(se(n))for(const i of n)e(i)}(o);for(let e=1;et.maxOffset)throw new S("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[r]n._clone(!0))),e=new Qt(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const e=new U(this.position.root.document.graveyard,[0]);return new pt(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsete._clone(!0))),Ju(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const r of t.nodes)n.push(r.name?bt.fromJSON(r):yt.fromJSON(r));const i=new Qt(U.fromJSON(t.position,e),n,t.baseVersion);return i.shouldReceiveAttributes=t.shouldReceiveAttributes,i}}class xt extends Te{constructor(t,e,n,i,r){super(r),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new U(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new L(this.splitPosition,t)}get affectedSelectable(){const t=[L._createFromPositionAndShift(this.splitPosition,0),L._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&t.push(L._createFromPositionAndShift(this.graveyardPosition,0)),t}clone(){return new xt(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=new U(this.splitPosition.root.document.graveyard,[0]);return new jt(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;if(!t||t.maxOffset{if(o.key===t.key&&o.range.start.hasSameParentAs(t.range.start)){const n=o.range.getDifference(t.range).map(r=>new Ut(r,o.key,o.oldValue,o.newValue,0)),i=o.range.getIntersection(t.range);return i&&e.aIsStrong&&n.push(new Ut(i,t.key,t.newValue,o.newValue,0)),0==n.length?[new qt(0)]:n}return[o]}),ut(Ut,Qt,(o,t)=>{if(o.range.start.hasSameParentAs(t.position)&&o.range.containsPosition(t.position)){const e=o.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map(n=>new Ut(n,o.key,o.oldValue,o.newValue,o.baseVersion));if(t.shouldReceiveAttributes){const n=ep(t,o.key,o.oldValue);n&&e.unshift(n)}return e}return o.range=o.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[o]}),ut(Ut,jt,(o,t)=>{const e=[];o.range.start.hasSameParentAs(t.deletionPosition)&&(o.range.containsPosition(t.deletionPosition)||o.range.start.isEqual(t.deletionPosition))&&e.push(L._createFromPositionAndShift(t.graveyardPosition,1));const n=o.range._getTransformedByMergeOperation(t);return n.isCollapsed||e.push(n),e.map(i=>new Ut(i,o.key,o.oldValue,o.newValue,o.baseVersion))}),ut(Ut,pt,(o,t)=>function(n,i){const r=L._createFromPositionAndShift(i.sourcePosition,i.howMany);let s=null,a=[];r.containsRange(n,!0)?s=n:n.start.hasSameParentAs(r.start)?(a=n.getDifference(r),s=n.getIntersection(r)):a=[n];const c=[];for(let l of a){l=l._getTransformedByDeletion(i.sourcePosition,i.howMany);const d=i.getMovedRangeStart(),u=l.start.hasSameParentAs(d),g=l._getTransformedByInsertion(d,i.howMany,u);c.push(...g)}return s&&c.push(s._getTransformedByMove(i.sourcePosition,i.targetPosition,i.howMany,!1)[0]),c}(o.range,t).map(n=>new Ut(n,o.key,o.oldValue,o.newValue,o.baseVersion))),ut(Ut,xt,(o,t)=>{if(o.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||o.range.end.offset++,[o];if(o.range.start.hasSameParentAs(t.splitPosition)&&o.range.containsPosition(t.splitPosition)){const e=o.clone();return e.range=new L(t.moveTargetPosition.clone(),o.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),o.range.end=t.splitPosition.clone(),o.range.end.stickiness="toPrevious",[o,e]}return o.range=o.range._getTransformedBySplitOperation(t),[o]}),ut(Qt,Ut,(o,t)=>{const e=[o];if(o.shouldReceiveAttributes&&o.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(o.position)){const n=ep(o,t.key,t.newValue);n&&e.push(n)}return e}),ut(Qt,Qt,(o,t,e)=>(o.position.isEqual(t.position)&&e.aIsStrong||(o.position=o.position._getTransformedByInsertOperation(t)),[o])),ut(Qt,pt,(o,t)=>(o.position=o.position._getTransformedByMoveOperation(t),[o])),ut(Qt,xt,(o,t)=>(o.position=o.position._getTransformedBySplitOperation(t),[o])),ut(Qt,jt,(o,t)=>(o.position=o.position._getTransformedByMergeOperation(t),[o])),ut(we,Qt,(o,t)=>(o.oldRange&&(o.oldRange=o.oldRange._getTransformedByInsertOperation(t)[0]),o.newRange&&(o.newRange=o.newRange._getTransformedByInsertOperation(t)[0]),[o])),ut(we,we,(o,t,e)=>{if(o.name==t.name){if(!e.aIsStrong)return[new qt(0)];o.oldRange=t.newRange?t.newRange.clone():null}return[o]}),ut(we,jt,(o,t)=>(o.oldRange&&(o.oldRange=o.oldRange._getTransformedByMergeOperation(t)),o.newRange&&(o.newRange=o.newRange._getTransformedByMergeOperation(t)),[o])),ut(we,pt,(o,t,e)=>{if(o.oldRange&&(o.oldRange=L._createFromRanges(o.oldRange._getTransformedByMoveOperation(t))),o.newRange){if(e.abRelation){const n=L._createFromRanges(o.newRange._getTransformedByMoveOperation(t));if("left"==e.abRelation.side&&t.targetPosition.isEqual(o.newRange.start))return o.newRange.end=n.end,o.newRange.start.path=e.abRelation.path,[o];if("right"==e.abRelation.side&&t.targetPosition.isEqual(o.newRange.end))return o.newRange.start=n.start,o.newRange.end.path=e.abRelation.path,[o]}o.newRange=L._createFromRanges(o.newRange._getTransformedByMoveOperation(t))}return[o]}),ut(we,xt,(o,t,e)=>{if(o.oldRange&&(o.oldRange=o.oldRange._getTransformedBySplitOperation(t)),o.newRange){if(e.abRelation){const n=o.newRange._getTransformedBySplitOperation(t);return o.newRange.start.isEqual(t.splitPosition)&&e.abRelation.wasStartBeforeMergedElement?o.newRange.start=U._createAt(t.insertionPosition):o.newRange.start.isEqual(t.splitPosition)&&!e.abRelation.wasInLeftElement&&(o.newRange.start=U._createAt(t.moveTargetPosition)),o.newRange.end=o.newRange.end.isEqual(t.splitPosition)&&e.abRelation.wasInRightElement?U._createAt(t.moveTargetPosition):o.newRange.end.isEqual(t.splitPosition)&&e.abRelation.wasEndBeforeMergedElement?U._createAt(t.insertionPosition):n.end,[o]}o.newRange=o.newRange._getTransformedBySplitOperation(t)}return[o]}),ut(jt,Qt,(o,t)=>(o.sourcePosition.hasSameParentAs(t.position)&&(o.howMany+=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByInsertOperation(t),o.targetPosition=o.targetPosition._getTransformedByInsertOperation(t),[o])),ut(jt,jt,(o,t,e)=>{if(o.sourcePosition.isEqual(t.sourcePosition)&&o.targetPosition.isEqual(t.targetPosition)){if(e.bWasUndone){const n=t.graveyardPosition.path.slice();return n.push(0),o.sourcePosition=new U(t.graveyardPosition.root,n),o.howMany=0,[o]}return[new qt(0)]}if(o.sourcePosition.isEqual(t.sourcePosition)&&!o.targetPosition.isEqual(t.targetPosition)&&!e.bWasUndone&&"splitAtSource"!=e.abRelation){const n="$graveyard"==o.targetPosition.root.rootName,i="$graveyard"==t.targetPosition.root.rootName;if(i&&!n||(!n||i)&&e.aIsStrong){const r=t.targetPosition._getTransformedByMergeOperation(t),s=o.targetPosition._getTransformedByMergeOperation(t);return[new pt(r,o.howMany,s,0)]}return[new qt(0)]}return o.sourcePosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByMergeOperation(t),o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),o.graveyardPosition.isEqual(t.graveyardPosition)&&e.aIsStrong||(o.graveyardPosition=o.graveyardPosition._getTransformedByMergeOperation(t)),[o]}),ut(jt,pt,(o,t,e)=>{const n=L._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!e.bWasUndone&&!e.forceWeakRemove&&o.deletionPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(o.sourcePosition)?[new qt(0)]:(o.sourcePosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.sourcePosition.hasSameParentAs(t.sourcePosition)&&(o.howMany-=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByMoveOperation(t),o.targetPosition=o.targetPosition._getTransformedByMoveOperation(t),o.graveyardPosition.isEqual(t.targetPosition)||(o.graveyardPosition=o.graveyardPosition._getTransformedByMoveOperation(t)),[o])}),ut(jt,xt,(o,t,e)=>{if(t.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),o.deletionPosition.isEqual(t.graveyardPosition)&&(o.howMany=t.howMany)),o.targetPosition.isEqual(t.splitPosition)){const n=0!=t.howMany,i=t.graveyardPosition&&o.deletionPosition.isEqual(t.graveyardPosition);if(n||i||"mergeTargetNotMoved"==e.abRelation)return o.sourcePosition=o.sourcePosition._getTransformedBySplitOperation(t),[o]}if(o.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==e.abRelation)return o.howMany=0,o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o];if("mergeSameElement"==e.abRelation||o.sourcePosition.offset>0)return o.sourcePosition=t.moveTargetPosition.clone(),o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o]}return o.sourcePosition.hasSameParentAs(t.splitPosition)&&(o.howMany=t.splitPosition.offset),o.sourcePosition=o.sourcePosition._getTransformedBySplitOperation(t),o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o]}),ut(pt,Qt,(o,t)=>{const e=L._createFromPositionAndShift(o.sourcePosition,o.howMany)._getTransformedByInsertOperation(t,!1)[0];return o.sourcePosition=e.start,o.howMany=e.end.offset-e.start.offset,o.targetPosition.isEqual(t.position)||(o.targetPosition=o.targetPosition._getTransformedByInsertOperation(t)),[o]}),ut(pt,pt,(o,t,e)=>{const n=L._createFromPositionAndShift(o.sourcePosition,o.howMany),i=L._createFromPositionAndShift(t.sourcePosition,t.howMany);let r,s=e.aIsStrong,a=!e.aIsStrong;if("insertBefore"==e.abRelation||"insertAfter"==e.baRelation?a=!0:"insertAfter"!=e.abRelation&&"insertBefore"!=e.baRelation||(a=!1),r=o.targetPosition.isEqual(t.targetPosition)&&a?o.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):o.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),np(o,t)&&np(t,o))return[t.getReversed()];if(n.containsPosition(t.targetPosition)&&n.containsRange(i,!0))return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Ei([n],r);if(i.containsPosition(o.targetPosition)&&i.containsRange(n,!0))return n.start=n.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),n.end=n.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),Ei([n],r);const c=Zt(o.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Ei([n],r);"remove"!=o.type||"remove"==t.type||e.aWasUndone||e.forceWeakRemove?"remove"==o.type||"remove"!=t.type||e.bWasUndone||e.forceWeakRemove||(s=!1):s=!0;const l=[],d=n.getDifference(i);for(const g of d){g.start=g.start._getTransformedByDeletion(t.sourcePosition,t.howMany),g.end=g.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const m="same"==Zt(g.start.getParentPath(),t.getMovedRangeStart().getParentPath()),f=g._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,m);l.push(...f)}const u=n.getIntersection(i);return null!==u&&s&&(u.start=u.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),u.end=u.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===l.length?l.push(u):1==l.length?i.start.isBefore(n.start)||i.start.isEqual(n.start)?l.unshift(u):l.push(u):l.splice(1,0,u)),0===l.length?[new qt(o.baseVersion)]:Ei(l,r)}),ut(pt,xt,(o,t,e)=>{let n=o.targetPosition.clone();o.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=e.abRelation||(n=o.targetPosition._getTransformedBySplitOperation(t));const i=L._createFromPositionAndShift(o.sourcePosition,o.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||o.howMany++,o.targetPosition=n,[o];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let s=new L(t.splitPosition,i.end);return s=s._getTransformedBySplitOperation(t),Ei([new L(i.start,t.splitPosition),s],n)}o.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==e.abRelation&&(n=t.moveTargetPosition),o.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==e.abRelation&&(n=o.targetPosition);const r=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const s=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);o.howMany>1&&s&&!e.aWasUndone&&r.push(L._createFromPositionAndShift(t.insertionPosition,1))}return Ei(r,n)}),ut(pt,jt,(o,t,e)=>{const n=L._createFromPositionAndShift(o.sourcePosition,o.howMany);if(t.deletionPosition.hasSameParentAs(o.sourcePosition)&&n.containsPosition(t.sourcePosition))if("remove"!=o.type||e.forceWeakRemove){if(1==o.howMany)return e.bWasUndone?(o.sourcePosition=t.graveyardPosition.clone(),o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),[o]):[new qt(0)]}else if(!e.aWasUndone){const r=[];let s=t.graveyardPosition.clone(),a=t.targetPosition._getTransformedByMergeOperation(t);o.howMany>1&&(r.push(new pt(o.sourcePosition,o.howMany-1,o.targetPosition,0)),s=s._getTransformedByMove(o.sourcePosition,o.targetPosition,o.howMany-1),a=a._getTransformedByMove(o.sourcePosition,o.targetPosition,o.howMany-1));const c=t.deletionPosition._getCombined(o.sourcePosition,o.targetPosition),l=new pt(s,1,c,0),d=l.getMovedRangeStart().path.slice();d.push(0);const u=new U(l.targetPosition.root,d);a=a._getTransformedByMove(s,c,1);const g=new pt(a,t.howMany,u,0);return r.push(l),r.push(g),r}const i=L._createFromPositionAndShift(o.sourcePosition,o.howMany)._getTransformedByMergeOperation(t);return o.sourcePosition=i.start,o.howMany=i.end.offset-i.start.offset,o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),[o]}),ut(_e,Qt,(o,t)=>(o.position=o.position._getTransformedByInsertOperation(t),[o])),ut(_e,jt,(o,t)=>o.position.isEqual(t.deletionPosition)?(o.position=t.graveyardPosition.clone(),o.position.stickiness="toNext",[o]):(o.position=o.position._getTransformedByMergeOperation(t),[o])),ut(_e,pt,(o,t)=>(o.position=o.position._getTransformedByMoveOperation(t),[o])),ut(_e,_e,(o,t,e)=>{if(o.position.isEqual(t.position)){if(!e.aIsStrong)return[new qt(0)];o.oldName=t.newName}return[o]}),ut(_e,xt,(o,t)=>{if("same"==Zt(o.position.path,t.splitPosition.getParentPath())&&!t.graveyardPosition){const e=new _e(o.position.getShiftedBy(1),o.oldName,o.newName,0);return[o,e]}return o.position=o.position._getTransformedBySplitOperation(t),[o]}),ut(Tn,Tn,(o,t,e)=>{if(o.root===t.root&&o.key===t.key){if(!e.aIsStrong||o.newValue===t.newValue)return[new qt(0)];o.oldValue=t.newValue}return[o]}),ut(sn,sn,(o,t)=>o.rootName===t.rootName&&o.isAdd===t.isAdd?[new qt(0)]:[o]),ut(xt,Qt,(o,t)=>(o.splitPosition.hasSameParentAs(t.position)&&o.splitPosition.offset{if(!o.graveyardPosition&&!e.bWasUndone&&o.splitPosition.hasSameParentAs(t.sourcePosition)){const n=t.graveyardPosition.path.slice();n.push(0);const i=new U(t.graveyardPosition.root,n),r=xt.getInsertionPosition(new U(t.graveyardPosition.root,n)),s=new xt(i,0,r,null,0);return o.splitPosition=o.splitPosition._getTransformedByMergeOperation(t),o.insertionPosition=xt.getInsertionPosition(o.splitPosition),o.graveyardPosition=s.insertionPosition.clone(),o.graveyardPosition.stickiness="toNext",[s,o]}return o.splitPosition.hasSameParentAs(t.deletionPosition)&&!o.splitPosition.isAfter(t.deletionPosition)&&o.howMany--,o.splitPosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.splitPosition=o.splitPosition._getTransformedByMergeOperation(t),o.insertionPosition=xt.getInsertionPosition(o.splitPosition),o.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedByMergeOperation(t)),[o]}),ut(xt,pt,(o,t,e)=>{const n=L._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.graveyardPosition){const r=n.start.isEqual(o.graveyardPosition)||n.containsPosition(o.graveyardPosition);if(!e.bWasUndone&&r){const s=o.splitPosition._getTransformedByMoveOperation(t),a=o.graveyardPosition._getTransformedByMoveOperation(t),c=a.path.slice();c.push(0);const l=new U(a.root,c);return[new pt(s,o.howMany,l,0)]}o.graveyardPosition=o.graveyardPosition._getTransformedByMoveOperation(t)}const i=o.splitPosition.isEqual(t.targetPosition);if(i&&("insertAtSource"==e.baRelation||"splitBefore"==e.abRelation))return o.howMany+=t.howMany,o.splitPosition=o.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),o.insertionPosition=xt.getInsertionPosition(o.splitPosition),[o];if(i&&e.abRelation&&e.abRelation.howMany){const{howMany:r,offset:s}=e.abRelation;return o.howMany+=r,o.splitPosition=o.splitPosition.getShiftedBy(s),[o]}return o.splitPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(o.splitPosition)?(o.howMany-=t.howMany-(o.splitPosition.offset-t.sourcePosition.offset),o.splitPosition.hasSameParentAs(t.targetPosition)&&o.splitPosition.offset{if(o.splitPosition.isEqual(t.splitPosition)){if(!o.graveyardPosition&&!t.graveyardPosition)return[new qt(0)];if(o.graveyardPosition&&t.graveyardPosition&&o.graveyardPosition.isEqual(t.graveyardPosition))return[new qt(0)];if("splitBefore"==e.abRelation)return o.howMany=0,o.graveyardPosition=o.graveyardPosition._getTransformedBySplitOperation(t),[o]}if(o.graveyardPosition&&t.graveyardPosition&&o.graveyardPosition.isEqual(t.graveyardPosition)){const n="$graveyard"==o.splitPosition.root.rootName,i="$graveyard"==t.splitPosition.root.rootName;if(i&&!n||(!n||i)&&e.aIsStrong){const r=[];return t.howMany&&r.push(new pt(t.moveTargetPosition,t.howMany,t.splitPosition,0)),o.howMany&&r.push(new pt(o.splitPosition,o.howMany,o.moveTargetPosition,0)),r}return[new qt(0)]}if(o.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedBySplitOperation(t)),o.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==e.abRelation)return o.howMany++,[o];if(t.splitPosition.isEqual(o.insertionPosition)&&"splitBefore"==e.baRelation){const n=t.insertionPosition.path.slice();n.push(0);const i=new U(t.insertionPosition.root,n);return[o,new pt(o.insertionPosition,1,i,0)]}return o.splitPosition.hasSameParentAs(t.splitPosition)&&o.splitPosition.offset{const e=t[0];e.isDocumentOperation&&D_.call(this,e)},{priority:"low"})}function D_(o){const t=this.getTransformedByOperation(o);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}Xt.prototype.is=function(o){return"livePosition"===o||"model:livePosition"===o||"position"==o||"model:position"===o};class Di{constructor(t={}){"string"==typeof t&&(t="transparent"===t?{isUndoable:!1}:{},Q("batch-constructor-deprecated-string-type"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:i=!1,isTyping:r=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=i,this.isTyping=r}get type(){return Q("batch-type-deprecated"),"default"}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}var S_=Object.defineProperty,T_=Object.defineProperties,I_=Object.getOwnPropertyDescriptors,op=Object.getOwnPropertySymbols,M_=Object.prototype.hasOwnProperty,B_=Object.prototype.propertyIsEnumerable,ip=(o,t,e)=>t in o?S_(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,rp=(o,t)=>{for(var e in t||(t={}))M_.call(t,e)&&ip(o,e,t[e]);if(op)for(var e of op(t))B_.call(t,e)&&ip(o,e,t[e]);return o};class N_{constructor(t){this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changedRoots=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set,this._markerCollection=t}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size&&0==this._changedRoots.size}bufferOperation(t){const e=t;switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const n of e.range.getItems({shallow:!0}))this._isInInsertedElement(n.parent)||this._markAttribute(n);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const n=this._isInInsertedElement(e.sourcePosition.parent),i=this._isInInsertedElement(e.targetPosition.parent);n||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),i||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const n=L._createFromPositionAndShift(e.position,1);for(const i of this._markerCollection.getMarkersIntersectingRange(n)){const r=i.getData();this.bufferMarkerChange(i.name,r,r)}break}case"split":{const n=e.splitPosition.parent;this._isInInsertedElement(n)||this._markRemove(n,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const n=e.sourcePosition.parent;this._isInInsertedElement(n.parent)||this._markRemove(n.parent,n.startOffset,1),this._markInsert(e.graveyardPosition.parent,e.graveyardPosition.offset,1);const r=e.targetPosition.parent;this._isInInsertedElement(r)||this._markInsert(r,e.targetPosition.offset,n.maxOffset);break}case"detachRoot":case"addRoot":{const n=e.affectedSelectable;if(!n._isLoaded||n.isAttached()==e.isAdd)return;this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":if(!e.root._isLoaded)return;this._bufferRootAttributeChange(e.root.rootName,e.key,e.oldValue,e.newValue)}this._cachedChanges=null}bufferMarkerChange(t,e,n){e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded&&(e.range=null),n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded&&(n.range=null);let i=this._changedMarkers.get(t);i?i.newMarkerData=n:(i={newMarkerData:n,oldMarkerData:e},this._changedMarkers.set(t,i)),null==i.oldMarkerData.range&&null==n.range&&this._changedMarkers.delete(t)}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldMarkerData.range&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newMarkerData.range&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map(([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}}))}hasDataChanges(){if(this._changesInElement.size>0||this._changedRoots.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,i=!t.range&&e.range,r=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||r)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const n of this._changesInElement.keys()){const i=this._changesInElement.get(n).sort((d,u)=>d.offset===u.offset?d.type!=u.type?"remove"==d.type?-1:1:0:d.offsetn.position.root!=i.position.root?n.position.root.rootNamen);for(const n of e)delete n.changeCount,"attribute"==n.type&&(delete n.position,delete n.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(O_),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map(t=>{const e=rp({},t);return void 0!==e.state&&delete e.attributes,e})}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t))return void this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});const n=this._changedRoots.get(t);void 0!==n.state?(delete n.state,void 0===n.attributes&&this._changedRoots.delete(t)):n.state=e?"attached":"detached"}_bufferRootAttributeChange(t,e,n,i){const r=this._changedRoots.get(t)||{name:t},s=r.attributes||{};if(s[e]){const a=s[e];i===a.oldValue?delete s[e]:a.newValue=i}else s[e]={oldValue:n,newValue:i};0===Object.entries(s).length?(delete r.attributes,void 0===r.state&&this._changedRoots.delete(t)):(r.attributes=s,this._changedRoots.set(t,r))}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t);const e=L._createOn(t);for(const n of this._markerCollection.getMarkersIntersectingRange(e)){const i=n.getData();this.bufferMarkerChange(n.name,i,i)}this._cachedChanges=null}_bufferRootLoad(t){if(t.isAttached()){this._bufferRootStateChange(t.rootName,!0),this._markInsert(t,0,t.maxOffset);for(const n of t.getAttributeKeys())this._bufferRootAttributeChange(t.rootName,n,null,t.getAttribute(n));for(const n of this._markerCollection)if(n.getRange().root==t){const i=n.getData();this.bufferMarkerChange(n.name,(e=rp({},i),T_(e,I_({range:null}))),i)}var e}}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let i=0;in.offset){if(i>r){const s={type:"attribute",offset:r,howMany:i-r,count:this._changeCount++};this._handleChange(s,e),e.push(s)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offsetr?(t.nodesToHandle=i-r,t.offset=r):t.nodesToHandle=0);if("remove"==n.type&&t.offsetn.offset){const s={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(s,e),e.push(s),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}"attribute"==n.type&&(t.offset>=n.offset&&i<=r?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&i>=r&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:U._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:U._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[r,s]of e){const a=n.has(r)?n.get(r):null;a!==s&&i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:s,attributeNewValue:a,changeCount:this._changeCount++}),n.delete(r)}for(const[r,s]of n)i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:null,attributeNewValue:s,changeCount:this._changeCount++});return i}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),i=t.startOffset;if(n)for(const r of n)if("insert"==r.type&&i>=r.offset&&in){for(let s=0;sthis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new S("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];void 0===t&&(t=n.baseVersion);let i=e-1;for(const[a,c]of this._gaps)t>a&&ta&&ithis.lastOperation.baseVersion)return[];let r=this._baseVersionToOperationIndex.get(t);void 0===r&&(r=0);let s=this._baseVersionToOperationIndex.get(i);return void 0===s&&(s=this._operations.length-1),this._operations.slice(r,s+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(void 0!==e)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class Wc extends bt{constructor(t,e,n="main"){super(e),this._isAttached=!0,this._isLoaded=!0,this._document=t,this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}Wc.prototype.is=function(o,t){return t?t===this.name&&("rootElement"===o||"model:rootElement"===o||"element"===o||"model:element"===o):"rootElement"===o||"model:rootElement"===o||"element"===o||"model:element"===o||"node"===o||"model:node"===o};var L_=Object.defineProperty,j_=Object.defineProperties,R_=Object.getOwnPropertyDescriptors,ap=Object.getOwnPropertySymbols,F_=Object.prototype.hasOwnProperty,V_=Object.prototype.propertyIsEnumerable,cp=(o,t,e)=>t in o?L_(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,lp=(o,t)=>{for(var e in t||(t={}))F_.call(t,e)&&cp(o,e,t[e]);if(ap)for(var e of ap(t))V_.call(t,e)&&cp(o,e,t[e]);return o},dp=(o,t)=>j_(o,R_(t));const up="$graveyard";class U_ extends(mt()){constructor(t){super(),this.model=t,this.history=new z_,this.selection=new Ue(this),this.roots=new ge({idProperty:"rootName"}),this.differ=new N_(t.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",up),this.listenTo(t,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&this.differ.bufferOperation(i)},{priority:"high"}),this.listenTo(t,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&this.history.addOperation(i)},{priority:"low"}),this.listenTo(this.selection,"change",()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0}),this.listenTo(t.markers,"update",(e,n,i,r,s)=>{const a=dp(lp({},n.getData()),{range:r});this.differ.bufferMarkerChange(n.name,s,a),null===i&&n.on("change",(c,l)=>{const d=n.getData();this.differ.bufferMarkerChange(n.name,dp(lp({},d),{range:l}),d)})}),this.registerPostFixer(e=>{let n=!1;for(const i of this.roots)i.isAttached()||i.isEmpty||(e.remove(e.createRangeIn(i)),n=!0);for(const i of this.model.markers)i.getRange().root.isAttached()||(e.removeMarker(i),n=!0);return n})}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(up)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new S("model-document-createroot-name-exists",this,{name:e});const n=new Wc(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=!1){return this.getRoots(t).map(e=>e.rootName)}getRoots(t=!1){return Array.from(this.roots).filter(e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=oc(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,i=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(i)||e.createRange(i)}_validateSelectionRange(t){return hp(t.start)&&hp(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function hp(o){const t=o.textNode;if(t){const e=t.data,n=o.offset-t.startOffset;return!Ar(e,n)&&!Cr(e,n)}return!0}var H_=Object.defineProperty,G_=Object.defineProperties,q_=Object.getOwnPropertyDescriptors,gp=Object.getOwnPropertySymbols,W_=Object.prototype.hasOwnProperty,$_=Object.prototype.propertyIsEnumerable,pp=(o,t,e)=>t in o?H_(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;class Y_ extends(mt()){constructor(){super(...arguments),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t instanceof Si?t.name:t)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,i=!1){const r=t instanceof Si?t.name:t;if(r.includes(","))throw new S("markercollection-incorrect-marker-name",this);const s=this._markers.get(r);if(s){const d=s.getData(),u=s.getRange();let g=!1;return u.isEqual(e)||(s._attachLiveRange(Ve.fromRange(e)),g=!0),n!=s.managedUsingOperations&&(s._managedUsingOperations=n,g=!0),"boolean"==typeof i&&i!=s.affectsData&&(s._affectsData=i,g=!0),g&&this.fire(`update:${r}`,s,u,e,d),s}const a=Ve.fromRange(e),c=new Si(r,a,n,i);var l;return this._markers.set(r,c),this.fire(`update:${r}`,c,null,e,(l=((d,u)=>{for(var g in u||(u={}))W_.call(u,g)&&pp(d,g,u[g]);if(gp)for(var g of gp(u))$_.call(u,g)&&pp(d,g,u[g]);return d})({},c.getData()),G_(l,q_({range:null})))),c}_remove(t){const e=t instanceof Si?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof Si?t.name:t,n=this._markers.get(e);if(!n)throw new S("markercollection-refresh-marker-not-exists",this);const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class Si extends(mt(to)){constructor(t,e,n,i){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new S("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Si.prototype.is=function(o){return"marker"===o||"model:marker"===o};class K_ extends Te{constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new S("detach-operation-on-document-node",this)}_execute(){Yg(L._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class In extends to{constructor(t){super(),this.markers=new Map,this._children=new ss,t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)e.push(n.name?bt.fromJSON(n):yt.fromJSON(n));return new In(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n="string"==typeof(i=e)?[new yt(i)]:(se(i)||(i=[i]),Array.from(i).map(r=>"string"==typeof r?new yt(r):r instanceof Fe?new yt(r.data,r.getAttributes()):r));var i;for(const i of n)null!==i.parent&&i._remove(),i.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const i of n)i.parent=null;return n}}In.prototype.is=function(o){return"documentFragment"===o||"model:documentFragment"===o};class Q_{constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new yt(t,e)}createElement(t,e){return new bt(t,e)}createDocumentFragment(){return new In}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof yt&&""==t.data)return;const i=U._createAt(e,n);if(t.parent){if(kp(t.root,i.root))return void this.move(L._createOn(t),i);if(t.root.document)throw new S("model-writer-insert-forbidden-move",this);this.remove(t)}const s=new Qt(i,t,i.root.document?i.root.document.version:null);if(t instanceof yt&&(s.shouldReceiveAttributes=!0),this.batch.addOperation(s),this.model.applyOperation(s),t instanceof In)for(const[a,c]of t.markers){const l=U._createAt(c.root,0),d={range:new L(c.start._getCombined(l,i),c.end._getCombined(l,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(a)?this.updateMarker(a,d):this.addMarker(a,d)}}insertText(t,e,n,i){e instanceof In||e instanceof bt||e instanceof U?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,i)}insertElement(t,e,n,i){e instanceof In||e instanceof bt||e instanceof U?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,i)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof In||e instanceof bt?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof In||e instanceof bt?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof L){const i=n.getMinimalFlatRanges();for(const r of i)mp(this,t,e,r)}else fp(this,t,e,n)}setAttributes(t,e){for(const[n,i]of pe(t))this.setAttribute(n,i,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof L){const n=e.getMinimalFlatRanges();for(const i of n)mp(this,t,null,i)}else fp(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=n=>{for(const i of n.getAttributeKeys())this.removeAttribute(i,n)};if(t instanceof L)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof L))throw new S("writer-move-invalid-range",this);if(!t.isFlat)throw new S("writer-move-range-not-flat",this);const i=U._createAt(e,n);if(i.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!kp(t.root,i.root))throw new S("writer-move-different-document",this);const s=new pt(t.start,t.end.offset-t.start.offset,i,t.root.document?t.root.document.version:null);this.batch.addOperation(s),this.model.applyOperation(s)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof L?t:L._createOn(t)).getMinimalFlatRanges().reverse();for(const n of e)this._addOperationForAffectedMarkers("move",n),Z_(n.start,n.end.offset-n.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof bt))throw new S("writer-merge-no-element-before",this);if(!(n instanceof bt))throw new S("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(L._createIn(n),U._createAt(e,"end")),this.remove(n)}_merge(t){const e=U._createAt(t.nodeBefore,"end"),n=U._createAt(t.nodeAfter,0),r=new U(t.root.document.graveyard,[0]),a=new jt(n,t.nodeAfter.maxOffset,e,r,t.root.document.version);this.batch.addOperation(a),this.model.applyOperation(a)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof bt))throw new S("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,i=new _e(U._createBefore(t),t.name,e,n);this.batch.addOperation(i),this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n,i,r=t.parent;if(!r.parent)throw new S("writer-split-element-no-parent",this);if(e||(e=r.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new S("writer-split-invalid-limit-element",this);do{const s=r.root.document?r.root.document.version:null,a=r.maxOffset-t.offset,c=xt.getInsertionPosition(t),l=new xt(t,a,c,null,s);this.batch.addOperation(l),this.model.applyOperation(l),n||i||(n=r,i=t.parent.nextSibling),r=(t=this.createPositionAfter(t.parent)).parent}while(r!==e);return{position:t,range:new L(U._createAt(n,"end"),U._createAt(i,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new S("writer-wrap-range-not-flat",this);const n=e instanceof bt?e:new bt(e);if(n.childCount>0)throw new S("writer-wrap-element-not-empty",this);if(null!==n.parent)throw new S("writer-wrap-element-attached",this);this.insert(n,t.start);const i=new L(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,U._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new S("writer-unwrap-element-no-parent",this);this.move(L._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||"boolean"!=typeof e.usingOperation)throw new S("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,i=e.range,r=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new S("writer-addmarker-marker-exists",this);if(!i)throw new S("writer-addmarker-no-range",this);return n?(ps(this,t,null,i,r),this.model.markers.get(t)):this.model.markers._set(t,i,n,r)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n="string"==typeof t?t:t.name,i=this.model.markers.get(n);if(!i)throw new S("writer-updatemarker-marker-not-exists",this);if(!e)return Q("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n}),void this.model.markers._refresh(i);const r="boolean"==typeof e.usingOperation,s="boolean"==typeof e.affectsData,a=s?e.affectsData:i.affectsData;if(!r&&!e.range&&!s)throw new S("writer-updatemarker-wrong-options",this);const c=i.getRange(),l=e.range?e.range:c;r&&e.usingOperation!==i.managedUsingOperations?e.usingOperation?ps(this,n,null,l,a):(ps(this,n,c,null,a),this.model.markers._set(n,l,void 0,a)):i.managedUsingOperations?ps(this,n,c,l,a):this.model.markers._set(n,l,void 0,a)}removeMarker(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new S("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);n.managedUsingOperations?ps(this,e,n.getRange(),null,n.affectsData):this.model.markers._remove(e)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached())throw new S("writer-addroot-root-exists",this);const i=this.model.document,r=new sn(t,e,!0,i,i.version);return this.batch.addOperation(r),this.model.applyOperation(r),this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?this.model.document.getRoot(t):t;if(!e||!e.isAttached())throw new S("writer-detachroot-no-root",this);for(const r of this.model.markers)r.getRange().root===e&&this.removeMarker(r);for(const r of e.getAttributeKeys())this.removeAttribute(r,e);this.remove(this.createRangeIn(e));const n=this.model.document,i=new sn(e.rootName,e.name,!1,n,n.version);this.batch.addOperation(i),this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._setSelectionAttribute(t,e);else for(const[n,i]of pe(t))this._setSelectionAttribute(n,i)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=Ue._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=Ue._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new S("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const i=n.getRange();let r=!1;if("move"===t){const s=e;r=s.containsPosition(i.start)||s.start.isEqual(i.start)||s.containsPosition(i.end)||s.end.isEqual(i.end)}else{const c=e.nodeAfter;r=i.start.parent==e.nodeBefore&&i.start.isAtEnd||i.end.parent==c&&0==i.end.offset||i.end.nodeAfter==c||i.start.nodeAfter==c}r&&this.updateMarker(n.name,{range:i})}}}function mp(o,t,e,n){const i=o.model,r=i.document;let s,a,c,l=n.start;for(const u of n.getWalker({shallow:!0}))c=u.item.getAttribute(t),s&&a!=c&&(a!=e&&d(),l=s),s=u.nextPosition,a=c;function d(){const u=new L(l,s),m=new Ut(u,t,a,e,u.root.document?r.version:null);o.batch.addOperation(m),i.applyOperation(m)}s instanceof U&&s!=l&&a!=e&&d()}function fp(o,t,e,n){const i=o.model,r=i.document,s=n.getAttribute(t);let a,c;s!=e&&(n.root===n?c=new Tn(n,t,s,e,n.document?r.version:null):(a=new L(U._createBefore(n),o.createPositionAfter(n)),c=new Ut(a,t,s,e,a.root.document?r.version:null)),o.batch.addOperation(c),i.applyOperation(c))}function ps(o,t,e,n,i){const r=o.model,a=new we(t,e,n,r.markers,!!i,r.document.version);o.batch.addOperation(a),r.applyOperation(a)}function Z_(o,t,e,n){let i;if(o.root.document){const r=n.document,s=new U(r.graveyard,[0]);i=new pt(o,t,s,r.version)}else i=new K_(o,t);e.addOperation(i),n.applyOperation(i)}function kp(o,t){return o===t||o instanceof Wc&&t instanceof Wc}function J_(o,t,e={}){if(t.isCollapsed)return;const n=t.getFirstRange();if("$graveyard"==n.root.rootName)return;const i=o.schema;o.change(r=>{if(!e.doNotResetEntireContent&&function(l,d){const u=l.getLimitElement(d);if(!d.containsEntireContent(u))return!1;const g=d.getFirstRange();return g.start.parent!=g.end.parent&&l.checkChild(u,"paragraph")}(i,t))return void function(l,d){const u=l.model.schema.getLimitElement(d);l.remove(l.createRangeIn(u)),_p(l,l.createPositionAt(u,0),d)}(r,t);const s={};if(!e.doNotAutoparagraph){const l=t.getSelectedElement();l&&Object.assign(s,i.getAttributesWithProperty(l,"copyOnReplace",!0))}const[a,c]=function(l){const d=l.root.document.model,u=l.start;let g=l.end;if(d.hasContent(l,{ignoreMarkers:!0})){const m=function(f){const w=f.parent,v=w.root.document.model.schema,D=w.getAncestors({parentFirst:!0,includeSelf:!0});for(const M of D){if(v.isLimit(M))return null;if(v.isBlock(M))return M}}(g);if(m&&g.isTouching(d.createPositionAt(m,0))){const f=d.createSelection(l);d.modifySelection(f,{direction:"backward"});const w=f.getLastPosition(),v=d.createRange(w,g);d.hasContent(v,{ignoreMarkers:!0})||(g=w)}}return[Xt.fromPosition(u,"toPrevious"),Xt.fromPosition(g,"toNext")]}(n);a.isTouching(c)||r.remove(r.createRange(a,c)),e.leaveUnmerged||(function(l,d,u){const g=l.model;if(!th(l.model.schema,d,u))return;const[m,f]=function(w,v){const D=w.getAncestors(),M=v.getAncestors();let R=0;for(;D[R]&&D[R]==M[R];)R++;return[D[R],M[R]]}(d,u);!m||!f||(!g.hasContent(m,{ignoreMarkers:!0})&&g.hasContent(f,{ignoreMarkers:!0})?wp(l,d,u,m.parent):bp(l,d,u,m.parent))}(r,a,c),i.removeDisallowedAttributes(a.parent.getChildren(),r)),Ap(r,t,a),!e.doNotAutoparagraph&&function(l,d){const u=l.checkChild(d,"$text"),g=l.checkChild(d,"paragraph");return!u&&g}(i,a)&&_p(r,a,t,s),a.detach(),c.detach()})}function bp(o,t,e,n){const i=t.parent,r=e.parent;if(i!=n&&r!=n){for(t=o.createPositionAfter(i),(e=o.createPositionBefore(r)).isEqual(t)||o.insert(r,t),o.merge(t);e.parent.isEmpty;){const s=e.parent;e=o.createPositionBefore(s),o.remove(s)}th(o.model.schema,t,e)&&bp(o,t,e,n)}}function wp(o,t,e,n){const i=t.parent,r=e.parent;if(i!=n&&r!=n){for(t=o.createPositionAfter(i),(e=o.createPositionBefore(r)).isEqual(t)||o.insert(i,e);t.parent.isEmpty;){const s=t.parent;t=o.createPositionBefore(s),o.remove(s)}e=o.createPositionBefore(r),function(s,a){const c=a.nodeBefore,l=a.nodeAfter;c.name!=l.name&&s.rename(c,l.name),s.clearAttributes(c),s.setAttributes(Object.fromEntries(l.getAttributes()),c),s.merge(a)}(o,e),th(o.model.schema,t,e)&&wp(o,t,e,n)}}function th(o,t,e){const n=t.parent,i=e.parent;return n!=i&&!o.isLimit(n)&&!o.isLimit(i)&&function(r,s,a){const c=new L(r,s);for(const l of c.getWalker())if(a.isLimit(l.item))return!1;return!0}(t,e,o)}function _p(o,t,e,n={}){const i=o.createElement("paragraph");o.model.schema.setAllowedAttributes(i,n,o),o.insert(i,t),Ap(o,e,o.createPositionAt(i,0))}function Ap(o,t,e){t instanceof Ue?o.setSelection(e):t.setTo(e)}function Cp(o,t){const e=[];Array.from(o.getItems({direction:"backward"})).map(n=>t.createRangeOn(n)).filter(n=>(n.start.isAfter(o.start)||n.start.isEqual(o.start))&&(n.end.isBefore(o.end)||n.end.isEqual(o.end))).forEach(n=>{e.push(n.start.parent),t.remove(n)}),e.forEach(n=>{let i=n;for(;i.parent&&i.isEmpty;){const r=t.createRangeOn(i);i=i.parent,t.remove(r)}})}class X_{constructor(t,e,n){this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null,this._nodeToSelect=null,this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new S("insertcontent-invalid-insertion-position",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?L._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new L(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){if(this.schema.isObject(t))return void this._handleObject(t);let e=this._checkAndAutoParagraphToAllowedPosition(t);e||(e=this._checkAndSplitToAllowedPosition(t),e)?(this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t):this._handleDisallowedNode(t)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=Xt.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleObject(t){this._checkAndSplitToAllowedPosition(t)?this._appendToFragment(t):this._tryAutoparagraphing(t)}_handleDisallowedNode(t){t.is("element")?this.handleNodes(t.getChildren()):this._tryAutoparagraphing(t)}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new S("insertcontent-wrong-position",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this._nodeToSelect=this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")?t:null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=Xt.fromPosition(t,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(t)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Xt.fromPosition(t,"toNext"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof bt&&this._canMergeLeft(t)))return;const e=Xt._createBefore(t);e.stickiness="toNext";const n=Xt.fromPosition(this.position,"toNext");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=Xt._createAt(e.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Xt._createAt(e.nodeBefore,"end","toNext")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof bt&&this._canMergeRight(t)))return;const e=Xt._createAfter(t);if(e.stickiness="toNext",!this.position.isEqual(e))throw new S("insertcontent-invalid-insertion-position",this);this.position=U._createAt(e.nodeBefore,"end");const n=Xt.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=Xt._createAt(e.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Xt._createAt(e.nodeBefore,0,"toPrevious")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof bt&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof bt&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)&&(e._appendChild(t),this._handleNode(e))}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t))return!1;this._insertPartialFragment();const e=this.writer.createElement("paragraph");return this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0),!0}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const n=this.position.parent;this.position=this.writer.createPositionBefore(n),n.isEmpty&&n.parent===e&&this.writer.remove(n)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const n=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=n,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function vp(o,t,e="auto"){const n=o.getSelectedElement();if(n&&t.schema.isObject(n)&&!t.schema.isInline(n))return"before"==e||"after"==e?t.createRange(t.createPositionAt(n,e)):t.createRangeOn(n);const i=Lt(o.getSelectedBlocks());if(!i)return t.createRange(o.focus);if(i.isEmpty)return t.createRange(t.createPositionAt(i,0));const r=t.createPositionAfter(i);return o.focus.isTouching(r)?t.createRange(r):t.createRange(t.createPositionBefore(i))}const e0=' ,.?!:;"-()';function n0(o,t){const{isForward:e,walker:n,unit:i,schema:r,treatEmojiAsSingleUnit:s}=o,{type:a,item:c,nextPosition:l}=t;if("text"==a)return"word"===o.unit?function(d,u){let g=d.position.textNode;for(g||(g=u?d.position.nodeAfter:d.position.nodeBefore);g&&g.is("$text");){const m=d.position.offset-g.startOffset;if(r0(g,m,u))g=u?d.position.nodeAfter:d.position.nodeBefore;else{if(i0(g.data,m,u))break;d.next()}}return d.position}(n,e):function(d,u,g){const m=d.position.textNode;if(m){const f=m.data;let w=d.position.offset-m.startOffset;for(;Ar(f,w)||"character"==u&&Cr(f,w)||g&&Ia(f,w);)d.next(),w=d.position.offset-m.startOffset}return d.position}(n,i,s);if(a==(e?"elementStart":"elementEnd")){if(r.isSelectable(c))return U._createAt(c,e?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c))return void n.skip(()=>!0);if(r.checkChild(l,"$text"))return l}}function o0(o,t){const n=U._createAt(o.root,t?"end":0);return t?new L(o,n):new L(n,o)}function i0(o,t,e){return e0.includes(o.charAt(t+(e?0:-1)))}function r0(o,t,e){return t===(e?o.offsetSize:0)}class s0 extends(ht()){constructor(){super(),this.markers=new Y_,this.document=new U_(this),this.schema=new t_,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach(t=>this.decorate(t)),this.on("applyOperation",(t,e)=>{e[0]._validate()},{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((t,e)=>{if("$marker"===e.name)return!0}),function Zw(o){o.document.registerPostFixer(t=>function(e,n){const i=n.document.selection,r=n.schema,s=[];let a=!1;for(const c of i.getRanges()){const l=Vg(c,r);l&&!l.isEqual(c)?(s.push(l),a=!0):s.push(c)}return a&&e.setSelection(function(c){const l=[...c],d=new Set;let u=1;for(;u!d.has(m))}(s),{backward:i.isBackward}),!1}(t,o))}(this),this.document.registerPostFixer(Bg),this.on("insertContent",(t,[e,n])=>{var i,r,s;t.return=(r=e,s=n,(i=this).change(a=>{const c=s||i.document.selection;c.isCollapsed||i.deleteContent(c,{doNotAutoparagraph:!0});const l=new X_(i,a,c.anchor),d=[];let u;if(r.is("documentFragment")){if(r.markers.size){const f=[];for(const[w,v]of r.markers){const{start:D,end:M}=v,R=D.isEqual(M);f.push({position:D,name:w,isCollapsed:R},{position:M,name:w,isCollapsed:R})}f.sort(({position:w},{position:v})=>w.isBefore(v)?1:-1);for(const{position:w,name:v,isCollapsed:D}of f){let M=null,R=null;const Y=w.parent===r&&w.isAtStart;Y||w.parent===r&&w.isAtEnd?D&&(R=Y?"start":"end"):(M=a.createElement("$marker"),a.insert(M,w)),d.push({name:v,element:M,collapsed:R})}}u=r.getChildren()}else u=[r];l.handleNodes(u);let g=l.getSelectionRange();if(r.is("documentFragment")&&d.length){const f=g?Ve.fromRange(g):null,w={};for(let v=d.length-1;v>=0;v--){const{name:D,element:M,collapsed:R}=d[v],Y=!w[D];if(Y&&(w[D]=[]),M){const nt=a.createPositionAt(M,"before");w[D].push(nt),a.remove(M)}else{const nt=l.getAffectedRange();if(!nt){R&&w[D].push(l.position);continue}w[D].push(R?nt[R]:Y?nt.start:nt.end)}}for(const[v,[D,M]]of Object.entries(w))D&&M&&D.root===M.root&&a.addMarker(v,{usingOperation:!0,affectsData:!0,range:new L(D,M)});f&&(g=f.toRange(),f.detach())}g&&(c instanceof Ue?a.setSelection(g):c.setTo(g));const m=l.getAffectedRange()||i.createRange(c.anchor);return l.destroy(),m}))}),this.on("insertObject",(t,[e,n,i])=>{t.return=function t0(o,t,e,n={}){if(!o.schema.isObject(t))throw new S("insertobject-element-not-an-object",o,{object:t});const i=e||o.document.selection;let r=i;n.findOptimalPosition&&o.schema.isBlock(t)&&(r=o.createSelection(vp(i,o,n.findOptimalPosition)));const s=Lt(i.getSelectedBlocks()),a={};return s&&Object.assign(a,o.schema.getAttributesWithProperty(s,"copyOnReplace",!0)),o.change(c=>{r.isCollapsed||o.deleteContent(r,{doNotAutoparagraph:!0});let l=t;const d=r.anchor.parent;!o.schema.checkChild(d,t)&&o.schema.checkChild(d,"paragraph")&&o.schema.checkChild("paragraph",t)&&(l=c.createElement("paragraph"),c.insert(t,l)),o.schema.setAllowedAttributes(l,a,c);const u=o.insertContent(l,r);return u.isCollapsed||n.setSelection&&function(g,m,f,w){const v=g.model;if("on"==f)return void g.setSelection(m,"on");if("after"!=f)throw new S("insertobject-invalid-place-parameter-value",v);let D=m.nextSibling;v.schema.isInline(m)?g.setSelection(m,"after"):(!(D&&v.schema.checkChild(D,"$text"))&&v.schema.checkChild(m.parent,"paragraph")&&(D=g.createElement("paragraph"),v.schema.setAllowedAttributes(D,w,g),v.insertContent(D,g.createPositionAfter(m))),D&&g.setSelection(D,0))}(c,t,n.setSelection,a),u})}(this,e,n,i)}),this.on("canEditAt",t=>{const e=!this.document.isReadOnly;t.return=e,e||t.stop()})}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new Di,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(e){S.rethrowUnexpectedError(e,this)}}enqueueChange(t,e){try{t?"function"==typeof t?(e=t,t=new Di):t instanceof Di||(t=new Di(t)):t=new Di,this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(n){S.rethrowUnexpectedError(n,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const r=eh(e,n);return this.fire("insertContent",[t,r,n,...i])}insertObject(t,e,n,i,...r){const s=eh(e,n);return this.fire("insertObject",[t,s,i,i,...r])}deleteContent(t,e){J_(this,t,e)}modifySelection(t,e){!function(n,i,r={}){const s=n.schema,a="backward"!=r.direction,c=r.unit?r.unit:"character",l=!!r.treatEmojiAsSingleUnit,u=new rn({boundaries:o0(i.focus,a),singleCharacters:!0,direction:a?"forward":"backward"}),g={walker:u,schema:s,isForward:a,unit:c,treatEmojiAsSingleUnit:l};let m;for(;m=u.next();){if(m.done)return;const f=n0(g,m.value);if(f)return void(i instanceof Ue?n.change(w=>{w.setSelectionFocus(f)}):i.setFocus(f))}}(this,t,e)}getSelectedContent(t){return n=t,this.change(i=>{const r=i.createDocumentFragment(),s=n.getFirstRange();if(!s||s.isCollapsed)return r;const a=s.start.root,c=s.start.getCommonPath(s.end),l=a.getNodeByPath(c);let d;d=s.start.parent==s.end.parent?s:i.createRange(i.createPositionAt(l,s.start.path[c.length]),i.createPositionAt(l,s.end.path[c.length]+1));const u=d.end.offset-d.start.offset;for(const g of d.getItems({shallow:!0}))g.is("$textProxy")?i.appendText(g.data,g.getAttributes(),r):i.append(i.cloneElement(g,!0),r);if(d!=s){const g=s._getTransformedByMove(d.start,i.createPositionAt(r,0),u)[0],m=i.createRange(i.createPositionAt(r,0),g.start);Cp(i.createRange(g.end,i.createPositionAt(r,"end")),i),Cp(m,i)}return r});var n}hasContent(t,e={}){const n=t instanceof L?t:L._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:r=!1}=e;if(!r)for(const s of this.markers.getMarkersIntersectingRange(n))if(s.affectsData)return!0;for(const s of n.getItems())if(this.schema.isContent(s)&&(!s.is("$textProxy")||!i||-1!==s.data.search(/\S/)))return!0;return!1}canEditAt(t){const e=eh(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new U(t,e,n)}createPositionAt(t,e){return U._createAt(t,e)}createPositionAfter(t){return U._createAfter(t)}createPositionBefore(t){return U._createBefore(t)}createRange(t,e){return new L(t,e)}createRangeIn(t){return L._createIn(t)}createRangeOn(t){return L._createOn(t)}createSelection(...t){return new Se(...t)}createBatch(t){return new Di(t)}createOperationFromJSON(t){return C_.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){this._currentWriter=new Q_(this,this._pendingChanges[0].batch);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}function eh(o,t){if(o)return o instanceof Se||o instanceof Ue?o:o instanceof So?t||0===t?new Se(o,t):o.is("rootElement")?new Se(o,"in"):new Se(o,"on"):new Se(o)}class a0 extends on{constructor(){super(...arguments),this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}class nh extends on{constructor(){super(...arguments),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(t){this.fire(t.type,t)}}class Bo{constructor(t){this.document=t}createDocumentFragment(t){return new Dn(this.document,t)}createElement(t,e,n){return new le(this.document,t,e,n)}createText(t){return new kt(this.document,t)}clone(t,e=!1){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;return e?this.removeChildren(e.getChildIndex(t),1,e):[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);return this.removeChildren(i,1,n),this.insertChild(i,e,n),!0}return!1}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t),this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new le(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){ae(t)&&void 0===n?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return F._createAt(t,e)}createPositionAfter(t){return F._createAfter(t)}createPositionBefore(t){return F._createBefore(t)}createRange(t,e){return new tt(t,e)}createRangeOn(t){return tt._createOn(t)}createRangeIn(t){return tt._createIn(t)}createSelection(...t){return new Ne(...t)}}class c0{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new S("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class l0 extends(ht()){constructor(t={}){super();const e=this.constructor;this._context=t.context||new gi({language:t.language||e.defaultConfig&&e.defaultConfig.language}),this._context._addEditor(this,!t.context);const i=Array.from(e.builtinPlugins||[]);this.config=new ua(t,e.defaultConfig),this.config.define("plugins",i),this.config.define(this._context._getEditorConfig()),this.plugins=new tc(this,i,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new c0,this.set("state","initializing"),this.once("ready",()=>this.state="ready",{priority:"high"}),this.once("destroy",()=>this.state="destroyed",{priority:"high"}),this.model=new s0,this.on("change:isReadOnly",()=>{this.model.document.isReadOnly=this.isReadOnly});const r=new Su;this.data=new __(this.model,r),this.editing=new Jw(this.model,r),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new A_([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new Jd(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new S("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new S("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new S("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],i=t.get("extraPlugins")||[],r=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,r)}destroy(){let t=Promise.resolve();return"initializing"==this.state&&(t=new Promise(e=>this.once("ready",e))),t.then(()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(n){S.rethrowUnexpectedError(n,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}}function $c(o){return class extends o{setData(t){this.data.set(t)}getData(t){return this.data.get(t)}}}{const o=$c(Object);$c.setData=o.prototype.setData,$c.getData=o.prototype.getData}function oh(o){return class extends o{updateSourceElement(t=this.data.get()){if(!this.sourceElement)throw new S("editor-missing-sourceelement",this);const e=this.config.get("updateSourceElementOnDestroy"),n=this.sourceElement instanceof HTMLTextAreaElement;!function Bd(o,t){o instanceof HTMLTextAreaElement&&(o.value=t),o.innerHTML=t}(this.sourceElement,e||n?t:"")}}}oh.updateSourceElement=oh(Object).prototype.updateSourceElement;class yp extends pi{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new ge({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if("string"!=typeof t)throw new S("pendingactions-add-invalid-message",this);const e=new(ht());return e.set("message",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const Rt={bold:'',cancel:'',caption:'',check:'',cog:'',eraser:'',image:'',lowVision:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:''};var xp=H(5542);K()(xp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const{threeVerticalDots:Ep}=Rt,u0={alignLeft:Rt.alignLeft,bold:Rt.bold,importExport:Rt.importExport,paragraph:Rt.paragraph,plus:Rt.plus,text:Rt.text,threeVerticalDots:Rt.threeVerticalDots};class ih extends at{constructor(t,e){super(t);const n=this.bindTemplate,i=this.t;this.options=e||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new ce,this.keystrokes=new Me,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new h0(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const r="rtl"===t.uiLanguageDirection;this._focusCycler=new Kn({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[r?"arrowright":"arrowleft","arrowup"],focusNext:[r?"arrowleft":"arrowright","arrowdown"]}});const s=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];var a;this.options.shouldGroupWhenFull&&this.options.isFloating&&s.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:s,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:(a=this,a.bindTemplate.to(c=>{c.target===a.element&&c.preventDefault()}))}}),this._behavior=this.options.shouldGroupWhenFull?new p0(this):new g0(this)}render(){super.render(),this.focusTracker.add(this.element);for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",(t,e)=>{this.focusTracker.add(e.element)}),this.items.on("remove",(t,e)=>{this.focusTracker.remove(e.element)}),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=Za(t),r=n||i.removeItems;return this._cleanItemsConfiguration(i.items,e,r).map(s=>Dt(s)?this._createNestedToolbarDropdown(s,e,r):"|"===s?new nn:"-"===s?new Pr:e.create(s)).filter(s=>!!s)}_cleanItemsConfiguration(t,e,n){const i=t.filter((r,s,a)=>"|"===r||-1===n.indexOf(r)&&("-"===r?!this.options.shouldGroupWhenFull||(Q("toolbarview-line-break-ignored-when-grouping-items",a),!1):!(!Dt(r)&&!e.has(r)&&(Q("toolbarview-item-unavailable",{item:r}),1))));return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=s=>"-"!==s&&"|"!==s,n=t.length,i=t.findIndex(e);if(-1===i)return[];const r=n-t.slice().reverse().findIndex(e);return t.slice(i,r).filter((s,a,c)=>!!e(s)||!(a>0&&c[a-1]===s))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:r,items:s,tooltip:a=!0,withText:c=!1}=t;if(s=this._cleanItemsConfiguration(s,e,n),!s.length)return null;const l=eo(this.locale);return i||Q("toolbarview-nested-toolbar-dropdown-missing-label",t),l.class="ck-toolbar__nested-toolbar-dropdown",l.buttonView.set({label:i,tooltip:a,withText:!!c}),!1!==r?l.buttonView.icon=u0[r]||r||Ep:l.buttonView.withText=!0,sh(l,()=>l.toolbarView._buildItemsFromConfig(s,e,n)),l}}class h0 extends at{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class g0{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),t.itemsView.children.bindTo(t.items).using(n=>n),t.focusables.bindTo(t.items).using(n=>n),t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class p0{constructor(t){this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),t.itemsView.children.bindTo(this.ungroupedItems).using(e=>e),this.ungroupedItems.on("change",this._updateFocusCycleableItems.bind(this)),t.children.on("change",this._updateFocusCycleableItems.bind(this)),t.items.on("change",(e,n)=>{const i=n.index,r=Array.from(n.added);for(const s of n.removed)i>=this.ungroupedItems.length?this.groupedItems.remove(s):this.ungroupedItems.remove(s);for(let s=i;sthis.ungroupedItems.length?this.groupedItems.add(a,s-this.ungroupedItems.length):this.ungroupedItems.add(a,s)}this._updateGrouping()}),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!wn(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new ft(t.lastChild),i=new ft(t);if(!this.cachedPadding){const r=it.window.getComputedStyle(t);this.cachedPadding=Number.parseInt(r["ltr"===e?"paddingRight":"paddingLeft"])}return"ltr"===e?n.right>i.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)}),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",()=>{this._updateGrouping()})}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new nn),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=eo(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition="ltr"===t.uiLanguageDirection?"sw":"se",sh(n,this.groupedItems),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:"rtl"===t.uiLanguageDirection?"se":"sw",icon:Ep}),n}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map(t=>{this.viewFocusables.add(t)}),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var Dp=H(1046);K()(Dp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class f0 extends at{constructor(t){super(t);const e=this.bindTemplate;this.items=this.createCollection(),this.focusTracker=new ce,this.keystrokes=new Me,this._focusCycler=new Kn({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel")},children:this.items})}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",(t,e)=>{this.focusTracker.add(e.element)}),this.items.on("remove",(t,e)=>{this.focusTracker.remove(e.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class Sp extends at{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",n=>!n)],role:"presentation"},children:this.children})}focus(){this.children.first.focus()}}class k0 extends at{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var Tp=H(7686);K()(Tp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class rh extends at{constructor(t){super(t);const e=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new Me,this.focusTracker=new ce,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",e.to("class"),e.if("isVisible","ck-hidden",n=>!n),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",(t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())}),this.keystrokes.set("arrowleft",(t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const t=new vt;return t.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),t.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),t.delegate("execute").to(this),t}_createArrowView(){const t=new vt,e=t.bindTemplate;return t.icon=Qa,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",n=>String(n))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}var Ip=H(7339);K()(Ip.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var Mp=H(3949);function eo(o,t=Zd){const e=new t(o),n=new Ya(o),i=new Br(o,e,n);return e.bind("isEnabled").to(i),e instanceof rh?e.arrowView.bind("isOn").to(i,"isOpen"):e.bind("isOn").to(i,"isOpen"),(s=r=i).on("render",()=>{B({emitter:s,activator:()=>s.isOpen,callback:()=>{s.isOpen=!1},contextElements:()=>[s.element,...s.focusTracker._elements]})}),function(s){s.on("execute",a=>{a.source instanceof di||(s.isOpen=!1)})}(r),function(s){s.focusTracker.on("change:isFocused",(a,c,l)=>{s.isOpen&&!l&&(s.isOpen=!1)})}(r),function(s){s.keystrokes.set("arrowdown",(a,c)=>{s.isOpen&&(s.panelView.focus(),c())}),s.keystrokes.set("arrowup",(a,c)=>{s.isOpen&&(s.panelView.focusLast(),c())})}(r),function(s){s.on("change:isOpen",(a,c,l)=>{if(l)return;const d=s.panelView.element;d&&d.contains(it.document.activeElement)&&s.buttonView.focus()})}(r),function(s){s.on("change:isOpen",(a,c,l)=>{l&&s.panelView.focus()},{priority:"low"})}(r),i;var r,s}function sh(o,t,e={}){o.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),o.isOpen?Bp(o,t,e):o.once("change:isOpen",()=>Bp(o,t,e),{priority:"highest"}),e.enableActiveItemFocusOnDropdownOpen&&Op(o,()=>o.toolbarView.items.find(n=>n.isOn))}function Bp(o,t,e){const n=o.locale,i=n.t,r=o.toolbarView=new ih(n),s="function"==typeof t?t():t;r.ariaLabel=e.ariaLabel||i("Dropdown toolbar"),e.maxWidth&&(r.maxWidth=e.maxWidth),e.class&&(r.class=e.class),e.isCompact&&(r.isCompact=e.isCompact),e.isVertical&&(r.isVertical=!0),s instanceof en?r.items.bindTo(s).using(a=>a):r.items.addMany(s),o.panelView.children.add(r),r.items.delegate("execute").to(o)}function Np(o,t,e={}){o.isOpen?Pp(o,t,e):o.once("change:isOpen",()=>Pp(o,t,e),{priority:"highest"}),Op(o,()=>o.listView.items.find(n=>n instanceof Sp&&n.children.first.isOn))}function Pp(o,t,e){const n=o.locale,i=o.listView=new f0(n),r="function"==typeof t?t():t;i.ariaLabel=e.ariaLabel,i.role=e.role,i.items.bindTo(r).using(s=>{if("separator"===s.type)return new k0(n);if("button"===s.type||"switchbutton"===s.type){const a=new Sp(n);let c;return c="button"===s.type?new vt(n):new di(n),c.bind(...Object.keys(s.model)).to(s.model),c.delegate("execute").to(a),a.children.add(c),a}return null}),o.panelView.children.add(i),i.items.delegate("execute").to(o)}function Op(o,t){o.on("change:isOpen",()=>{if(!o.isOpen)return;const e=t();e&&("function"==typeof e.focus?e.focus():Q("ui-dropdown-focus-child-on-open-child-missing-focus",{view:e}))},{priority:rt.low-10})}function ah(o,t,e){const n=new Qd(o.locale);return n.set({id:t,ariaDescribedById:e}),n.bind("isReadOnly").to(o,"isEnabled",i=>!i),n.bind("hasError").to(o,"errorText",i=>!!i),n.on("input",()=>{o.errorText=null}),o.bind("isEmpty","isFocused","placeholder").to(n),n}K()(Mp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const ms=(o,t=0,e=1)=>o>e?e:oMath.round(e*o)/e,ch=o=>("#"===o[0]&&(o=o.substring(1)),o.length<6?{r:parseInt(o[0]+o[0],16),g:parseInt(o[1]+o[1],16),b:parseInt(o[2]+o[2],16),a:4===o.length?te(parseInt(o[3]+o[3],16)/255,2):1}:{r:parseInt(o.substring(0,2),16),g:parseInt(o.substring(2,4),16),b:parseInt(o.substring(4,6),16),a:8===o.length?te(parseInt(o.substring(6,8),16)/255,2):1}),lh=o=>{const{h:t,s:e,l:n}=(({h:o,s:t,v:e,a:n})=>{const i=(200-t)*e/100;return{h:te(o),s:te(i>0&&i<200?t*e/100/(i<=100?i:200-i)*100:0),l:te(i/2),a:te(n,2)}})(o);return`hsl(${t}, ${e}%, ${n}%)`},Yc=o=>{const t=o.toString(16);return t.length<2?"0"+t:t},zp=(o,t)=>{if(o===t)return!0;for(const e in o)if(o[e]!==t[e])return!1;return!0},Lp={},jp=o=>{let t=Lp[o];return t||(t=document.createElement("template"),t.innerHTML=o,Lp[o]=t),t},dh=(o,t,e)=>{o.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}))};let Ti=!1;const uh=o=>"touches"in o,Rp=(o,t)=>{const e=uh(t)?t.touches[0]:t,n=o.el.getBoundingClientRect();dh(o.el,"move",o.getMove({x:ms((e.pageX-(n.left+window.pageXOffset))/n.width),y:ms((e.pageY-(n.top+window.pageYOffset))/n.height)}))};class Fp{constructor(t,e,n,i){const r=jp(`
`);t.appendChild(r.content.cloneNode(!0));const s=t.querySelector(`[part=${e}]`);s.addEventListener("mousedown",this),s.addEventListener("touchstart",this),s.addEventListener("keydown",this),this.el=s,this.xy=i,this.nodes=[s.firstChild,s]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(Ti?"touchmove":"mousemove",this),e(Ti?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),e=t,Ti&&!uh(e)||(Ti||(Ti=uh(e)),0)||!Ti&&0!=t.button)return;this.el.focus(),Rp(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),Rp(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((e,n)=>{const i=n.keyCode;i>40||e.xy&&i<37||i<33||(n.preventDefault(),dh(e.el,"move",e.getMove({x:39===i?.01:37===i?-.01:34===i?.05:33===i?-.05:35===i?1:36===i?-1:0,y:40===i?.01:38===i?-.01:0},!0)))})(this,t)}var e}style(t){t.forEach((e,n)=>{for(const i in e)this.nodes[n].style.setProperty(i,e[i])})}}class x0 extends Fp{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:t/360*100+"%",color:lh({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${te(t)}`)}getMove(t,e){return{h:e?ms(this.h+360*t.x,0,360):360*t.x}}}class E0 extends Fp{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:100-t.v+"%",left:`${t.s}%`,color:lh(t)},{"background-color":lh({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${te(t.s)}%, Brightness ${te(t.v)}%`)}getMove(t,e){return{s:e?ms(this.hsva.s+100*t.x,0,100):100*t.x,v:e?ms(this.hsva.v-100*t.y,0,100):Math.round(100-100*t.y)}}}const Kc=Symbol("same"),hh=Symbol("color"),Vp=Symbol("hsva"),gh=Symbol("update"),Up=Symbol("parts"),Hp=Symbol("css"),Gp=Symbol("sliders");class D0 extends HTMLElement{static get observedAttributes(){return["color"]}get[Hp](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[Gp](){return[E0,x0]}get color(){return this[hh]}set color(t){if(!this[Kc](t)){const e=this.colorModel.toHsva(t);this[gh](e),this[hh]=t}}constructor(){super();const t=jp(``),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[Up]=this[Gp].map(n=>new n(e))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);this[Kc](i)||(this.color=i)}handleEvent(t){const e=this[Vp],n={...e,...t.detail};let i;this[gh](n),zp(n,e)||this[Kc](i=this.colorModel.fromHsva(n))||(this[hh]=i,dh(this,"color-changed",{value:i}))}[Kc](t){return this.color&&this.colorModel.equal(t,this.color)}[gh](t){this[Vp]=t,this[Up].forEach(e=>e.update(t))}}const S0={defaultColor:"#000",toHsva:o=>(({r:o,g:t,b:e,a:n})=>{const i=Math.max(o,t,e),r=i-Math.min(o,t,e),s=r?i===o?(t-e)/r:i===t?2+(e-o)/r:4+(o-t)/r:0;return{h:te(60*(s<0?s+6:s)),s:te(i?r/i*100:0),v:te(i/255*100),a:n}})(ch(o)),fromHsva:({h:o,s:t,v:e})=>(({r:o,g:t,b:e,a:n})=>{const i=n<1?Yc(te(255*n)):"";return"#"+Yc(o)+Yc(t)+Yc(e)+i})((({h:o,s:t,v:e,a:n})=>{o=o/360*6,t/=100,e/=100;const i=Math.floor(o),r=e*(1-t),s=e*(1-(o-i)*t),a=e*(1-(1-o+i)*t),c=i%6;return{r:te(255*[e,s,r,r,a,e][c]),g:te(255*[a,e,e,s,r,r][c]),b:te(255*[r,r,a,e,e,s][c]),a:te(n,2)}})({h:o,s:t,v:e,a:1})),equal:(o,t)=>o.toLowerCase()===t.toLowerCase()||zp(ch(o),ch(t)),fromAttr:o=>o};class T0 extends D0{get colorModel(){return S0}}customElements.define("hex-color-picker",class extends T0{});var qp=H(3398);K()(qp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0}),ht(ge);var Wp=H(4157);K()(Wp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class B0{constructor(t){this._components=new Map,this.editor=t}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(ph(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new S("componentfactory-item-missing",this,{name:t});return this._components.get(ph(t)).callback(this.editor.locale)}has(t){return this._components.has(ph(t))}}function ph(o){return String(o).toLowerCase()}var $p=H(8793);K()($p.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var P0=Object.defineProperty,Yp=Object.getOwnPropertySymbols,O0=Object.prototype.hasOwnProperty,z0=Object.prototype.propertyIsEnumerable,Kp=(o,t,e)=>t in o?P0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,gt=(o,t)=>{for(var e in t||(t={}))O0.call(t,e)&&Kp(o,e,t[e]);if(Yp)for(var e of Yp(t))z0.call(t,e)&&Kp(o,e,t[e]);return o};const Qp=bn("px"),Zp=it.document.body,mh=class extends at{constructor(o){super(o);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",e=>`ck-balloon-panel_${e}`),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",Qp),left:t.to("left",Qp)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(o){this.show();const t=mh.defaultPositions,e=Object.assign({},{element:this.element,positions:[t.southArrowNorth,t.southArrowNorthMiddleWest,t.southArrowNorthMiddleEast,t.southArrowNorthWest,t.southArrowNorthEast,t.northArrowSouth,t.northArrowSouthMiddleWest,t.northArrowSouthMiddleEast,t.northArrowSouthWest,t.northArrowSouthEast,t.viewportStickyNorth],limiter:Zp,fitInViewport:!0},o),n=mh._getOptimalPosition(e),i=parseInt(n.left),r=parseInt(n.top),s=n.name,a=n.config||{},{withArrow:c=!0}=a;this.top=r,this.left=i,this.position=s,this.withArrow=c}pin(o){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(o):this._stopPinning()},this._startPinning(o),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(o){this.attachTo(o);const t=fh(o.target),e=o.limiter?fh(o.limiter):Zp;this.listenTo(it.document,"scroll",(n,i)=>{const r=i.target,s=t&&r.contains(t),a=e&&r.contains(e);!s&&!a&&t&&e||this.attachTo(o)},{useCapture:!0}),this.listenTo(it.window,"resize",()=>{this.attachTo(o)})}_stopPinning(){this.stopListening(it.document,"scroll"),this.stopListening(it.window,"resize")}};let Ae=mh;function fh(o){return kn(o)?o:ii(o)?o.commonAncestorContainer:"function"==typeof o?fh(o()):null}function Jp(o={}){const{sideOffset:t=Ae.arrowSideOffset,heightOffset:e=Ae.arrowHeightOffset,stickyVerticalOffset:n=Ae.stickyVerticalOffset,config:i}=o;return{northWestArrowSouthWest:(a,c)=>gt({top:r(a,c),left:a.left-t,name:"arrow_sw"},i&&{config:i}),northWestArrowSouthMiddleWest:(a,c)=>gt({top:r(a,c),left:a.left-.25*c.width-t,name:"arrow_smw"},i&&{config:i}),northWestArrowSouth:(a,c)=>gt({top:r(a,c),left:a.left-c.width/2,name:"arrow_s"},i&&{config:i}),northWestArrowSouthMiddleEast:(a,c)=>gt({top:r(a,c),left:a.left-.75*c.width+t,name:"arrow_sme"},i&&{config:i}),northWestArrowSouthEast:(a,c)=>gt({top:r(a,c),left:a.left-c.width+t,name:"arrow_se"},i&&{config:i}),northArrowSouthWest:(a,c)=>gt({top:r(a,c),left:a.left+a.width/2-t,name:"arrow_sw"},i&&{config:i}),northArrowSouthMiddleWest:(a,c)=>gt({top:r(a,c),left:a.left+a.width/2-.25*c.width-t,name:"arrow_smw"},i&&{config:i}),northArrowSouth:(a,c)=>gt({top:r(a,c),left:a.left+a.width/2-c.width/2,name:"arrow_s"},i&&{config:i}),northArrowSouthMiddleEast:(a,c)=>gt({top:r(a,c),left:a.left+a.width/2-.75*c.width+t,name:"arrow_sme"},i&&{config:i}),northArrowSouthEast:(a,c)=>gt({top:r(a,c),left:a.left+a.width/2-c.width+t,name:"arrow_se"},i&&{config:i}),northEastArrowSouthWest:(a,c)=>gt({top:r(a,c),left:a.right-t,name:"arrow_sw"},i&&{config:i}),northEastArrowSouthMiddleWest:(a,c)=>gt({top:r(a,c),left:a.right-.25*c.width-t,name:"arrow_smw"},i&&{config:i}),northEastArrowSouth:(a,c)=>gt({top:r(a,c),left:a.right-c.width/2,name:"arrow_s"},i&&{config:i}),northEastArrowSouthMiddleEast:(a,c)=>gt({top:r(a,c),left:a.right-.75*c.width+t,name:"arrow_sme"},i&&{config:i}),northEastArrowSouthEast:(a,c)=>gt({top:r(a,c),left:a.right-c.width+t,name:"arrow_se"},i&&{config:i}),southWestArrowNorthWest:a=>gt({top:s(a),left:a.left-t,name:"arrow_nw"},i&&{config:i}),southWestArrowNorthMiddleWest:(a,c)=>gt({top:s(a),left:a.left-.25*c.width-t,name:"arrow_nmw"},i&&{config:i}),southWestArrowNorth:(a,c)=>gt({top:s(a),left:a.left-c.width/2,name:"arrow_n"},i&&{config:i}),southWestArrowNorthMiddleEast:(a,c)=>gt({top:s(a),left:a.left-.75*c.width+t,name:"arrow_nme"},i&&{config:i}),southWestArrowNorthEast:(a,c)=>gt({top:s(a),left:a.left-c.width+t,name:"arrow_ne"},i&&{config:i}),southArrowNorthWest:a=>gt({top:s(a),left:a.left+a.width/2-t,name:"arrow_nw"},i&&{config:i}),southArrowNorthMiddleWest:(a,c)=>gt({top:s(a),left:a.left+a.width/2-.25*c.width-t,name:"arrow_nmw"},i&&{config:i}),southArrowNorth:(a,c)=>gt({top:s(a),left:a.left+a.width/2-c.width/2,name:"arrow_n"},i&&{config:i}),southArrowNorthMiddleEast:(a,c)=>gt({top:s(a),left:a.left+a.width/2-.75*c.width+t,name:"arrow_nme"},i&&{config:i}),southArrowNorthEast:(a,c)=>gt({top:s(a),left:a.left+a.width/2-c.width+t,name:"arrow_ne"},i&&{config:i}),southEastArrowNorthWest:a=>gt({top:s(a),left:a.right-t,name:"arrow_nw"},i&&{config:i}),southEastArrowNorthMiddleWest:(a,c)=>gt({top:s(a),left:a.right-.25*c.width-t,name:"arrow_nmw"},i&&{config:i}),southEastArrowNorth:(a,c)=>gt({top:s(a),left:a.right-c.width/2,name:"arrow_n"},i&&{config:i}),southEastArrowNorthMiddleEast:(a,c)=>gt({top:s(a),left:a.right-.75*c.width+t,name:"arrow_nme"},i&&{config:i}),southEastArrowNorthEast:(a,c)=>gt({top:s(a),left:a.right-c.width+t,name:"arrow_ne"},i&&{config:i}),westArrowEast:(a,c)=>gt({top:a.top+a.height/2-c.height/2,left:a.left-c.width-e,name:"arrow_e"},i&&{config:i}),eastArrowWest:(a,c)=>gt({top:a.top+a.height/2-c.height/2,left:a.right+e,name:"arrow_w"},i&&{config:i}),viewportStickyNorth:(a,c,l)=>a.getIntersection(l)?{top:l.top+n,left:a.left+a.width/2-c.width/2,name:"arrowless",config:gt({withArrow:!1},i)}:null};function r(a,c){return a.top-c.height-e}function s(a){return a.bottom+e}}Ae.arrowSideOffset=25,Ae.arrowHeightOffset=10,Ae.stickyVerticalOffset=20,Ae._getOptimalPosition=Ct,Ae.defaultPositions=Jp();var Xp=H(3332);K()(Xp.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const tm="ck-tooltip",Ce=class extends(Xe()){constructor(o){if(super(),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver=null,Ce._editors.add(o),Ce._instance)return Ce._instance;Ce._instance=this,this.tooltipTextView=new at(o.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new Ae(o.locale),this.balloonPanelView.class=tm,this.balloonPanelView.content.add(this.tooltipTextView),this._pinTooltipDebounced=ke(this._pinTooltip,600),this.listenTo(it.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(it.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(it.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(it.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(it.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(o){const t=o.ui.view&&o.ui.view.body;Ce._editors.delete(o),this.stopListening(o.ui),t&&t.has(this.balloonPanelView)&&t.remove(this.balloonPanelView),Ce._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),Ce._instance=null)}static getPositioningFunctions(o){const t=Ce.defaultBalloonPositions;return{s:[t.southArrowNorth,t.southArrowNorthEast,t.southArrowNorthWest],n:[t.northArrowSouth],e:[t.eastArrowWest],w:[t.westArrowEast],sw:[t.southArrowNorthEast],se:[t.southArrowNorthWest]}[o]}_onEnterOrFocus(o,{target:t}){const e=kh(t);var n;e&&e!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(e,{text:(n=e).dataset.ckeTooltipText,position:n.dataset.ckeTooltipPosition||"s",cssClass:n.dataset.ckeTooltipClass||""}))}_onLeaveOrBlur(o,{target:t,relatedTarget:e}){if("mouseleave"===o.name){if(!kn(t)||this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;const n=kh(t),i=kh(e);n&&n!==i&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(o,{target:t}){this._currentElementWithTooltip&&(t.contains(this.balloonPanelView.element)&&t.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(o,{text:t,position:e,cssClass:n}){const i=Lt(Ce._editors.values()).ui.view.body;i.has(this.balloonPanelView)||i.add(this.balloonPanelView),this.tooltipTextView.text=t,this.balloonPanelView.pin({target:o,positions:Ce.getPositioningFunctions(e)}),this._resizeObserver=new si(o,()=>{wn(o)||this._unpinTooltip()}),this.balloonPanelView.class=[tm,n].filter(r=>r).join(" ");for(const r of Ce._editors)this.listenTo(r.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=o,this._currentTooltipPosition=e}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const o of Ce._editors)this.stopListening(o.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver&&this._resizeObserver.destroy()}_updateTooltipPosition(){wn(this._currentElementWithTooltip)?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:Ce.getPositioningFunctions(this._currentTooltipPosition)}):this._unpinTooltip()}};let Qc=Ce;function kh(o){return kn(o)?o.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}Qc.defaultBalloonPositions=Jp({heightOffset:5,sideOffset:13}),Qc._editors=new Set,Qc._instance=null;const bh=function(o,t,e){var n=!0,i=!0;if("function"!=typeof o)throw new TypeError("Expected a function");return Dt(e)&&(n="leading"in e?!!e.leading:n,i="trailing"in e?!!e.trailing:i),ke(o,t,{leading:n,maxWait:t,trailing:i})};var j0=Object.defineProperty,em=Object.getOwnPropertySymbols,R0=Object.prototype.hasOwnProperty,F0=Object.prototype.propertyIsEnumerable,nm=(o,t,e)=>t in o?j0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;const Zc={top:-99999,left:-99999,name:"invalid",config:{withArrow:!1}};class q0 extends(Xe()){constructor(t){super(),this.editor=t,this._balloonView=null,this._lastFocusedEditableElement=null,this._showBalloonThrottled=bh(this._showBalloon.bind(this),50,{leading:!0}),t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;t&&(t.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const t=this.editor;(t.config.get("ui.poweredBy.forceVisible")||"VALID"!==function(e){function n(m){return m.length>=40&&m.length<=255?"VALID":"INVALID"}if(!e)return"INVALID";let i="";try{i=atob(e)}catch{return"INVALID"}const r=i.split("-"),s=r[0],a=r[1];if(!a)return n(e);try{atob(a)}catch{try{if(atob(s),!atob(s).length)return n(e)}catch{return n(e)}}if(s.length<40||s.length>255)return"INVALID";let c="";try{atob(s),c=atob(a)}catch{return"INVALID"}if(8!==c.length)return"INVALID";const l=Number(c.substring(0,4)),d=Number(c.substring(4,6))-1,u=Number(c.substring(6,8)),g=new Date(l,d,u);return g{this._updateLastFocusedEditableElement(),i?this._showBalloon():this._hideBalloon()}),t.ui.focusTracker.on("change:focusedElement",(e,n,i)=>{this._updateLastFocusedEditableElement(),i&&this._showBalloon()}),t.ui.on("update",()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor,e=this._balloonView=new Ae,n=im(t),i=new W0(t.locale,n.label);e.content.add(i),e.set({class:"ck-powered-by-balloon"}),t.ui.view.body.add(e),t.ui.focusTracker.add(e.element),this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement)return;const t=function(e,n){const i=im(e);var a;return{target:n,positions:["right"===i.side?om(n,a=i,(c,l)=>c.left+c.width-l.width-a.horizontalOffset):function(s,a){return om(s,a,c=>c.left+a.horizontalOffset)}(n,i)]}}(this.editor,this._lastFocusedEditableElement);t&&(this._balloonView||this._createBalloonView(),this._balloonView.pin(t))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_updateLastFocusedEditableElement(){const t=this.editor,n=t.ui.focusTracker.focusedElement;if(!t.ui.focusTracker.isFocused||!n)return void(this._lastFocusedEditableElement=null);const i=Array.from(t.ui.getEditableElementsNames()).map(r=>t.ui.getEditableElement(r));this._lastFocusedEditableElement=i.includes(n)?n:i[0]}}class W0 extends at{constructor(t,e){super(t);const n=new An,i=this.bindTemplate;n.set({content:'\n',isColorInherited:!1}),n.extendTemplate({attributes:{style:{width:"53px",height:"10px"}}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to(r=>r.preventDefault())}}]})}}function om(o,t,e){return(n,i)=>{const r=n.getVisible();if(!r||n.width<350||n.height<50)return Zc;let s;s="inside"===t.position?n.bottom-i.height:n.bottom-i.height/2,s-=t.verticalOffset;const a=e(n,i);if("inside"===t.position){const c=i.clone().moveTo(a,s);if(c.getIntersectionArea(r)l.bottom||("left"===t.side?n.leftl.right))return Zc}}return{top:s,left:a,name:`position_${t.position}-side_${t.side}`,config:{withArrow:!1}}}}function im(o){const t=o.config.get("ui.poweredBy"),e=t&&t.position||"border";return((o,t)=>{for(var e in t||(t={}))R0.call(t,e)&&nm(o,e,t[e]);if(em)for(var e of em(t))F0.call(t,e)&&nm(o,e,t[e]);return o})({position:e,label:"Powered by",verticalOffset:"inside"===e?5:0,horizontalOffset:5,side:"ltr"===o.locale.contentLanguageDirection?"right":"left"},t)}var $0=Object.defineProperty,rm=Object.getOwnPropertySymbols,Y0=Object.prototype.hasOwnProperty,K0=Object.prototype.propertyIsEnumerable,sm=(o,t,e)=>t in o?$0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;class Q0 extends(ht()){constructor(t){super(),this.isReady=!1,this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t,this.componentFactory=new B0(t),this.focusTracker=new ce,this.tooltipManager=new Qc(t),this.poweredBy=new q0(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.once("ready",()=>{this.isReady=!0}),this.listenTo(e.document,"layoutChanged",this.update.bind(this)),this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null,this.editor.keystrokes.stopListening(t);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}removeEditableElement(t){const e=this._editableElementsMap.get(t);e&&(this._editableElementsMap.delete(t),this.editor.keystrokes.stopListening(e),this.focusTracker.remove(e),e.ckeditorInstance=null)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)}),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor,e=t.editing.view;let n,i;t.keystrokes.set("Alt+F10",(r,s)=>{const a=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(a)&&!Array.from(e.domRoots.values()).includes(a)&&(n=a);const c=this._getCurrentFocusedToolbarDefinition();c&&i||(i=this._getFocusableCandidateToolbarDefinitions());for(let l=0;l{const a=this._getCurrentFocusedToolbarDefinition();a&&(n?(n.focus(),n=null):t.editing.view.focus(),a.options.afterBlur&&a.options.afterBlur(),s())})}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;(wn(n.element)||i.beforeFocus)&&t.push(e)}return t.sort((e,n)=>am(e)-am(n)),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),!!wn(e.element)&&(e.focus(),!0)}_handleScrollToTheSelection(t,e){const n=((i,r)=>{for(var s in r||(r={}))Y0.call(r,s)&&sm(i,s,r[s]);if(rm)for(var s of rm(r))K0.call(r,s)&&sm(i,s,r[s]);return i})({top:0,bottom:0,left:0,right:0},this.viewportOffset);e.viewportOffset.top+=n.top,e.viewportOffset.bottom+=n.bottom,e.viewportOffset.left+=n.left,e.viewportOffset.right+=n.right}}function am(o){const{toolbarView:t,options:e}=o;let n=10;return wn(t.element)&&n--,e.isContextual&&n--,n}var cm=H(9688);K()(cm.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class J0 extends at{constructor(t){super(t),this.body=new Gd(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class X0 extends J0{constructor(t){super(t),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:t.uiLanguageDirection,lang:t.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const t=this.t,e=new qa;return e.text=t("Rich Text Editor"),e.extendTemplate({attributes:{class:"ck-voice-label"}}),e}}class tA extends at{constructor(t,e,n){super(t),this.name=null,this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",()=>this._updateIsFocusedClasses()),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;function e(n){t.change(i=>{const r=t.document.getRoot(n.name);i.addClass(n.isFocused?"ck-focused":"ck-blurred",r),i.removeClass(n.isFocused?"ck-blurred":"ck-focused",r)})}t.isRenderingInProgress?function n(i){t.once("change:isRenderingInProgress",(r,s,a)=>{a?n(i):e(i)})}(this):e(this)}}class eA extends tA{constructor(t,e,n,i={}){super(t,e,n);const r=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}}),this._generateLabel=i.label||(()=>r("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change(e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)})}}var lm=H(8847);K()(lm.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class wh extends pi{static get pluginName(){return"Notification"}init(){this.on("show:warning",(t,e)=>{window.alert(e.message)},{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){this.fire(t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`,{message:t.message,type:t.type,title:t.title||""})}}class dm extends(ht()){constructor(t,e){super(),e&&Lc(this,e),t&&this.set(t)}}var um=H(4650);K()(um.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var hm=H(7676);K()(hm.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const Jc=bn("px");class Xc extends q{constructor(t){super(t),this._viewToStack=new Map,this._idToStack=new Map,this._view=null,this._rotatorView=null,this._fakePanelsView=null,this.positionLimiter=()=>{const e=this.editor.editing.view,n=e.document.selection.editableElement;return n?e.domConverter.mapViewToDom(n.root):null},this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}static get pluginName(){return"ContextualBalloon"}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this._view||this._createPanelView(),this.hasView(t.view))throw new S("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e))return this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!t.singleViewMode||this.showStack(e));const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new S("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(1===e.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),1===e.size?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new S("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new Ae(this.editor.locale),this.editor.ui.view.body.add(this._view),this.editor.ui.focusTracker.add(this._view.element),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find(e=>e[1]===t)[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new rA(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",(n,i)=>!i&&n>1),t.on("change:isNavigationVisible",()=>this.updatePosition(),{priority:"low"}),t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",(n,i)=>{if(i<2)return"";const r=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[r,i])}),t.buttonNextView.on("execute",()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()}),t.buttonPrevView.on("execute",()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()}),t}_createFakePanelsView(){const t=new sA(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",(e,n)=>!n&&e>=2?Math.min(e-1,2):0),t.listenTo(this.view,"change:top",()=>t.updatePosition()),t.listenTo(this.view,"change:left",()=>t.updatePosition()),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:i=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}}class rA extends at{constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new ce,this.buttonPrevView=this._createButtonView(e("Previous"),''),this.buttonNextView=this._createButtonView(e("Next"),''),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",i=>i?"":"ck-hidden")]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new vt(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class sA extends at{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",i=>i?"":"ck-hidden")],style:{top:n.to("top",Jc),left:n.to("left",Jc),width:n.to("width",Jc),height:n.to("height",Jc)}},children:this.content}),this.on("change:numberOfPanels",(i,r,s,a)=>{s>a?this._addPanels(s-a):this._removePanels(a-s),this.updatePosition()})}_addPanels(t){for(;t--;){const e=new at;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(t){for(;t--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:i}=new ft(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var gm=H(5868);K()(gm.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const Ii=bn("px");class cA extends at{constructor(t){super(t);const e=this.bindTemplate;this.set("isActive",!1),this.set("isSticky",!1),this.set("limiterElement",null),this.set("limiterBottomOffset",50),this.set("viewportTopOffset",0),this.set("_marginLeft",null),this.set("_isStickyToTheBottomOfLimiter",!1),this.set("_stickyTopOffset",null),this.set("_stickyBottomOffset",null),this.content=this.createCollection(),this._contentPanelPlaceholder=new Ee({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:e.to("isSticky",n=>n?"block":"none"),height:e.to("isSticky",n=>n?Ii(this._contentPanelRect.height):null)}}}).render(),this._contentPanel=new Ee({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",e.if("isSticky","ck-sticky-panel__content_sticky"),e.if("_isStickyToTheBottomOfLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:e.to("isSticky",n=>n?Ii(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:e.to("_stickyTopOffset",n=>n&&Ii(n)),bottom:e.to("_stickyBottomOffset",n=>n&&Ii(n)),marginLeft:e.to("_marginLeft")}},children:this.content}).render(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render(),this.checkIfShouldBeSticky(),this.listenTo(it.document,"scroll",(t,e)=>{this.checkIfShouldBeSticky(e.target)},{useCapture:!0}),this.listenTo(this,"change:isActive",()=>{this.checkIfShouldBeSticky()})}checkIfShouldBeSticky(t){if(!this.limiterElement||!this.isActive)return void this._unstick();const e=function(r){const s=[];let a=kr(r);for(;a&&a!==it.document.body;)s.push(a),a=kr(a);return s.push(it.document),s}(this.limiterElement);if(t&&!e.includes(t))return;const n=function(r,s=0){const a=r.map(l=>{if(l instanceof Document){const d=new ft(it.window);return d.top+=s,d.height-=s,d}return new ft(l)});let c=a[0];for(const l of a.slice(1))c&&(c=c.getIntersection(l));return c}(e,this.viewportTopOffset),i=new ft(this.limiterElement);if(n&&i.topr.bottom){const a=Math.max(i.bottom-n.bottom,0)+this.limiterBottomOffset;i.bottom-a>i.top+this._contentPanelRect.height?this._stickToBottomOfLimiter(a):this._unstick()}else this._contentPanelRect.height+this.limiterBottomOffsete||0),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(t.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),i=t.sourceElement;let r;const s=t.config.get("placeholder");s&&(r="string"==typeof s?s:s[this.view.editable.name]),!r&&i&&"textarea"===i.tagName.toLowerCase()&&(r=i.getAttribute("placeholder")),r&&(n.placeholder=r),Lr({view:e,element:n,isDirectHost:!1,keepOnFocus:!0})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const i=this.view.stickyPanel;if(i.isSticky){const r=new ft(i.element).height;e.viewportOffset.top+=r}else{const r=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(i,"change:isSticky",r),setTimeout(()=>{this.stopListening(i,"change:isSticky",r)},20)}}}var mm=H(3143);K()(mm.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class hA extends X0{constructor(t,e,n={}){super(t),this.stickyPanel=new cA(t),this.toolbar=new ih(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull}),this.editable=new eA(t,e)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class fm{constructor(t){if(this.crashes=[],this.state="initializing",this._now=Date.now,this.crashes=[],this._crashNumberLimit="number"==typeof t.crashNumberLimit?t.crashNumberLimit:3,this._minimumNonErrorTimePeriod="number"==typeof t.minimumNonErrorTimePeriod?t.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=e=>{const n="error"in e?e.error:e.reason;n instanceof Error&&this._handleError(n,e)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(t,e){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter(n=>n!==e)}_fire(t,...e){const n=this._listeners[t]||[];for(const i of n)i.apply(this,[null,...e])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:void 0,lineno:e instanceof ErrorEvent?e.lineno:void 0,colno:e instanceof ErrorEvent?e.colno:void 0,date:this._now()});const n=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:t,causesRestart:n}),n?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&null!=t.context&&"ready"===this.state&&this._isErrorComingFromThisItem(t)}_shouldRestart(){return this.crashes.length<=this._crashNumberLimit||(this.crashes[this.crashes.length-1].date-this.crashes[this.crashes.length-1-this._crashNumberLimit].date)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function _h(o,t=new Set){const e=[o],n=new Set;let i=0;for(;e.length>i;){const r=e[i++];if(!n.has(r)&&gA(r)&&!t.has(r))if(n.add(r),Symbol.iterator in r)try{for(const s of r)e.push(s)}catch{}else for(const s in r)"defaultValue"!==s&&e.push(r[s])}return n}function gA(o){const t=Object.prototype.toString.call(o),e=typeof o;return!("number"===e||"boolean"===e||"string"===e||"symbol"===e||"function"===e||"[object Date]"===t||"[object RegExp]"===t||"[object Module]"===t||null==o||o._watchdogExcluded||o instanceof EventTarget||o instanceof Event)}function km(o,t,e=new Set){if(o===t&&"object"==typeof(n=o)&&null!==n)return!0;var n;const i=_h(o,e),r=_h(t,e);for(const s of i)if(r.has(s))return!0;return!1}var pA=Object.defineProperty,mA=Object.defineProperties,fA=Object.getOwnPropertyDescriptors,tl=Object.getOwnPropertySymbols,bm=Object.prototype.hasOwnProperty,wm=Object.prototype.propertyIsEnumerable,_m=(o,t,e)=>t in o?pA(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,Ah=(o,t)=>{for(var e in t||(t={}))bm.call(t,e)&&_m(o,e,t[e]);if(tl)for(var e of tl(t))wm.call(t,e)&&_m(o,e,t[e]);return o};class Am extends fm{constructor(t,e={}){super(e),this._editor=null,this._initUsingData=!0,this._editables={},this._throttledSave=bh(this._save.bind(this),"number"==typeof e.saveInterval?e.saveInterval:5e3),t&&(this._creator=(n,i)=>t.create(n,i)),this._destructor=n=>n.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then(()=>(this.state="initializing",this._fire("stateChange"),this._destroy())).catch(t=>{console.error("An error happened during the editor destroying.",t)}).then(()=>{const t={},e=[],n=this._config.rootsAttributes||{},i={};for(const[c,l]of Object.entries(this._data.roots))l.isLoaded?(t[c]="",i[c]=n[c]||{}):e.push(c);const r=(s=Ah({},this._config),mA(s,fA({extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data})));var s;return delete r.initialData,r.extraPlugins.push(kA),this._initUsingData?this.create(t,r,r.context):kn(this._elementOrData)?this.create(this._elementOrData,r,r.context):this.create(this._editables,r,r.context)}).then(()=>{this._fire("restart")})}create(t=this._elementOrData,e=this._config,n){return Promise.resolve().then(()=>(super._startErrorHandling(),this._elementOrData=t,this._initUsingData="string"==typeof t||Object.keys(t).length>0&&"string"==typeof Object.values(t)[0],this._config=this._cloneEditorConfiguration(e)||{},this._config.context=n,this._creator(t,this._config))).then(i=>{this._editor=i,i.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=i.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})}destroy(){return Promise.resolve().then(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))}_destroy(){return Promise.resolve().then(()=>{this._stopErrorHandling(),this._throttledSave.cancel();const t=this._editor;return this._editor=null,t.model.document.off("change:data",this._throttledSave),this._destructor(t)})}_save(){const t=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=t}catch(e){console.error(e,"An error happened during restoring editor data. Editor will be restored from the previously saved data.")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor,e=t.model.document.roots.filter(a=>a.isAttached()&&"$graveyard"!=a.rootName),{plugins:n}=t,i=n.has("CommentsRepository")&&n.get("CommentsRepository"),r=n.has("TrackChanges")&&n.get("TrackChanges"),s={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach(a=>{s.roots[a.rootName]={content:JSON.stringify(Array.from(a.getChildren())),attributes:JSON.stringify(Array.from(a.getAttributes())),isLoaded:a._isLoaded}});for(const a of t.model.markers)a._affectsData&&(s.markers[a.name]={rangeJSON:a.getRange().toJSON(),usingOperation:a._managedUsingOperations,affectsData:a._affectsData});return i&&(s.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),r&&(s.suggestions=JSON.stringify(r.getSuggestions({toJSON:!0,skipNotAttached:!0}))),s}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);n&&(t[e]=n)}return t}_isErrorComingFromThisItem(t){return km(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return ni(t,(e,n)=>kn(e)||"context"===n?e:void 0)}}class kA{constructor(t){this.editor=t,this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",t=>{t.stop(),this.editor.model.enqueueChange({isUndoable:!1},e=>{this._restoreCollaborationData(),this._restoreEditorData(e)}),this.editor.data.fire("ready")},{priority:999})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children)for(const i of e.children)n._appendChild(this._createNode(t,i));return n}return t.createText(e.data,e.attributes)}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach(([n,{content:i,attributes:r}])=>{const s=JSON.parse(i),a=JSON.parse(r),c=e.model.document.getRoot(n);for(const[l,d]of a)t.setAttribute(l,d,c);for(const l of s){const d=this._createNode(t,l);t.insert(d,c,"end")}}),Object.entries(this._data.markers).forEach(([n,i])=>{const{document:r}=e.model,s=i,{rangeJSON:{start:a,end:c}}=s,l=((f,w)=>{var v={};for(var D in f)bm.call(f,D)&&w.indexOf(D)<0&&(v[D]=f[D]);if(null!=f&&tl)for(var D of tl(f))w.indexOf(D)<0&&wm.call(f,D)&&(v[D]=f[D]);return v})(s,["rangeJSON"]),d=r.getRoot(a.root),u=t.createPositionFromPath(d,a.path,a.stickiness),g=t.createPositionFromPath(d,c.path,c.stickiness),m=t.createRange(u,g);t.addMarker(n,Ah({range:m},l))})}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads),e=JSON.parse(this._data.suggestions);t.forEach(n=>{const i=this.editor.config.get("collaboration.channelId"),r=this.editor.plugins.get("CommentsRepository");r.hasCommentThread(n.threadId)&&r.getCommentThread(n.threadId).remove(),r.addCommentThread(Ah({channelId:i},n))}),e.forEach(n=>{const i=this.editor.plugins.get("TrackChangesEditing");i.hasSuggestion(n.id)?i.getSuggestion(n.id).attributes=n.attributes:i.addSuggestionData(n)})}}const fs=Symbol("MainQueueId");class bA{constructor(){this._onEmptyCallbacks=[],this._queues=new Map,this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===fs;this._activeActions++,this._queues.get(t)||this._queues.set(t,Promise.resolve());const i=Promise.all(n?this._queues.values():[this._queues.get(fs),this._queues.get(t)]).then(e),r=i.catch(()=>{});return this._queues.set(t,r),i.finally(()=>{this._activeActions--,this._queues.get(t)===r&&0===this._activeActions&&this._onEmptyCallbacks.forEach(s=>s())})}}function Cm(o){return Array.isArray(o)?o:[o]}class el extends($c(oh(l0))){constructor(t,e={}){if(!nl(t)&&void 0!==e.initialData)throw new S("editor-create-initial-data",null);var r,s;super(e),void 0===this.config.get("initialData")&&this.config.set("initialData",nl(r=t)?(s=r)instanceof HTMLTextAreaElement?s.value:s.innerHTML:r),nl(t)&&(this.sourceElement=t),this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull"),i=new hA(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new dA(this,i),function(r){if(!Ke(r.updateSourceElement))throw new S("attachtoform-missing-elementapi-interface",r);const s=r.sourceElement;if((a=s)&&"textarea"===a.tagName.toLowerCase()&&s.form){let a;const c=s.form,l=()=>r.updateSourceElement();Ke(c.submit)&&(a=c.submit,c.submit=()=>{l(),a.apply(c)}),c.addEventListener("submit",l),r.on("destroy",()=>{c.removeEventListener("submit",l),a&&(c.submit=a)})}var a}(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(t,e={}){return new Promise(n=>{const i=new this(t,e);n(i.initPlugins().then(()=>i.ui.init(nl(t)?t:null)).then(()=>i.data.init(i.config.get("initialData"))).then(()=>i.fire("ready")).then(()=>i))})}}function nl(o){return kn(o)}el.Context=gi,el.EditorWatchdog=Am,el.ContextWatchdog=class extends fm{constructor(o,t={}){super(t),this._watchdogs=new Map,this._context=null,this._contextProps=new Set,this._actionQueues=new bA,this._watchdogConfig=t,this._creator=e=>o.create(e),this._destructor=e=>e.destroy(),this._actionQueues.onEmpty(()=>{"initializing"===this.state&&(this.state="ready",this._fire("stateChange"))})}setCreator(o){this._creator=o}setDestructor(o){this._destructor=o}get context(){return this._context}create(o={}){return this._actionQueues.enqueue(fs,()=>(this._contextConfig=o,this._create()))}getItem(o){return this._getWatchdog(o)._item}getItemState(o){return this._getWatchdog(o).state}add(o){const t=Cm(o);return Promise.all(t.map(e=>this._actionQueues.enqueue(e.id,()=>{if("destroyed"===this.state)throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let n;if(this._watchdogs.has(e.id))throw new Error(`Item with the given id is already added: '${e.id}'.`);if("editor"===e.type)return n=new Am(null,this._watchdogConfig),n.setCreator(e.creator),n._setExcludedProperties(this._contextProps),e.destructor&&n.setDestructor(e.destructor),this._watchdogs.set(e.id,n),n.on("error",(i,{error:r,causesRestart:s})=>{this._fire("itemError",{itemId:e.id,error:r}),s&&this._actionQueues.enqueue(e.id,()=>new Promise(a=>{const c=()=>{n.off("restart",c),this._fire("itemRestart",{itemId:e.id}),a()};n.on("restart",c)}))}),n.create(e.sourceElementOrData,e.config,this._context);throw new Error(`Not supported item type: '${e.type}'.`)})))}remove(o){const t=Cm(o);return Promise.all(t.map(e=>this._actionQueues.enqueue(e,()=>{const n=this._getWatchdog(e);return this._watchdogs.delete(e),n.destroy()})))}destroy(){return this._actionQueues.enqueue(fs,()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))}_restart(){return this._actionQueues.enqueue(fs,()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch(o=>{console.error("An error happened during destroying the context or items.",o)}).then(()=>this._create()).then(()=>this._fire("restart"))))}_create(){return Promise.resolve().then(()=>(this._startErrorHandling(),this._creator(this._contextConfig))).then(o=>(this._context=o,this._contextProps=_h(this._context),Promise.all(Array.from(this._watchdogs.values()).map(t=>(t._setExcludedProperties(this._contextProps),t.create(void 0,void 0,this._context))))))}_destroy(){return Promise.resolve().then(()=>{this._stopErrorHandling();const o=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map(t=>t.destroy())).then(()=>this._destructor(o))})}_getWatchdog(o){const t=this._watchdogs.get(o);if(!t)throw new Error(`Item with the given id was not registered: ${o}.`);return t}_isErrorComingFromThisItem(o){for(const t of this._watchdogs.values())if(t._isErrorComingFromThisItem(o))return!1;return km(this._context,o.context)}};class Ch extends on{constructor(t){super(t),this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"];const e=this.document;function n(i){return(r,s)=>{s.preventDefault();const a=s.dropRange?[s.dropRange]:null,c=new G(e,i);e.fire(c,{dataTransfer:s.dataTransfer,method:r.name,targetRanges:a,target:s.target,domEvent:s.domEvent}),c.stop.called&&s.stopPropagation()}}this.listenTo(e,"paste",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"drop",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"dragover",n("dragging"),{priority:"low"})}onDomEvent(t){const i={dataTransfer:new dg("clipboardData"in t?t.clipboardData:t.dataTransfer,{cacheFiles:"drop"==t.type||"paste"==t.type})};"drop"!=t.type&&"dragover"!=t.type||(i.dropRange=function(r,s){const a=s.target.ownerDocument,c=s.clientX,l=s.clientY;let d;return a.caretRangeFromPoint&&a.caretRangeFromPoint(c,l)?d=a.caretRangeFromPoint(c,l):s.rangeParent&&(d=a.createRange(),d.setStart(s.rangeParent,s.rangeOffset),d.collapse(!0)),d?r.domConverter.domRangeToView(d):null}(this.view,t)),this.fire(t.type,t,i)}}const vm=["figcaption","li"];function ym(o){let t="";if(o.is("$text")||o.is("$textProxy"))t=o.data;else if(o.is("element","img")&&o.hasAttribute("alt"))t=o.getAttribute("alt");else if(o.is("element","br"))t="\n";else{let e=null;for(const n of o.getChildren()){const i=ym(n);e&&(e.is("containerElement")||n.is("containerElement"))&&(vm.includes(e.name)||vm.includes(n.name)?t+="\n":t+="\n\n"),t+=i,e=n}}return t}class an extends q{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(Ch),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{"paste"!=s.method||t.model.canEditAt(t.model.document.selection)||r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let u="";a.getData("text/html")?u=a.getData("text/html").replace(/(\s+)<\/span>/g,(m,f)=>1==f.length?" ":f).replace(//g,""):a.getData("text/plain")&&(((l=(l=a.getData("text/plain")).replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/\t/g,"    ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||l.includes("
"))&&(l=`

${l}

`),u=l),c=this.editor.data.htmlProcessor.toView(u)}var l;const d=new G(this,"inputTransformation");this.fire(d,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),d.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const a=this.editor.data.toModel(s.content,"$clipboardHolder");0!=a.childCount&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:a,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,i=(r,s)=>{const a=s.dataTransfer;s.preventDefault();const c=t.data.toView(t.model.getSelectedContent(e.selection));n.fire("clipboardOutput",{dataTransfer:a,content:c,method:r.name})};this.listenTo(n,"copy",i,{priority:"low"}),this.listenTo(n,"cut",(r,s)=>{t.model.canEditAt(t.model.document.selection)?i(r,s):s.preventDefault()},{priority:"low"}),this.listenTo(n,"clipboardOutput",(r,s)=>{s.content.isEmpty||(s.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(s.content)),s.dataTransfer.setData("text/plain",ym(s.content))),"cut"==s.method&&t.model.deleteContent(e.selection)},{priority:"low"})}}class xm{constructor(t,e=20){this._batch=null,this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(n,i)=>{i.isLocal&&i.isUndoable&&i!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t=!1){this.isLocked&&!t||(this._batch=null,this._size=0)}}class wA extends st{constructor(t,e){super(t),this._buffer=new xm(t.model,e),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,i=t.text||"",r=i.length;let s=n.selection;if(t.selection?s=t.selection:t.range&&(s=e.createSelection(t.range)),!e.canEditAt(s))return;const a=t.resultRange;e.enqueueChange(this._buffer.batch,c=>{this._buffer.lock(),e.deleteContent(s),i&&e.insertContent(c.createText(i,n.selection.getAttributes()),s),a?c.setSelection(a):s.is("documentSelection")||c.setSelection(s),this._buffer.unlock(),this._buffer.input(r)})}}const Em=["insertText","insertReplacementText"];class _A extends fe{constructor(t){super(t),this.focusObserver=t.getObserver(Uc),x.isAndroid&&Em.push("insertCompositionText");const e=t.document;e.on("beforeinput",(n,i)=>{if(!this.isEnabled)return;const{data:r,targetRanges:s,inputType:a,domEvent:c}=i;if(!Em.includes(a))return;this.focusObserver.flush();const l=new G(e,"insertText");e.fire(l,new Zn(t,c,{text:r,selection:t.createSelection(s)})),l.stop.called&&n.stop()}),e.on("compositionend",(n,{data:i,domEvent:r})=>{this.isEnabled&&!x.isAndroid&&i&&e.fire("insertText",new Zn(t,r,{text:i,selection:e.selection}))},{priority:"lowest"})}observe(){}stopObserving(){}}class Dm extends q{static get pluginName(){return"Input"}init(){const t=this.editor,e=t.model,n=t.editing.view,i=e.document.selection;n.addObserver(_A);const r=new wA(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",r),t.commands.add("input",r),this.listenTo(n.document,"insertText",(s,a)=>{n.document.isComposing||a.preventDefault();const{text:c,selection:l,resultRange:d}=a,u=Array.from(l.getRanges()).map(f=>t.editing.mapper.toModelRange(f));let g=c;if(x.isAndroid){const f=Array.from(u[0].getItems()).reduce((w,v)=>w+(v.is("$textProxy")?v.data:""),"");f&&(f.length<=g.length?g.startsWith(f)&&(g=g.substring(f.length),u[0].start=u[0].start.getShiftedBy(f.length)):f.startsWith(g)&&(u[0].start=u[0].start.getShiftedBy(g.length),g=""))}const m={text:g,selection:e.createSelection(u)};d&&(m.resultRange=t.editing.mapper.toModelRange(d)),t.execute("insertText",m),n.scrollToTheSelection()}),x.isAndroid?this.listenTo(n.document,"keydown",(s,a)=>{!i.isCollapsed&&229==a.keyCode&&n.document.isComposing&&Sm(e,r)}):this.listenTo(n.document,"compositionstart",()=>{i.isCollapsed||Sm(e,r)})}}function Sm(o,t){if(!t.isEnabled)return;const e=t.buffer;e.lock(),o.enqueueChange(e.batch,()=>{o.deleteContent(o.document.selection)}),e.unlock()}class Tm extends st{constructor(t,e){super(t),this.direction=e,this._buffer=new xm(t.model,t.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const r=i.createSelection(t.selection||n.selection);if(!e.canEditAt(r))return;const s=t.sequence||1,a=r.isCollapsed;if(r.isCollapsed&&e.modifySelection(r,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(s))return void this._replaceEntireContentWithParagraph(i);if(this._shouldReplaceFirstBlockWithParagraph(r,s))return void this.editor.execute("paragraph",{selection:r});if(r.isCollapsed)return;let c=0;r.getFirstRange().getMinimalFlatRanges().forEach(l=>{c+=Yi(l.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))}),e.deleteContent(r,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),i.setSelection(r),this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n);if(!n.isCollapsed||!n.containsEntireContent(i)||!e.schema.checkChild(i,"paragraph"))return!1;const r=i.getChild(0);return!r||!r.is("element","paragraph")}_replaceEntireContentWithParagraph(t){const e=this.editor.model,i=e.schema.getLimitElement(e.document.selection),r=t.createElement("paragraph");t.remove(t.createRangeIn(i)),t.insert(r,i),t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||"backward"!=this.direction||!t.isCollapsed)return!1;const i=t.getFirstPosition(),r=n.schema.getLimitElement(i),s=r.getChild(0);return i.parent==s&&!!t.containsEntireContent(s)&&!!n.schema.checkChild(r,"paragraph")&&"paragraph"!=s.name}}const no="selection",Mi="backward",ks="forward",Mm={deleteContent:{unit:no,direction:Mi},deleteContentBackward:{unit:"codePoint",direction:Mi},deleteWordBackward:{unit:"word",direction:Mi},deleteHardLineBackward:{unit:no,direction:Mi},deleteSoftLineBackward:{unit:no,direction:Mi},deleteContentForward:{unit:"character",direction:ks},deleteWordForward:{unit:"word",direction:ks},deleteHardLineForward:{unit:no,direction:ks},deleteSoftLineForward:{unit:no,direction:ks}};class AA extends fe{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",()=>{n++}),e.on("keyup",()=>{n=0}),e.on("beforeinput",(i,r)=>{if(!this.isEnabled)return;const{targetRanges:s,domEvent:a,inputType:c}=r,l=Mm[c];if(!l)return;const d={direction:l.direction,unit:l.unit,sequence:n};d.unit==no&&(d.selectionToRemove=t.createSelection(s[0])),"deleteContentBackward"===c&&(x.isAndroid&&(d.sequence=1),function(g){if(1!=g.length||g[0].isCollapsed)return!1;const m=g[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let f=0;for(const{nextPosition:w}of m){if(w.parent.is("$text")){const v=w.parent.data,D=w.offset;if(Ar(v,D)||Cr(v,D)||Ia(v,D))continue;f++}else f++;if(f>1)return!0}return!1}(s)&&(d.unit=no,d.selectionToRemove=t.createSelection(s)));const u=new Qn(e,"delete",s[0]);e.fire(u,new Zn(t,a,d)),u.stop.called&&i.stop()}),x.isBlink&&function(i){const r=i.view,s=r.document;let a=null,c=!1;function l(u){return u==ct.backspace||u==ct.delete}function d(u){return u==ct.backspace?Mi:ks}s.on("keydown",(u,{keyCode:g})=>{a=g,c=!1}),s.on("keyup",(u,{keyCode:g,domEvent:m})=>{const f=s.selection,w=i.isEnabled&&g==a&&l(g)&&!f.isCollapsed&&!c;if(a=null,w){const v=f.getFirstRange(),D=new Qn(s,"delete",v),M={unit:no,direction:d(g),selectionToRemove:f};s.fire(D,new Zn(r,m,M))}}),s.on("beforeinput",(u,{inputType:g})=>{const m=Mm[g];l(a)&&m&&m.direction==d(a)&&(c=!0)},{priority:"high"}),s.on("beforeinput",(u,{inputType:g,data:m})=>{a==ct.delete&&"insertText"==g&&"\x7f"==m&&u.stop()},{priority:"high"})}(this)}observe(){}stopObserving(){}}class Mn extends q{static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.model.document;e.addObserver(AA),this._undoOnBackspace=!1;const r=new Tm(t,"forward");t.commands.add("deleteForward",r),t.commands.add("forwardDelete",r),t.commands.add("delete",new Tm(t,"backward")),this.listenTo(n,"delete",(s,a)=>{n.isComposing||a.preventDefault();const{direction:c,sequence:l,selectionToRemove:d,unit:u}=a,g="forward"===c?"deleteForward":"delete",m={sequence:l};if("selection"==u){const f=Array.from(d.getRanges()).map(w=>t.editing.mapper.toModelRange(w));m.selection=t.model.createSelection(f)}else m.unit=u;t.execute(g,m),e.scrollToTheSelection()},{priority:"low"}),this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",(s,a)=>{this._undoOnBackspace&&"backward"==a.direction&&1==a.sequence&&"codePoint"==a.unit&&(this._undoOnBackspace=!1,t.execute("undo"),a.preventDefault(),s.stop())},{context:"$capture"}),this.listenTo(i,"change",()=>{this._undoOnBackspace=!1}))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class CA extends q{static get requires(){return[Dm,Mn]}static get pluginName(){return"Typing"}}function Bm(o,t){let e=o.start;return{text:Array.from(o.getWalker({ignoreElementEnd:!1})).reduce((n,{item:i})=>i.is("$text")||i.is("$textProxy")?n+i.data:(e=t.createPositionAfter(i),""),""),range:t.createRange(e,o.end)}}class Nm extends(ht()){constructor(t,e){super(),this.model=t,this.testCallback=e,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))}),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model.document;this.listenTo(t.selection,"change:range",(e,{directChange:n})=>{n&&(t.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1))}),this.listenTo(t,"change:data",(e,n)=>{!n.isUndo&&n.isLocal&&this._evaluateTextBeforeSelection("data",{batch:n})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model,i=n.document.selection,r=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus),{text:s,range:a}=Bm(r,n),c=this.testCallback(s);if(!c&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!c,c){const l=Object.assign(e,{text:s,range:a});"object"==typeof c&&Object.assign(l,c),this.fire(`matched:${t}`,l)}}}class Pm extends q{constructor(t){super(t),this.attributes=new Set,this._overrideUid=null}static get pluginName(){return"TwoStepCaretMovement"}init(){const t=this.editor,i=t.locale,r=t.model.document.selection;this.listenTo(t.editing.view.document,"arrowKey",(s,a)=>{if(!r.isCollapsed||a.shiftKey||a.altKey||a.ctrlKey)return;const c=a.keyCode==ct.arrowright,l=a.keyCode==ct.arrowleft;if(!c&&!l)return;const d=i.contentLanguageDirection;let u=!1;u="ltr"===d&&c||"rtl"===d&&l?this._handleForwardMovement(a):this._handleBackwardMovement(a),!0===u&&s.stop()},{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(r,"change:range",(s,a)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!a.directChange&&il(r.getFirstPosition(),this.attributes)||this._restoreGravity())})}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model.document.selection,i=n.getFirstPosition();return!(this._isGravityOverridden||i.isAtStart&&vh(n,e)||!il(i,e)||(ol(t),this._overrideGravity(),0))}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return this._isGravityOverridden?(ol(t),this._restoreGravity(),yh(n,e,r),!0):r.isAtStart?!!vh(i,e)&&(ol(t),yh(n,e,r),!0):(a=e,!(!il(r.getShiftedBy(-1),a)||(r.isAtEnd&&!vh(i,e)&&il(r,e)?(ol(t),yh(n,e,r),0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),1))));var a}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.editor.model.change(t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null})}}function vh(o,t){for(const e of t)if(o.hasAttribute(e))return!0;return!1}function yh(o,t,e){const n=e.nodeBefore;o.change(i=>{if(n){const r=[],s=o.schema.isObject(n)&&o.schema.isInline(n);for(const[a,c]of n.getAttributes())!o.schema.checkAttribute("$text",a)||s&&!1===o.schema.getAttributeProperties(a).copyFromObject||r.push([a,c]);i.setSelectionAttribute(r)}else i.removeSelectionAttribute(t)})}function ol(o){o.preventDefault()}function il(o,t){const{nodeBefore:e,nodeAfter:n}=o;for(const i of t){const r=e?e.getAttribute(i):void 0;if((n?n.getAttribute(i):void 0)!==r)return!0}return!1}var Om=/[\\^$.*+?()[\]{}|]/g,vA=RegExp(Om.source);const zm={copyright:{from:"(c)",to:"\xa9"},registeredTrademark:{from:"(r)",to:"\xae"},trademark:{from:"(tm)",to:"\u2122"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"\xbd",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"\u2153",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"\u2154",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"\xbc",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"\xbe",null]},lessThanOrEqual:{from:"<=",to:"\u2264"},greaterThanOrEqual:{from:">=",to:"\u2265"},notEqual:{from:"!=",to:"\u2260"},arrowLeft:{from:"<-",to:"\u2190"},arrowRight:{from:"->",to:"\u2192"},horizontalEllipsis:{from:"...",to:"\u2026"},enDash:{from:/(^| )(--)( )$/,to:[null,"\u2013",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"\u2014",null]},quotesPrimary:{from:Bi('"'),to:[null,"\u201c",null,"\u201d"]},quotesSecondary:{from:Bi("'"),to:[null,"\u2018",null,"\u2019"]},quotesPrimaryEnGb:{from:Bi("'"),to:[null,"\u2018",null,"\u2019"]},quotesSecondaryEnGb:{from:Bi('"'),to:[null,"\u201c",null,"\u201d"]},quotesPrimaryPl:{from:Bi('"'),to:[null,"\u201e",null,"\u201d"]},quotesSecondaryPl:{from:Bi("'"),to:[null,"\u201a",null,"\u2019"]}},Lm={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},xA=["symbols","mathematical","typography","quotes"];function EA(o){return"string"==typeof o?new RegExp(`(${function(o){return(o=Ur(o))&&vA.test(o)?o.replace(Om,"\\$&"):o}(o)})$`):o}function DA(o){return"string"==typeof o?()=>[o]:o instanceof Array?()=>o:o}function SA(o){return(o.textNode?o.textNode:o.nodeAfter).getAttributes()}function Bi(o){return new RegExp(`(^|\\s)(${o})([^${o}]*)(${o})$`)}function Ni(o,t,e,n){return n.createRange(jm(o,t,e,!0,n),jm(o,t,e,!1,n))}function jm(o,t,e,n,i){let r=o.textNode||(n?o.nodeBefore:o.nodeAfter),s=null;for(;r&&r.getAttribute(t)==e;)s=r,r=n?r.previousSibling:r.nextSibling;return s?i.createPositionAt(s,n?"before":"after"):o}function*Rm(o,t){for(const e of t)e&&o.getAttributeProperties(e[0]).copyOnEnter&&(yield e)}class TA extends st{execute(){this.editor.model.change(t=>{this.enterBlock(t),this.fire("afterExecute",{writer:t})})}enterBlock(t){const e=this.editor.model,n=e.document.selection,i=e.schema,r=n.isCollapsed,s=n.getFirstRange(),a=s.start.parent,c=s.end.parent;if(i.isLimit(a)||i.isLimit(c))return r||a!=c||e.deleteContent(n),!1;if(r){const l=Rm(t.model.schema,n.getAttributes());return Fm(t,s.start),t.setSelectionAttribute(l),!0}{const l=!(s.start.isAtStart&&s.end.isAtEnd),d=a==c;if(e.deleteContent(n,{leaveUnmerged:l}),l){if(d)return Fm(t,n.focus),!0;t.setSelection(c,0)}}return!1}}function Fm(o,t){o.split(t),o.setSelection(t.parent.nextSibling,0)}const IA={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class Vm extends fe{constructor(t){super(t);const e=this.document;let n=!1;e.on("keydown",(i,r)=>{n=r.shiftKey}),e.on("beforeinput",(i,r)=>{if(!this.isEnabled)return;let s=r.inputType;x.isSafari&&n&&"insertParagraph"==s&&(s="insertLineBreak");const a=r.domEvent,c=IA[s];if(!c)return;const l=new Qn(e,"enter",r.targetRanges[0]);e.fire(l,new Zn(t,a,{isSoft:c.isSoft})),l.stop.called&&i.stop()})}observe(){}stopObserving(){}}class rl extends q{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(Vm),t.commands.add("enter",new TA(t)),this.listenTo(n,"enter",(i,r)=>{n.isComposing||r.preventDefault(),r.isSoft||(t.execute("enter"),e.scrollToTheSelection())},{priority:"low"})}}class MA extends st{execute(){const t=this.editor.model,e=t.document;t.change(n=>{(function(i,r,s){const a=s.isCollapsed,c=s.getFirstRange(),d=c.end.parent,u=c.start.parent==d;if(a){const g=Rm(i.schema,s.getAttributes());Um(i,r,c.end),r.removeSelectionAttribute(s.getAttributeKeys()),r.setSelectionAttribute(g)}else{const g=!(c.start.isAtStart&&c.end.isAtEnd);i.deleteContent(s,{leaveUnmerged:g}),u?Um(i,r,s.focus):g&&r.setSelection(d,0)}})(t,n,e.selection),this.fire("afterExecute",{writer:n})})}refresh(){const t=this.editor.model;this.isEnabled=function(n,i){if(i.rangeCount>1)return!1;const r=i.anchor;if(!r||!n.checkChild(r,"softBreak"))return!1;const s=i.getFirstRange(),a=s.start.parent,c=s.end.parent;return!((xh(a,n)||xh(c,n))&&a!==c)}(t.schema,t.document.selection)}}function Um(o,t,e){const n=t.createElement("softBreak");o.insertContent(n,e),t.setSelection(n,"after")}function xh(o,t){return!o.is("rootElement")&&(t.isLimit(o)||xh(o.parent,t))}class BA extends q{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,n=t.conversion,i=t.editing.view,r=i.document;t.model.schema.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(s,{writer:a})=>a.createEmptyElement("br")}),i.addObserver(Vm),t.commands.add("shiftEnter",new MA(t)),this.listenTo(r,"enter",(s,a)=>{r.isComposing||a.preventDefault(),a.isSoft&&(t.execute("shiftEnter"),i.scrollToTheSelection())},{priority:"low"})}}class NA extends(mt()){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i===r||Eh(i,r)||this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i===r||Eh(i,r)||this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Eh(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&PA(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Eh(o,t){return o&&t&&o.priority==t.priority&&sl(o.classes)==sl(t.classes)}function PA(o,t){return o.priority>t.priority||!(o.prioritysl(t.classes)}function sl(o){return Array.isArray(o)?o.sort().join(","):o}const OA='',zA="ck-widget",Hm="ck-widget_selected";function Ot(o){return!!o.is("element")&&!!o.getCustomProperty("widget")}function Dh(o,t,e={}){if(!o.is("containerElement"))throw new S("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(zA,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=RA,t.setCustomProperty("widgetLabel",[],o),e.label&&(i=e.label,o.getCustomProperty("widgetLabel").push(i)),e.hasSelectionHandle&&function(n,i){const r=i.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(s){const a=this.toDomElement(s),c=new An;return c.set("content",OA),c.render(),a.appendChild(c.element),a});i.insert(i.createPositionAt(n,0),r),i.addClass(["ck-widget_with-selection-handle"],n)}(o,t),Gm(o,t),o;var i}function LA(o,t,e){if(t.classes&&e.addClass(Ht(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function jA(o,t,e){if(t.classes&&e.removeClass(Ht(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function Gm(o,t,e=LA,n=jA){const i=new NA;i.on("change:top",(r,s)=>{s.oldDescriptor&&n(o,s.oldDescriptor,s.writer),s.newDescriptor&&e(o,s.newDescriptor,s.writer)}),t.setCustomProperty("addHighlight",(r,s,a)=>i.add(s,a),o),t.setCustomProperty("removeHighlight",(r,s,a)=>i.remove(s,a),o)}function qm(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),Gm(o,t),o}function Wm(o,t){const e=o.getSelectedElement();if(e){const n=oo(o);if(n)return t.createRange(t.createPositionAt(e,n))}return vp(o,t)}function RA(){return null}const Bn="widget-type-around";function No(o,t,e){return!!o&&Ot(o)&&!e.isInline(t)}function oo(o){return o.getAttribute(Bn)}var $m=H(4921);K()($m.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const Ym=["before","after"],VA=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,Km="ck-widget__type-around_disabled";class UA extends q{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[rl,Mn]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(Km,a):s.addClass(Km,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Bn)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=oo(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&No(c,s.item,e)&&(function(l,d,u){const g=l.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(m){const f=this.toDomElement(m);return function(w,v){for(const D of Ym){const M=new Ee({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${D}`],title:v[D],"aria-hidden":"true"},children:[w.ownerDocument.importNode(VA,!0)]});w.appendChild(M.render())}}(f,d),function(w){const v=new Ee({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});w.appendChild(v.render())}(f),f});l.insert(l.createPositionAt(u,"end"),g)}(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema;function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}this._listenToIfEnabled(t.editing.view.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Ot,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Bn)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();a&&No(t.editing.mapper.toViewElement(a),a,i)||t.model.change(c=>{c.removeSelectionAttribute(Bn)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const f=l.mapper.toViewElement(this._currentFakeCaretModelElement);f&&(d.removeClass(Ym.map(s),f),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const g=l.mapper.toViewElement(u);if(!No(g,u,i))return;const m=oo(c.selection);m&&(d.addClass(s(m),g),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Bn)})})}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=function(u,g){const m=fo(u,g);return"down"===m||"right"===m}(e.keyCode,n.locale.contentLanguageDirection),l=a.document.selection.getSelectedElement();let d;No(l,n.editing.mapper.toModelElement(l),s)?d=this._handleArrowKeyPressOnSelectedWidget(c):r.isCollapsed?d=this._handleArrowKeyPressWhenSelectionNextToAWidget(c):e.shiftKey||(d=this._handleArrowKeyPressWhenNonCollapsedSelection(c)),d&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=oo(e.document.selection);return e.change(i=>n?n!==(t?"after":"before")&&(i.removeSelectionAttribute(Bn),!0):(i.setSelectionAttribute(Bn,t?"after":"before"),!0))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t);return!!No(e.editing.mapper.toViewElement(s),s,i)&&(n.change(a=>{r._setSelectionOverElement(s),a.setSelectionAttribute(Bn,t?"before":"after")}),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter;return!!No(r.toViewElement(a),a,i)&&(n.change(c=>{c.setSelection(a,"on"),c.setSelectionAttribute(Bn,t?"after":"before")}),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=i.domTarget.closest(".ck-widget__type-around__button");if(!r)return;const s=r.classList.contains("ck-widget__type-around__button_before")?"before":"after",a=function(l,d){const u=l.closest(".ck-widget");return d.mapDomToView(u)}(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection;this._listenToIfEnabled(t.editing.view.document,"enter",(i,r)=>{if("atTarget"!=i.eventPhase)return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:No(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Ot})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",(e,n)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(n.selection=t.selection)},{priority:"high"}),x.isAndroid?this._listenToIfEnabled(t,"keydown",(e,n)=>{229==n.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(t,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,n=t.model,i=n.schema;this._listenToIfEnabled(t.editing.view.document,"delete",(r,s)=>{if("atTarget"!=r.eventPhase)return;const a=oo(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d="forward"==c;if("before"===a===d)t.execute("delete",{selection:n.createSelection(l,"on")});else{const u=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(u)if(u.isCollapsed){const g=n.createSelection(u.start);if(n.modifySelection(g,{direction:c}),g.focus.isEqual(u.start)){const m=function(f,w){let v=w;for(const D of w.getAncestors({parentFirst:!0})){if(D.childCount>1||f.isLimit(D))break;v=D}return v}(i,u.start.parent);n.deleteContent(n.createSelection(m,"on"),{doNotAutoparagraph:!0})}else n.change(m=>{m.setSelection(u),t.execute(d?"deleteForward":"delete")})}else n.change(g=>{g.setSelection(u),t.execute(d?"deleteForward":"delete")})}s.preventDefault(),r.stop()},{context:Ot})}_enableInsertContentIntegration(){const e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(this.editor.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=oo(n);return a?(i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),g=e.insertContent(r,u);return c.setSelection(u),g})):void 0},{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor.model.document.selection;this._listenToIfEnabled(this.editor.model,"insertObject",(n,i)=>{const[,r,s={}]=i;if(r&&!r.is("documentSelection"))return;const a=oo(e);a&&(s.findOptimalPosition=a,i[3]=s)},{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor.model.document.selection;this._listenToIfEnabled(this.editor.model,"deleteContent",(n,[i])=>{i&&!i.is("documentSelection")||oo(e)&&n.stop()},{priority:"high"})}}function Qm(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r="forward"==e?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Zm(o,t,e){const n="backward"==e?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}var Jm=H(3488);K()(Jm.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class bs extends q{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[UA,Mn]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);var u;Ot(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:(u=d,u.getCustomProperty("widgetLabel").reduce((g,m)=>"function"==typeof m?g?g+". "+m():m():g?g+". "+m:m,""))})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const g=u.item;Ot(g)&&!qA(g,l)&&(a.addClass(Hm,g),this._previouslySelected.add(g),l=g)}},{priority:"low"}),e.addObserver(nh),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Ot,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",function HA(o){const t=o.model;return(e,n)=>{const r=n.keyCode==ct.arrowdown,s=n.shiftKey,a=t.document.selection;if(n.keyCode!=ct.arrowup&&!r)return;const c=r;if(s&&!(d=a).isCollapsed&&d.isBackward==c)return;var d;const l=function(d,u,g){const m=d.model;if(g){const f=u.isCollapsed?u.focus:u.getLastPosition(),w=Qm(m,f,"forward");if(!w)return null;const v=m.createRange(f,w),D=Zm(m.schema,v,"backward");return D?m.createRange(f,D):null}{const f=u.isCollapsed?u.focus:u.getFirstPosition(),w=Qm(m,f,"backward");if(!w)return null;const v=m.createRange(w,f),D=Zm(m.schema,v,"forward");return D?m.createRange(D,f):null}}(o,a,c);if(l){if(l.isCollapsed&&(a.isCollapsed||s))return;(l.isCollapsed||function(d,u,g){const m=d.model,f=d.view.domConverter;if(g){const R=m.createSelection(u.start);m.modifySelection(R),R.focus.isAtEnd||u.start.isEqual(R.focus)||(u=m.createRange(R.focus,u.end))}const w=d.mapper.toViewRange(u),v=f.viewRangeToDom(w),D=ft.getDomRangeRects(v);let M;for(const R of D)if(void 0!==M){if(Math.round(R.top)>=M)return!1;M=Math.max(M,Math.round(R.bottom))}else M=Math.round(R.bottom);return!0}(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const g=t.createSelection(a.anchor);g.setFocus(u),d.setSelection(g)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete("forward"==r.direction)&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(function(c){let l=c;for(;l;){if(l.is("editableElement")&&!l.is("rootElement"))return!0;if(Ot(l))return!1;l=l.parent}return!1}(s)){if((x.isSafari||x.isGecko)&&e.domEvent.detail>=3){const c=n.editing.mapper,l=s.is("attributeElement")?s.findAncestor(u=>!u.is("attributeElement")):s,d=c.toModelElement(l);e.preventDefault(),this.editor.model.change(u=>{u.setSelection(d,"in")})}return}if(!Ot(s)&&(s=s.findAncestor(Ot),!s))return;x.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=fo(n,this.editor.locale.contentLanguageDirection),l="down"==c||"right"==c,d="up"==c||"down"==c;if(a&&r.isObject(a)){const g=l?s.getLastPosition():s.getFirstPosition(),m=r.getNearestSelectionRange(g,l?"forward":"backward");return void(m&&(i.change(f=>{f.setSelection(m)}),e.preventDefault(),t.stop()))}if(!s.isCollapsed&&!e.shiftKey){const g=s.getFirstPosition(),m=s.getLastPosition(),f=g.nodeAfter,w=m.nodeBefore;return void((f&&r.isObject(f)||w&&r.isObject(w))&&(i.change(v=>{v.setSelection(l?m:g)}),e.preventDefault(),t.stop()))}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const e=this.editor.model.document.selection;if(!this.editor.model.canEditAt(e)||!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change(i=>{let r=e.anchor.parent;for(;r.isEmpty;){const s=r;r=s.parent,i.remove(s)}this._setSelectionOverElement(n)}),!0):void 0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Hm,e);this._previouslySelected.clear()}}function qA(o,t){return!!t&&Array.from(o.getAncestors()).includes(t)}class al extends q{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[Xc]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{(function(i){const r=i.getSelectedElement();return!(!r||!Ot(r))})(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length)return void Q("widget-toolbar-no-items",{toolbarId:t});const s=this.editor,a=s.t,c=new ih(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new S("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&r)if(this.editor.ui.focusTracker.isFocused){const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}else this._isToolbarVisible(i)&&this._hideToolbar(i);else this._isToolbarInBalloon(i)&&this._hideToolbar(i)}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Xm(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:tf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Xm(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Xm(o,t){const e=o.plugins.get("ContextualBalloon"),n=tf(o,t);e.updatePosition(n)}function tf(o,t){const n=Ae.defaultPositions;return{target:o.editing.view.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}ht(),ht();var ef=H(8506);K()(ef.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var nf=H(903);K()(nf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class YA extends q{static get pluginName(){return"DragDrop"}static get requires(){return[an,bs]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=bh(n=>this._updateDropMarker(n),40),this._removeDropMarkerDelayed=_r(()=>this._removeDropMarker(),40),this._clearDraggableAttributesDelayed=_r(()=>this._clearDraggableAttributes(),40),t.plugins.has("DragDropExperimental")?this.forceDisabled("DragDropExperimental"):(e.addObserver(Ch),e.addObserver(nh),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),x.isAndroid&&this.forceDisabled("noAndroidSupport"))}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=e.document,i=t.editing.view,r=i.document;this.listenTo(r,"dragstart",(s,a)=>{const c=n.selection;if(a.target&&a.target.is("editableElement"))return void a.preventDefault();const l=a.target?sf(a.target):null;if(l){const m=t.editing.mapper.toModelElement(l);this._draggedRange=Ve.fromRange(e.createRangeOn(m)),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!r.selection.isCollapsed){const m=r.selection.getSelectedElement();m&&Ot(m)||(this._draggedRange=Ve.fromRange(c.getFirstRange()))}if(!this._draggedRange)return void a.preventDefault();this._draggingUid=J();const d=this.isEnabled&&t.model.canEditAt(this._draggedRange);a.dataTransfer.effectAllowed=d?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const u=e.createSelection(this._draggedRange.toRange()),g=t.data.toView(e.getSelectedContent(u));r.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:g,method:"dragstart"}),d||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(r,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&"move"==a.dataTransfer.dropEffect)},{priority:"low"}),this.listenTo(r,"dragenter",()=>{this.isEnabled&&i.focus()}),this.listenTo(r,"dragleave",()=>{this._removeDropMarkerDelayed()}),this.listenTo(r,"dragging",(s,a)=>{if(!this.isEnabled)return void(a.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const c=of(t,a.targetRanges,a.target);t.model.canEditAt(c)?(this._draggedRange||(a.dataTransfer.dropEffect="copy"),x.isGecko||("copy"==a.dataTransfer.effectAllowed?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),c&&this._updateDropMarkerThrottled(c)):a.dataTransfer.dropEffect="none"},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"clipboardInput",(n,i)=>{if("drop"!=i.method)return;const r=of(t,i.targetRanges,i.target);return this._removeDropMarker(),r&&t.model.canEditAt(r)?(this._draggedRange&&this._draggingUid!=i.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),"move"==rf(i.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(r,!0)?(this._finalizeDragging(!1),void n.stop()):void(i.targetRanges=[t.editing.mapper.toViewRange(r)])):(this._finalizeDragging(!1),void n.stop())},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(an);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||"drop"!==n.method)return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||"drop"!==n.method)return;const i="move"==rf(n.dataTransfer);this._finalizeDragging((!n.resultRange||!n.resultRange.isCollapsed)&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(x.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=sf(r.target);if(x.isBlink&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();if(!a||!Ot(a)){const c=n.selection.editableElement;c&&!c.isReadOnly&&(s=c)}}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{x.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_setupDropMarker(){const t=this.editor;t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return n.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(i){const r=this.toDomElement(i);return r.append("\u2060",i.createElement("span"),"\u2060"),r})}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_removeDropMarker(){const t=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_finalizeDragging(t){const e=this.editor,n=e.model;this._removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(t&&this.isEnabled&&n.deleteContent(n.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function of(o,t,e){const n=o.model,i=o.editing.mapper;let r=null;const s=t?t[0].start:null;if(e.is("uiElement")&&(e=e.parent),r=function(l,d){const u=l.model,g=l.editing.mapper;if(Ot(d))return u.createRangeOn(g.toModelElement(d));if(!d.is("editableElement")){const m=d.findAncestor(f=>Ot(f)||f.is("editableElement"));if(Ot(m))return u.createRangeOn(g.toModelElement(m))}return null}(o,e),r)return r;const a=function(l,d){const u=l.editing.mapper,g=l.editing.view,m=u.toModelElement(d);if(m)return m;const f=g.createPositionBefore(d),w=u.findMappedViewAncestor(f);return u.toModelElement(w)}(o,e),c=s?i.toModelPosition(s):null;return c?(r=function(l,d,u){const g=l.model;if(!g.schema.checkChild(u,"$block"))return null;const m=g.createPositionAt(u,0),f=d.path.slice(0,m.path.length),v=g.createPositionFromPath(d.root,f).nodeAfter;return v&&g.schema.isObject(v)?g.createRangeOn(v):null}(o,c,a),r||(r=n.schema.getNearestSelectionRange(c,x.isGecko?"forward":"backward"),r||function(l,d){const u=l.model;let g=d;for(;g;){if(u.schema.isObject(g))return u.createRangeOn(g);g=g.parent}return null}(o,c.parent))):function(l,d){const u=l.model,g=u.schema,m=u.createPositionAt(d,0);return g.getNearestSelectionRange(m,"forward")}(o,a)}function rf(o){return x.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function sf(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Ot);if(Ot(o))return o;const t=o.findAncestor(e=>Ot(e)||e.is("editableElement"));return Ot(t)?t:null}class KA extends q{static get pluginName(){return"PastePlainText"}static get requires(){return[an]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(Ch),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(an).on("contentInsertion",(a,c)=>{(s||function(l,d){if(l.childCount>1)return!1;const u=l.getChild(0);return!d.isObject(u)&&0==Array.from(u.getAttributeKeys()).length}(c.content,e.schema))&&e.change(l=>{const d=Array.from(r.getAttributes()).filter(([g])=>e.schema.getAttributeProperties(g).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const g of u.getItems())g.is("$textProxy")&&l.setAttributes(d,g)})})}}class af extends q{static get pluginName(){return"Clipboard"}static get requires(){return[an,YA,KA]}}bn("px");class QA extends st{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!cf(t.schema,n))do{if(n=n.parent,!n)return}while(!cf(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function cf(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const ZA=li("Ctrl+A");class JA extends q{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,e=t.editing.view.document;t.commands.add("selectAll",new QA(t)),this.listenTo(e,"keydown",(n,i)=>{_n(i)===ZA&&(t.execute("selectAll"),i.preventDefault())})}}class XA extends q{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new vt(e);return i.set({label:(0,e.t)("Select all"),icon:'',keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class tC extends q{static get requires(){return[JA,XA]}static get pluginName(){return"SelectAll"}}var eC=Object.defineProperty,lf=Object.getOwnPropertySymbols,nC=Object.prototype.hasOwnProperty,oC=Object.prototype.propertyIsEnumerable,df=(o,t,e)=>t in o?eC(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;class uf extends st{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]=((r,s)=>{for(var a in s||(s={}))nC.call(s,a)&&df(r,a,s[a]);if(lf)for(var a of lf(s))oC.call(s,a)&&df(r,a,s[a]);return r})({},n[1]);const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!rC(u,c));d.length&&(iC(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const c=Array.from(i.history.getOperations(s.baseVersion+1)),l=y_([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let d of l){const u=d.affectedSelectable;u&&!n.canEditAt(u)&&(d=new qt(d.baseVersion)),e.addOperation(d),n.applyOperation(d),i.history.setOperationAsUndone(s,d)}}}}function iC(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class sC extends uf{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class aC extends uf{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=this.editor.model.document.history.getOperations(t.batch.operations[t.batch.operations.length-1].baseVersion+1);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i),this._undo(t.batch,e)}),this.refresh()}}class cC extends q{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new sC(t),this._redoCommand=new aC(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}const hf='',gf='';class lC extends q{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?hf:gf,r="ltr"==e.uiLanguageDirection?gf:hf;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new vt(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class pf extends q{static get requires(){return[cC,lC]}static get pluginName(){return"Undo"}}class dC extends(ht()){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class He extends q{constructor(){super(...arguments),this.loaders=new ge,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[yp]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return Q("filerepository-no-upload-adapter"),null;const e=new mf(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof mf?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(yp);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class mf extends(ht()){constructor(t,e){super(),this.id=J(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new dC,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new S("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if("reading"!==this.status)throw this.status;return this.status="idle",t}).catch(t=>{throw"aborted"===t?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if("idle"!=this.status)throw new S("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw"aborted"===this.status?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==t?this._reader.abort():"uploading"==t&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch(()=>{}),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class uC extends at{constructor(t){super(t),this.buttonView=new vt(t),this._fileInputView=new hC(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.setTemplate({tag:"span",attributes:{class:"ck-file-dialog-button"},children:[this.buttonView,this._fileInputView]}),this.buttonView.on("execute",()=>{this._fileInputView.open()})}focus(){this.buttonView.focus()}}class hC extends at{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}const ff="ckCsrfToken";class pC{constructor(t,e,n){this.loader=t,this.url=e,this.t=n}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.url,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=(0,this.t)("Cannot upload file:")+` ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||!a.uploaded)return e(a&&a.error&&a.error.message?a.error.message:s);t({default:a.url})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=new FormData;e.append("upload",t),e.append("ckCsrfToken",function gC(){let o=function(n){n=n.toLowerCase();const i=document.cookie.split(";");for(const r of i){const s=r.split("=");if(decodeURIComponent(s[0].trim().toLowerCase())===n)return decodeURIComponent(s[1])}return null}(ff);var e;return o&&40==o.length||(o=function(n){let i="";const r=new Uint8Array(40);window.crypto.getRandomValues(r);for(let s=0;s.5?a.toUpperCase():a}return i}(),e=o,document.cookie=encodeURIComponent(ff)+"="+encodeURIComponent(e)+";path=/"),o}()),this.xhr.send(e)}}function io(o,t,e,n){let i,r=null;"function"==typeof n?i=n:(r=o.commands.get(n),i=()=>{o.execute(n)}),o.model.document.on("change:data",(s,a)=>{if(r&&!r.isEnabled||!t.isEnabled)return;const c=Lt(o.model.document.selection.getRanges());if(!c.isCollapsed||a.isUndo||!a.isLocal)return;const l=Array.from(o.model.document.differ.getChanges()),d=l[0];if(1!=l.length||"insert"!==d.type||"$text"!=d.name||1!=d.length)return;const u=d.position.parent;if(u.is("element","codeBlock")||u.is("element","listItem")&&"function"!=typeof n&&!["numberedList","bulletedList","todoList"].includes(n)||r&&!0===r.value)return;const g=u.getChild(0),m=o.model.createRangeOn(g);if(!m.containsRange(c)&&!c.end.isEqual(m.end))return;const f=e.exec(g.data.substr(0,c.end.offset));f&&o.model.enqueueChange(w=>{const v=w.createPositionAt(u,0),D=w.createPositionAt(u,f[0].length),M=new Ve(v,D);if(!1!==i({match:f})){w.remove(M);const R=o.model.document.selection.getFirstRange(),Y=w.createRangeIn(u);!u.isEmpty||Y.isEqual(R)||Y.containsRange(R,!0)||w.remove(u)}M.detach(),o.model.enqueueChange(()=>{o.plugins.get("Delete").requestUndoOnBackspace()})})})}function Pi(o,t,e,n){let i,r;e instanceof RegExp?i=e:r=e,r=r||(s=>{let a;const c=[],l=[];for(;null!==(a=i.exec(s))&&!(a&&a.length<4);){let{index:d,1:u,2:g,3:m}=a;d+=a[0].length-(u+g+m).length;const v=[d+u.length+g.length,d+u.length+g.length+m.length];c.push([d,d+u.length]),c.push(v),l.push([d+u.length,d+u.length+g.length])}return{remove:c,format:l}}),o.model.document.on("change:data",(s,a)=>{if(a.isUndo||!a.isLocal||!t.isEnabled)return;const c=o.model,l=c.document.selection;if(!l.isCollapsed)return;const d=Array.from(c.document.differ.getChanges()),u=d[0];if(1!=d.length||"insert"!==u.type||"$text"!=u.name||1!=u.length)return;const g=l.focus,m=g.parent,{text:f,range:w}=function(R,Y){let nt=R.start;return{text:Array.from(R.getItems()).reduce((lt,Yt)=>!Yt.is("$text")&&!Yt.is("$textProxy")||Yt.getAttribute("code")?(nt=Y.createPositionAfter(Yt),""):lt+Yt.data,""),range:Y.createRange(nt,R.end)}}(c.createRange(c.createPositionAt(m,0),g),c),v=r(f),D=bf(w.start,v.format,c),M=bf(w.start,v.remove,c);D.length&&M.length&&c.enqueueChange(R=>{if(!1!==n(R,D)){for(const Y of M.reverse())R.remove(Y);c.enqueueChange(()=>{o.plugins.get("Delete").requestUndoOnBackspace()})}})})}function bf(o,t,e){return t.filter(n=>void 0!==n[0]&&void 0!==n[1]).map(n=>e.createRange(o.getShiftedBy(n[0]),o.getShiftedBy(n[1])))}function cl(o,t){return(e,n)=>{if(!o.commands.get(t).isEnabled)return!1;const i=o.model.schema.getValidRanges(n,t);for(const r of i)e.setAttribute(t,!0,r);e.removeSelectionAttribute(t)}}class wf extends st{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,i=void 0===t.forceValue?!this.value:t.forceValue;e.change(r=>{if(n.isCollapsed)i?r.setSelectionAttribute(this.attributeKey,!0):r.removeSelectionAttribute(this.attributeKey);else{const s=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const a of s)i?r.setAttribute(this.attributeKey,i,a):r.removeAttribute(this.attributeKey,a)}})}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const i of n.getRanges())for(const r of i.getItems())if(e.checkAttribute(r,this.attributeKey))return r.hasAttribute(this.attributeKey);return!1}}const Oi="bold";class mC extends q{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Oi}),t.model.schema.setAttributeProperties(Oi,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Oi,view:"strong",upcastAlso:["b",e=>{const n=e.getStyle("font-weight");return n&&("bold"==n||Number(n)>=600)?{name:!0,styles:["font-weight"]}:null}]}),t.commands.add(Oi,new wf(t,Oi)),t.keystrokes.set("CTRL+B",Oi)}}const Sh="bold";class fC extends q{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Sh,n=>{const i=t.commands.get(Sh),r=new vt(n);return r.set({label:e("Bold"),icon:Rt.bold,keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute(Sh),t.editing.view.focus()}),r})}}var _f=H(8603);K()(_f.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const zi="italic";class bC extends q{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:zi}),t.model.schema.setAttributeProperties(zi,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:zi,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(zi,new wf(t,zi)),t.keystrokes.set("CTRL+I",zi)}}const Th="italic";class wC extends q{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Th,n=>{const i=t.commands.get(Th),r=new vt(n);return r.set({label:e("Italic"),icon:'',keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute(Th),t.editing.view.focus()}),r})}}class _C extends st{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,r=Array.from(e.document.selection.getSelectedBlocks()),s=void 0===t.forceValue?!this.value:t.forceValue;e.change(a=>{if(s){const c=r.filter(l=>ll(l)||Cf(n,l));this._applyQuote(a,c)}else this._removeQuote(a,r.filter(ll))})}_getValue(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!ll(t))}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.schema,n=Lt(this.editor.model.document.selection.getSelectedBlocks());return!!n&&Cf(e,n)}_removeQuote(t,e){Af(t,e).reverse().forEach(n=>{if(n.start.isAtStart&&n.end.isAtEnd)return void t.unwrap(n.start.parent);if(n.start.isAtStart){const r=t.createPositionBefore(n.start.parent);return void t.move(n,r)}n.end.isAtEnd||t.split(n.end);const i=t.createPositionAfter(n.end.parent);t.move(n,i)})}_applyQuote(t,e){const n=[];Af(t,e).reverse().forEach(i=>{let r=ll(i.start);r||(r=t.createElement("blockQuote"),t.wrap(i,r)),n.push(r)}),n.reverse().reduce((i,r)=>i.nextSibling==r?(t.merge(t.createPositionAfter(i)),i):r)}}function ll(o){return"blockQuote"==o.parent.name?o.parent:null}function Af(o,t){let e,n=0;const i=[];for(;n{const a=t.model.document.differ.getChanges();for(const c of a)if("insert"==c.type){const l=c.position.nodeAfter;if(!l)continue;if(l.is("element","blockQuote")&&l.isEmpty)return s.remove(l),!0;if(l.is("element","blockQuote")&&!e.checkChild(c.position,l))return s.unwrap(l),!0;if(l.is("element")){const d=s.createRangeIn(l);for(const u of d.getItems())if(u.is("element","blockQuote")&&!e.checkChild(s.createPositionBefore(u),u))return s.unwrap(u),!0}}else if("remove"==c.type){const l=c.position.parent;if(l.is("element","blockQuote")&&l.isEmpty)return s.remove(l),!0}return!1});const n=this.editor.editing.view.document,i=t.model.document.selection,r=t.commands.get("blockQuote");this.listenTo(n,"enter",(s,a)=>{!i.isCollapsed||!r.value||i.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),a.preventDefault(),s.stop())},{context:"blockquote"}),this.listenTo(n,"delete",(s,a)=>{if("backward"!=a.direction||!i.isCollapsed||!r.value)return;const c=i.getLastPosition().parent;c.isEmpty&&!c.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),a.preventDefault(),s.stop())},{context:"blockquote"})}}var vf=H(3062);K()(vf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class vC extends q{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("blockQuote",n=>{const i=t.commands.get("blockQuote"),r=new vt(n);return r.set({label:e("Block quote"),icon:Rt.quote,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("blockQuote"),t.editing.view.focus()}),r})}}class yC extends q{static get pluginName(){return"CKBoxUI"}afterInit(){const t=this.editor,e=t.commands.get("ckbox");if(!e)return;const n=t.t;t.ui.componentFactory.add("ckbox",i=>{const r=new vt(i);return r.set({label:n("Open file manager"),icon:'',tooltip:!0}),r.bind("isOn","isEnabled").to(e,"value","isEnabled"),r.on("execute",()=>{t.execute("ckbox")}),r})}}function yf(o){const t=[];let e=0;for(const i in o){const r=parseInt(i,10);isNaN(r)||(r>e&&(e=r),t.push(`${o[i]} ${i}w`))}const n=[{srcset:t.join(","),sizes:`(max-width: ${e}px) 100vw, ${e}px`,type:"image/webp"}];return{imageFallbackUrl:o.default,imageSources:n}}class xC extends st{constructor(t){super(t),this._chosenAssets=new Set,this._wrapper=null,this._initListeners()}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(){this.fire("ckbox:open")}_getValue(){return null!==this._wrapper}_checkEnabled(){const t=this.editor.commands.get("insertImage"),e=this.editor.commands.get("link");return!(!t.isEnabled&&!e.isEnabled)}_prepareOptions(){const t=this.editor.config.get("ckbox");return{theme:t.theme,language:t.language,tokenUrl:t.tokenUrl,serviceOrigin:t.serviceOrigin,dialog:{onClose:()=>this.fire("ckbox:close")},assets:{onChoose:e=>this.fire("ckbox:choose",e)}}}_initListeners(){const t=this.editor,e=t.model,n=!t.config.get("ckbox.ignoreDataId");this.on("ckbox",()=>{this.refresh()},{priority:"low"}),this.on("ckbox:open",()=>{!this.isEnabled||this.value||(this._wrapper=Es(document,"div",{class:"ck ckbox-wrapper"}),document.body.appendChild(this._wrapper),window.CKBox.mount(this._wrapper,this._prepareOptions()),xf(50))}),this.on("ckbox:close",()=>{this.value&&(this._wrapper.remove(),this._wrapper=null)}),this.on("ckbox:choose",(i,r)=>{if(!this.isEnabled)return;const s=t.commands.get("insertImage"),a=t.commands.get("link"),c=function({assets:l,isImageAllowed:d,isLinkAllowed:u}){return l.map(g=>function(m){const f=m.data.metadata;return!!f&&f.width&&f.height}(g)?{id:g.data.id,type:"image",attributes:EC(g)}:{id:g.data.id,type:"link",attributes:DC(g)}).filter(g=>"image"===g.type?d:u)}({assets:r,isImageAllowed:s.isEnabled,isLinkAllowed:a.isEnabled});0!==c.length&&e.change(l=>{for(const d of c)this._insertAsset(d,d===c[c.length-1],l),n&&(setTimeout(()=>this._chosenAssets.delete(d),1e3),this._chosenAssets.add(d))})}),this.listenTo(t,"destroy",()=>{this.fire("ckbox:close"),this._chosenAssets.clear()})}_insertAsset(t,e,n){const i=this.editor.model.document.selection;n.removeSelectionAttribute("linkHref"),"image"===t.type?this._insertImage(t):this._insertLink(t,n),e||n.setSelection(i.getLastPosition())}_insertImage(t){const e=this.editor,{imageFallbackUrl:n,imageSources:i,imageTextAlternative:r}=t.attributes;e.execute("insertImage",{source:{src:n,sources:i,alt:r}})}_insertLink(t,e){const n=this.editor,i=n.model,r=i.document.selection,{linkName:s,linkHref:a}=t.attributes;if(r.isCollapsed){const c=pe(r.getAttributes()),l=e.createText(s,c),d=i.insertContent(l);e.setSelection(d)}n.execute("link",a)}}function EC(o){const{imageFallbackUrl:t,imageSources:e}=yf(o.data.imageUrls);return{imageFallbackUrl:t,imageSources:e,imageTextAlternative:o.data.metadata.description||""}}function DC(o){return{linkName:o.data.name,linkHref:SC(o)}}function SC(o){const t=new URL(o.data.url);return t.searchParams.set("download","true"),t.toString()}function xf(o){setTimeout(()=>{if(0===o)return;const t=document.querySelector(".ckbox-gallery .ckbox-gallery-item"),e=document.querySelector(".ckbox-empty-view .ckbox-btn");e&&e instanceof HTMLElement?e.focus():t&&t instanceof HTMLElement?t.focus():xf(o-1)},100)}var Po=(o,t,e)=>new Promise((n,i)=>{var r=c=>{try{a(e.next(c))}catch(l){i(l)}},s=c=>{try{a(e.throw(c))}catch(l){i(l)}},a=c=>c.done?n(c.value):Promise.resolve(c.value).then(r,s);a((e=e.apply(o,t)).next())});class TC extends q{static get requires(){return["ImageUploadEditing","ImageUploadProgress",He,Ih]}static get pluginName(){return"CKBoxUploadAdapter"}afterInit(){return Po(this,null,function*(){const t=this.editor,e=!!t.config.get("ckbox"),n=!!window.CKBox;if(!e&&!n)return;const i=t.plugins.get(He),r=t.plugins.get(Ih);i.createUploadAdapter=c=>new IC(c,r.getToken(),t);const s=!t.config.get("ckbox.ignoreDataId"),a=t.plugins.get("ImageUploadEditing");s&&a.on("uploadComplete",(c,{imageElement:l,data:d})=>{t.model.change(u=>{u.setAttribute("ckboxImageId",d.ckboxImageId,l)})})})}}class IC{constructor(t,e,n){this.loader=t,this.token=e,this.editor=n,this.controller=new AbortController,this.serviceOrigin=n.config.get("ckbox.serviceOrigin")}getWorkspaceId(){const t=(0,this.editor.t)("Cannot access default workspace."),e=this.editor.config.get("ckbox.defaultUploadWorkspaceId"),n=function(i,r){const[,s]=i.value.split("."),a=JSON.parse(atob(s)),c=a.auth&&a.auth.ckbox&&a.auth.ckbox.workspaces||[a.aud];return r?"superadmin"==(a.auth&&a.auth.ckbox&&a.auth.ckbox.role)||c.includes(r)?r:null:c[0]}(this.token,e);if(null==n)throw dt("ckbox-access-default-workspace-error"),t;return n}getAvailableCategories(t=0){return Po(this,null,function*(){const e=new URL("categories",this.serviceOrigin);return e.searchParams.set("limit",50..toString()),e.searchParams.set("offset",t.toString()),e.searchParams.set("workspaceId",this.getWorkspaceId()),this._sendHttpRequest({url:e}).then(n=>Po(this,null,function*(){if(n.totalCount-(t+50)>0){const i=yield this.getAvailableCategories(t+50);return[...n.items,...i]}return n.items})).catch(()=>{this.controller.signal.throwIfAborted(),dt("ckbox-fetch-category-http-error")})})}getCategoryIdForFile(t){return Po(this,null,function*(){const e=function(s){const a=new RegExp("\\.(?[^.]+)$");return s.match(a).groups.ext.toLowerCase()}(t.name),n=yield this.getAvailableCategories();if(!n)return null;const i=this.editor.config.get("ckbox.defaultUploadCategories");if(i){const s=Object.keys(i).find(a=>i[a].find(c=>c.toLowerCase()==e));if(s){const a=n.find(c=>c.id===s||c.name===s);return a?a.id:null}}const r=n.find(s=>s.extensions.find(a=>a.toLowerCase()==e));return r?r.id:null})}upload(){return Po(this,null,function*(){const t=this.editor.t,e=t("Cannot determine a category for the uploaded file."),n=yield this.loader.file,i=yield this.getCategoryIdForFile(n);if(!i)return Promise.reject(e);const r=new URL("assets",this.serviceOrigin),s=new FormData;return r.searchParams.set("workspaceId",this.getWorkspaceId()),s.append("categoryId",i),s.append("file",n),this._sendHttpRequest({method:"POST",url:r,data:s,onUploadProgress:c=>{c.lengthComputable&&(this.loader.uploadTotal=c.total,this.loader.uploaded=c.loaded)}}).then(c=>Po(this,null,function*(){const l=yf(c.imageUrls);return{ckboxImageId:c.id,default:l.imageFallbackUrl,sources:l.imageSources}})).catch(()=>{const c=t("Cannot upload file:")+` ${n.name}.`;return Promise.reject(c)})})}abort(){this.controller.abort()}_sendHttpRequest({url:t,method:e="GET",data:n,onUploadProgress:i}){const r=this.controller.signal,s=new XMLHttpRequest;s.open(e,t.toString(),!0),s.setRequestHeader("Authorization",this.token.value),s.setRequestHeader("CKBox-Version","CKEditor 5"),s.responseType="json";const a=()=>{s.abort()};return new Promise((c,l)=>{r.addEventListener("abort",a),s.addEventListener("loadstart",()=>{r.addEventListener("abort",a)}),s.addEventListener("loadend",()=>{r.removeEventListener("abort",a)}),s.addEventListener("error",()=>{l()}),s.addEventListener("abort",()=>{l()}),s.addEventListener("load",()=>Po(this,null,function*(){const d=s.response;return!d||d.statusCode>=400?l(d&&d.message):c(d)})),i&&s.upload.addEventListener("progress",d=>{i(d)}),s.send(n)})}}class Ih extends q{static get pluginName(){return"CKBoxEditing"}static get requires(){return["CloudServices","LinkEditing","PictureEditing",TC]}init(){return t=this,n=function*(){const i=this.editor,r=!!i.config.get("ckbox"),s=!!window.CKBox;if(!r&&!s)return;this._initConfig();const a=i.plugins.get("CloudServicesCore"),c=i.config.get("ckbox.tokenUrl");if(c===i.config.get("cloudServices.tokenUrl")){const l=i.plugins.get("CloudServices");this._token=l.token}else this._token=yield a.createToken(c).init();i.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()),s&&i.commands.add("ckbox",new xC(i))},new Promise((i,r)=>{var s=l=>{try{c(n.next(l))}catch(d){r(d)}},a=l=>{try{c(n.throw(l))}catch(d){r(d)}},c=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,a);c((n=n.apply(t,null)).next())});var t,n}getToken(){return this._token}_initConfig(){const t=this.editor;if(t.config.define("ckbox",{serviceOrigin:"https://api.ckbox.io",defaultUploadCategories:null,ignoreDataId:!1,language:t.locale.uiLanguage,theme:"default",tokenUrl:t.config.get("cloudServices.tokenUrl")}),!t.config.get("ckbox.tokenUrl"))throw new S("ckbox-plugin-missing-token-url",this);t.plugins.has("ImageBlockEditing")||t.plugins.has("ImageInlineEditing")||dt("ckbox-plugin-image-feature-missing",t)}_initSchema(){const t=this.editor.model.schema;t.extend("$text",{allowAttributes:"ckboxLinkId"}),t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),t.addAttributeCheck((e,n)=>{if(!e.last.getAttribute("linkHref")&&"ckboxLinkId"===n)return!1})}_initConversion(){const t=this.editor;t.conversion.for("downcast").add(e=>{e.on("attribute:ckboxLinkId:imageBlock",(n,i,r)=>{const{writer:s,mapper:a,consumable:c}=r;if(!c.consume(i.item,n.name))return;const l=[...a.toViewElement(i.item).getChildren()].find(d=>"a"===d.name);l&&(i.item.hasAttribute("ckboxLinkId")?s.setAttribute("data-ckbox-resource-id",i.item.getAttribute("ckboxLinkId"),l):s.removeAttribute("data-ckbox-resource-id",l))},{priority:"low"}),e.on("attribute:ckboxLinkId",(n,i,r)=>{const{writer:s,mapper:a,consumable:c}=r;if(c.consume(i.item,n.name)){if(i.attributeOldValue){const l=Ef(s,i.attributeOldValue);s.unwrap(a.toViewRange(i.range),l)}if(i.attributeNewValue){const l=Ef(s,i.attributeNewValue);i.item.is("selection")?s.wrap(s.document.selection.getFirstRange(),l):s.wrap(a.toViewRange(i.range),l)}}},{priority:"low"})}),t.conversion.for("upcast").add(e=>{e.on("element:a",(n,i,r)=>{const{writer:s,consumable:a}=r;if(!i.viewItem.getAttribute("href")||!a.consume(i.viewItem,{attributes:["data-ckbox-resource-id"]}))return;const c=i.viewItem.getAttribute("data-ckbox-resource-id");if(c)if(i.modelRange)for(let l of i.modelRange.getItems())l.is("$textProxy")&&(l=l.textNode),BC(l)&&s.setAttribute("ckboxLinkId",c,l);else s.setAttribute("ckboxLinkId",c,i.modelCursor.nodeBefore||i.modelCursor.parent)},{priority:"low"})}),t.conversion.for("downcast").attributeToAttribute({model:"ckboxImageId",view:"data-ckbox-resource-id"}),t.conversion.for("upcast").elementToAttribute({model:{key:"ckboxImageId",value:e=>e.getAttribute("data-ckbox-resource-id")},view:{attributes:{"data-ckbox-resource-id":/[\s\S]+/}}})}_initFixers(){const t=this.editor,e=t.model,n=e.document.selection;var i;e.document.registerPostFixer((i=t,r=>{let s=!1;const a=i.model,c=i.commands.get("ckbox");if(!c)return s;for(const l of a.document.differ.getChanges()){if("insert"!==l.type&&"attribute"!==l.type)continue;const d="insert"===l.type?new L(l.position,l.position.getShiftedBy(l.length)):l.range,u="attribute"===l.type&&"linkHref"===l.attributeKey&&null===l.attributeNewValue;for(const g of d.getItems()){if(u&&g.hasAttribute("ckboxLinkId")){r.removeAttribute("ckboxLinkId",g),s=!0;continue}const m=MC(g,c._chosenAssets);for(const f of m){const w="image"===f.type?"ckboxImageId":"ckboxLinkId";f.id!==g.getAttribute(w)&&(r.setAttribute(w,f.id,g),s=!0)}}}return s})),e.document.registerPostFixer(function(i){return r=>!(i.hasAttribute("linkHref")||!i.hasAttribute("ckboxLinkId")||(r.removeSelectionAttribute("ckboxLinkId"),0))}(n))}}function MC(o,t){const e=o.is("element","imageInline")||o.is("element","imageBlock"),n=o.hasAttribute("linkHref");return[...t].filter(i=>"image"===i.type&&e?i.attributes.imageFallbackUrl===o.getAttribute("src"):"link"===i.type&&n?i.attributes.linkHref===o.getAttribute("linkHref"):void 0)}function Ef(o,t){const e=o.createAttributeElement("a",{"data-ckbox-resource-id":t},{priority:5});return o.setCustomProperty("link",!0,e),e}function BC(o){return!!o.is("$text")||!(!o.is("element","imageInline")&&!o.is("element","imageBlock"))}class NC extends q{static get pluginName(){return"CKFinderUI"}init(){const t=this.editor,n=t.t;t.ui.componentFactory.add("ckfinder",i=>{const r=t.commands.get("ckfinder"),s=new vt(i);return s.set({label:n("Insert image or file"),icon:'',tooltip:!0}),s.bind("isEnabled").to(r),s.on("execute",()=>{t.execute("ckfinder"),t.editing.view.focus()}),s})}}class PC extends st{constructor(t){super(t),this.affectsData=!1,this.stopListening(this.editor.model.document,"change"),this.listenTo(this.editor.model.document,"change",()=>this.refresh(),{priority:"low"})}refresh(){const t=this.editor.commands.get("insertImage"),e=this.editor.commands.get("link");this.isEnabled=t.isEnabled||e.isEnabled}execute(){const t=this.editor,e=this.editor.config.get("ckfinder.openerMethod")||"modal";if("popup"!=e&&"modal"!=e)throw new S("ckfinder-unknown-openermethod",t);const n=this.editor.config.get("ckfinder.options")||{};n.chooseFiles=!0;const i=n.onInit;n.language||(n.language=t.locale.uiLanguage),n.onInit=r=>{i&&i(r),r.on("files:choose",s=>{const a=s.data.files.toArray(),c=a.filter(u=>!u.isImage()),l=a.filter(u=>u.isImage());for(const u of c)t.execute("link",u.getUrl());const d=[];for(const u of l){const g=u.getUrl();d.push(g||r.request("file:getProxyUrl",{file:u}))}d.length&&Df(t,d)}),r.on("file:choose:resizedImage",s=>{const a=s.data.resizedUrl;if(a)Df(t,[a]);else{const c=t.plugins.get("Notification"),l=t.locale.t;c.showWarning(l("Could not obtain resized image URL."),{title:l("Selecting resized image failed"),namespace:"ckfinder"})}})},window.CKFinder[e](n)}}function Df(o,t){if(o.commands.get("insertImage").isEnabled)o.execute("insertImage",{source:t});else{const e=o.plugins.get("Notification"),n=o.locale.t;e.showWarning(n("Could not insert image at the current position."),{title:n("Inserting image failed"),namespace:"ckfinder"})}}class OC extends q{static get pluginName(){return"CKFinderEditing"}static get requires(){return[wh,"LinkEditing"]}init(){const t=this.editor;if(!t.plugins.has("ImageBlockEditing")&&!t.plugins.has("ImageInlineEditing"))throw new S("ckfinder-missing-image-plugin",t);t.commands.add("ckfinder",new PC(t))}}class zC extends q{static get pluginName(){return"CloudServicesUploadAdapter"}static get requires(){return["CloudServices",He]}init(){const t=this.editor,e=t.plugins.get("CloudServices"),n=e.token,i=e.uploadUrl;if(!n)return;const r=t.plugins.get("CloudServicesCore");this._uploadGateway=r.createUploadGateway(n,i),t.plugins.get(He).createUploadAdapter=s=>new LC(this._uploadGateway,s)}}class LC{constructor(t,e){this.uploadGateway=t,this.loader=e}upload(){return this.loader.file.then(t=>(this.fileUploader=this.uploadGateway.upload(t),this.fileUploader.on("progress",(e,n)=>{this.loader.uploadTotal=n.total,this.loader.uploaded=n.uploaded}),this.fileUploader.send()))}abort(){this.fileUploader.abort()}}class jC extends st{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=Lt(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is("element","paragraph"),this.isEnabled=!!e&&Sf(e,t.schema)}execute(t={}){const e=this.editor.model,i=t.selection||e.document.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&Sf(a,e.schema)&&r.rename(a,"paragraph")})}}function Sf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class RC extends st{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}const Tf=class extends q{static get pluginName(){return"Paragraph"}init(){const o=this.editor,t=o.model;o.commands.add("paragraph",new jC(o)),o.commands.add("insertParagraph",new RC(o)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),o.conversion.elementToElement({model:"paragraph",view:"p"}),o.conversion.for("upcast").elementToElement({model:(e,{writer:n})=>Tf.paragraphLikeElements.has(e.name)?e.isEmpty?null:n.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}};let Mh=Tf;Mh.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class FC extends st{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>If(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>If(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function If(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const Mf="paragraph";class VC extends q{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Mh]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)"paragraph"!==i.model&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new FC(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(a=>s.is("element",a.model))&&!s.is("element",Mf)&&0===s.childCount&&r.writer.rename(s,Mf)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:rt.low+1})}}var Bf=H(8733);K()(Bf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class HC extends q{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=function(s){const a=s.t,c={Paragraph:a("Paragraph"),"Heading 1":a("Heading 1"),"Heading 2":a("Heading 2"),"Heading 3":a("Heading 3"),"Heading 4":a("Heading 4"),"Heading 5":a("Heading 5"),"Heading 6":a("Heading 6")};return s.config.get("heading.options").map(l=>{const d=c[l.title];return d&&d!=l.title&&(l.title=d),l})}(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new ge,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const m of n){const f={type:"button",model:new dm({label:m.title,class:m.class,role:"menuitemradio",withText:!0})};"paragraph"===m.model?(f.model.bind("isOn").to(d,"value"),f.model.set("commandName","paragraph"),u.push(d)):(f.model.bind("isOn").to(l,"value",w=>w===m.model),f.model.set({commandName:"heading",commandValue:m.model})),c.add(f),a[m.model]=m.title}const g=eo(s);return Np(g,c,{ariaLabel:r,role:"menu"}),g.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),g.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),g.bind("isEnabled").toMany(u,"isEnabled",(...m)=>m.some(f=>f)),g.buttonView.bind("label").to(l,"value",d,"value",(m,f)=>{const w=m||f&&"paragraph";return"boolean"==typeof w?i:a[w]?a[w]:i}),this.listenTo(g,"execute",m=>{const{commandName:f,commandValue:w}=m.source;t.execute(f,w?{value:w}:void 0),t.editing.view.focus()}),g})}}function Nf(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function Pf(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&("block"==r.getStyle("display")||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}(r):null}function Bh(o,t){const e=Lt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&"listItem"!=e.name?"imageBlock":"imageInline"}var GC=Object.defineProperty,Of=Object.getOwnPropertySymbols,qC=Object.prototype.hasOwnProperty,WC=Object.prototype.propertyIsEnumerable,zf=(o,t,e)=>t in o?GC(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,Lf=(o,t)=>{for(var e in t||(t={}))qC.call(t,e)&&zf(o,e,t[e]);if(Of)for(var e of Of(t))WC.call(t,e)&&zf(o,e,t[e]);return o};class Ge extends q{static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null){const i=this.editor,r=i.model,s=r.document.selection;n=jf(i,e||s,n),t=Lf(Lf({},Object.fromEntries(s.getAttributes())),t);for(const a in t)r.schema.checkAttribute(n,a)||delete t[a];return r.change(a=>{const c=a.createElement(n,t);return r.insertObject(c,e,null,{setSelection:"on",findOptimalPosition:e||"imageInline"==n?void 0:"auto"}),c.parent?c:null})}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const t=this.editor.model.document.selection;return function(e,n){if("imageBlock"==jf(e,n,null)){const r=function(s,a){const l=Wm(s,a).start.parent;return l.isEmpty&&!l.is("element","$root")?l.parent:l}(n,e.model);if(e.model.schema.checkChild(r,"imageBlock"))return!0}else if(e.model.schema.checkChild(n.focus,"imageInline"))return!0;return!1}(this.editor,t)&&[...t.focus.getAncestors()].every(n=>!n.is("element","imageBlock"))}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Dh(t,e,{label:()=>{const i=this.findViewImgElement(t).getAttribute("alt");return i?`${i} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Ot(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}}function jf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||("inline"===i?"imageInline":"block"===i?"imageBlock":t.is("selection")?Bh(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class $C extends st{refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.value=!(!this.isEnabled||!t.hasAttribute("alt"))&&t.getAttribute("alt")}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class YC extends q{static get requires(){return[Ge]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new $C(this.editor))}}var Rf=H(1905);K()(Rf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var Ff=H(6764);K()(Ff.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class ZC extends at{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new ce,this.keystrokes=new Me,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),Rt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),Rt.cancel,"ck-button-cancel","cancel"),this._focusables=new en,this._focusCycler=new Kn({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),this.keystrokes.listenTo(this.element),b({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new vt(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new _o(this.locale,ah);return e.label=t("Text alternative"),e}}function Vf(o){const t=o.editing.view,e=Ae.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class JC extends q{static get requires(){return[Xc]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new vt(n);return r.set({label:e("Change image text alternative"),icon:Rt.lowVision,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(P(ZC))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)}),this.listenTo(this._form,"cancel",()=>{this._hideForm(!0)}),this._form.keystrokes.set("Esc",(i,r)=>{this._hideForm(!0),r()}),this.listenTo(t.ui,"update",()=>{n.getClosestSelectedImageWidget(e.selection)?this._isVisible&&function(i){const r=i.plugins.get("ContextualBalloon");if(i.plugins.get("ImageUtils").getClosestSelectedImageWidget(i.editing.view.document.selection)){const s=Vf(i);r.updatePosition(s)}}(t):this._hideForm(!0)}),B({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Vf(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Uf extends q{static get requires(){return[YC,JC]}static get pluginName(){return"ImageTextAlternative"}}function Hf(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);if(null===i.attributeNewValue){const l=i.attributeOldValue;l&&l.data&&(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c),l.width&&s.removeAttribute("width",c))}else{const l=i.attributeNewValue;l&&l.data&&(s.setAttribute("srcset",l.data,c),s.setAttribute("sizes","100vw",c),l.width&&s.setAttribute("width",l.width,c))}};return n=>{n.on(`attribute:srcset:${t}`,e)}}function dl(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class XC extends fe{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||"IMG"==i.tagName&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}var tv=Object.defineProperty,Gf=Object.getOwnPropertySymbols,ev=Object.prototype.hasOwnProperty,nv=Object.prototype.propertyIsEnumerable,qf=(o,t,e)=>t in o?tv(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,ul=(o,t)=>{for(var e in t||(t={}))ev.call(t,e)&&qf(o,e,t[e]);if(Gf)for(var e of Gf(t))nv.call(t,e)&&qf(o,e,t[e]);return o};class ov extends st{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||"block"===e&&Q("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||"inline"===e&&Q("image-inline-plugin-required")}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=Ht(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if("string"==typeof s&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage(ul(ul({},s),r),l)}else i.insertImage(ul(ul({},s),r))})}}class iv extends st{refresh(){const t=this.editor.plugins.get("ImageUtils"),e=this.editor.model.document.selection.getSelectedElement();this.isEnabled=t.isImage(e),this.value=this.isEnabled?e.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement();this.editor.model.change(n=>{n.setAttribute("src",t.source,e),n.removeAttribute("srcset",e),n.removeAttribute("sizes",e)})}}class Nh extends q{static get requires(){return[Ge]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(XC),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:r=>{const s={data:r.getAttribute("srcset")};return r.hasAttribute("width")&&(s.width=r.getAttribute("width")),s}}});const n=new ov(t),i=new iv(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class Wf extends st{constructor(t,e){super(t),this._modelElementName=e}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=t.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled="imageBlock"===this._modelElementName?t.isInlineImage(e):t.isBlockImage(e)}execute(){const e=this.editor.model,n=this.editor.plugins.get("ImageUtils"),i=n.getClosestSelectedImageElement(e.document.selection),r=Object.fromEntries(i.getAttributes());return r.src||r.uploadId?e.change(s=>{const a=Array.from(e.markers).filter(d=>d.getRange().containsItem(i)),c=n.insertImage(r,e.createSelection(i,"on"),this._modelElementName);if(!c)return null;const l=s.createRangeOn(c);for(const d of a){const u=d.getRange(),g="$graveyard"!=u.root.rootName?u.getJoined(l,!0):l;s.updateMarker(d,{range:g})}return{oldElement:i,newElement:c}}):null}}class $f extends q{static get requires(){return[Nh,Ge,an]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new Wf(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>Nf(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(Nf(s),s,e("image widget"))}),n.for("downcast").add(dl(i,"imageBlock","src")).add(dl(i,"imageBlock","alt")).add(Hf(i,"imageBlock")),n.for("upcast").elementToElement({view:Pf(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(function(r){const s=(a,c,l)=>{if(!l.consumable.test(c.viewItem,{name:!0,classes:"image"}))return;const d=r.findViewImgElement(c.viewItem);if(!d||!l.consumable.test(d,{name:!0}))return;l.consumable.consume(c.viewItem,{name:!0,classes:"image"});const u=Lt(l.convertItem(d,c.modelCursor).modelRange.getItems());u?(l.convertChildren(c.viewItem,u),l.updateConversionResult(u,c)):l.consumable.revert(c.viewItem,{name:!0,classes:"image"})};return a=>{a.on("element:figure",s)}}(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;l=a.targetRanges?t.editing.mapper.toModelRange(a.targetRanges[0]):e.document.selection.getFirstRange();const d=e.createSelection(l);if("imageBlock"===Bh(e.schema,d)){const u=new Bo(n.document),g=c.map(m=>u.createElement("figure",{class:"image"},m));a.content=u.createDocumentFragment(g)}})}}var Yf=H(3508);K()(Yf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class sv extends q{static get requires(){return[$f,bs,Uf]}static get pluginName(){return"ImageBlock"}}class av extends q{static get requires(){return[Nh,Ge,an]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&"imageInline"===i.name)return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new Wf(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>{return i.toImageWidget((a=s).createContainerElement("span",{class:"image-inline"},a.createEmptyElement("img")),s,e("image widget"));var a}}),n.for("downcast").add(dl(i,"imageInline","src")).add(dl(i,"imageInline","alt")).add(Hf(i,"imageInline")),n.for("upcast").elementToElement({view:Pf(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;l=a.targetRanges?t.editing.mapper.toModelRange(a.targetRanges[0]):e.document.selection.getFirstRange();const d=e.createSelection(l);if("imageInline"===Bh(e.schema,d)){const u=new Bo(n.document),g=c.map(m=>1===m.childCount?(Array.from(m.getAttributes()).forEach(f=>u.setAttribute(...f,i.findViewImgElement(m))),m.getChild(0)):m);a.content=u.createDocumentFragment(g)}})}}class cv extends q{static get requires(){return[av,bs,Uf]}static get pluginName(){return"ImageInline"}}class Kf extends q{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ge]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}}class lv extends st{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has($f))return this.isEnabled=!1,void(this.value=!1);const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);return this.isEnabled=!!s,void(this.value=!!s)}this.isEnabled=n.isImage(r),this.value=!!this.isEnabled&&!!e.getCaptionFromImageModelElement(r)}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageCaptionEditing"),r=this.editor.plugins.get("ImageUtils");let s=n.getSelectedElement();const a=i._getSavedCaption(s);r.isInlineImage(s)&&(this.editor.execute("imageTypeBlock"),s=n.getSelectedElement());const c=a||t.createElement("caption");t.append(c,s),e&&t.setSelection(c,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s,a=n.getSelectedElement();a?s=r.getCaptionFromImageModelElement(a):(s=r.getCaptionFromModelSelection(n),a=s.parent),i._saveCaption(a,s),t.setSelection(a,"on"),t.remove(s)}}class dv extends q{constructor(t){super(t),this._savedCaptionsMap=new WeakMap}static get requires(){return[Ge,Kf]}static get pluginName(){return"ImageCaptionEditing"}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new lv(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),Lr({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt");return qm(c,a,{label:l?r("Caption for image: %0",[l]):r("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u)return void this._saveCaption(l,u)}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?bt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if("alt"!==s.attributeKey)continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class uv extends q{static get requires(){return[Kf]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new vt(r);return a.set({icon:Rt.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var Qf=H(2640);function Zf(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function gv(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=Jf(i,n),s=r.replace("image/",""),a=new File([i],`image.${s}`,{type:r});t(a)}).catch(i=>{return i&&"TypeError"===i.name?(r=n,(s=r,new Promise((a,c)=>{const l=it.document.createElement("img");l.addEventListener("load",()=>{const d=it.document.createElement("canvas");d.width=l.width,d.height=l.height,d.getContext("2d").drawImage(l,0,0),d.toBlob(u=>u?a(u):c())}),l.addEventListener("error",()=>c()),l.src=s})).then(s=>{const a=Jf(s,r),c=a.replace("image/","");return new File([s],`image.${c}`,{type:a})})).then(t).catch(e):e(i);var r,s})})}function Jf(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}K()(Qf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class pv extends q{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new uC(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=Zf(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0}),r.buttonView.set({label:e("Insert image"),icon:Rt.image,tooltip:!0}),r.buttonView.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(g=>c.test(g.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var Xf=H(3689);K()(Xf.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var tk=H(4036);K()(tk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var ek=H(3773);K()(ek.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class bv extends q{constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(He),d=a?n.attributeNewValue:null,u=this.placeholder,g=r.editing.mapper.toViewElement(s),m=i.writer;if("reading"==d)return nk(g,m),void ok(c,u,g,m);if("uploading"==d){const f=l.loaders.get(a);return nk(g,m),void(f?(ik(g,m),function(w,v,D,M){const R=function(Y){const nt=Y.createUIElement("div",{class:"ck-progress-bar"});return Y.setCustomProperty("progressBar",!0,nt),nt}(v);v.insert(v.createPositionAt(w,"end"),R),D.on("change:uploadedPercent",(Y,nt,_t)=>{M.change(lt=>{lt.setStyle("width",_t+"%",R)})})}(g,m,f,r.editing.view),function(w,v,D,M){if(M.data){const R=w.findViewImgElement(v);D.setAttribute("src",M.data,R)}}(c,g,m,f)):ok(c,u,g,m))}"complete"==d&&l.loaders.get(a)&&function(f,w,v){const D=w.createUIElement("div",{class:"ck-image-upload-complete-icon"});w.insert(w.createPositionAt(f,"end"),D),setTimeout(()=>{v.change(M=>M.remove(M.createRangeOn(D)))},3e3)}(g,m,r.editing.view),sk(g,m,"progressBar"),ik(g,m),m.removeClass("ck-appear",g)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}static get pluginName(){return"ImageUploadProgress"}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function nk(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function ok(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),rk(e,"placeholder")||n.insert(n.createPositionAfter(i),function(r){const s=r.createUIElement("div",{class:"ck-upload-placeholder-loader"});return r.setCustomProperty("placeholder",!0,s),s}(n))}function ik(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),sk(o,t,"placeholder")}function rk(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function sk(o,t,e){const n=rk(o,e);n&&t.remove(t.createRangeOn(n))}var wv=Object.defineProperty,_v=Object.defineProperties,Av=Object.getOwnPropertyDescriptors,ak=Object.getOwnPropertySymbols,Cv=Object.prototype.hasOwnProperty,vv=Object.prototype.propertyIsEnumerable,ck=(o,t,e)=>t in o?wv(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;class yv extends st{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=Ht(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,r=i.plugins.get(He).createLoader(t),s=i.plugins.get("ImageUtils");var a;r&&s.insertImage((a=((l,d)=>{for(var u in d||(d={}))Cv.call(d,u)&&ck(l,u,d[u]);if(ak)for(var u of ak(d))vv.call(d,u)&&ck(l,u,d[u]);return l})({},e),_v(a,Av({uploadId:r.id}))),n)}}class xv extends q{constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}static get requires(){return[He,wh,an,Ge]}static get pluginName(){return"ImageUploadEditing"}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(He),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=Zf(t.config.get("image.upload.types")),c=new yv(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(u=d.dataTransfer,Array.from(u.types).includes("text/html")&&""!==u.getData("text/html"))return;var u;const g=Array.from(d.dataTransfer.files).filter(m=>!!m&&a.test(m.type));g.length&&(l.stop(),t.model.change(m=>{d.targetRanges&&m.setSelection(d.targetRanges.map(f=>t.editing.mapper.toModelRange(f))),t.model.enqueueChange(()=>{t.execute("uploadImage",{file:g})})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(m=>m.item).filter(m=>{return!(!r.isInlineImageView(w=m)||!w.getAttribute("src")||!w.getAttribute("src").match(/^data:image\/\w+;base64,/g)&&!w.getAttribute("src").match(/^blob:/g)||m.getAttribute("uploadProcessed"));var w}).map(m=>({promise:gv(m),imageElement:m}));if(!u.length)return;const g=new Bo(t.editing.view.document);for(const m of u){g.setAttribute("uploadProcessed",!0,m.imageElement);const f=i.createLoader(m.promise);f&&(g.setAttribute("src","",m.imageElement),g.setAttribute("uploadId",f.id,m.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if("insert"==u.type&&"$text"!=u.name){const g=u.position.nodeAfter,m="$graveyard"==u.position.root.rootName;for(const f of Ev(t,g)){const w=f.getAttribute("uploadId");if(!w)continue;const v=i.loaders.get(w);v&&(m?d.has(w)||v.abort():(d.add(w),this._uploadImageElements.set(w,f),"idle"==v.status&&this._readAndUpload(v)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const g=u.urls?u.urls:u;this.editor.model.change(m=>{m.setAttribute("src",g.default,d),this._parseAndSetSrcsetAttributeOnImage(g,d,m)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(He),s=e.plugins.get(wh),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(x.isSafari){const g=e.editing.mapper.toViewElement(u),m=a.findViewImgElement(g);e.editing.view.once("render",()=>{if(!m.parent)return;const f=e.editing.view.domConverter.mapViewToDom(m.parent);if(!f)return;const w=f.style.display;f.style.display="none",f._ckHack=f.offsetHeight,f.style.display=w})}return n.enqueueChange({isUndoable:!1},g=>{g.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const g=c.get(t.id);u.setAttribute("uploadStatus","complete",g),this.fire("uploadComplete",{data:d,imageElement:g})}),l()}).catch(d=>{if("error"!==t.status&&"aborted"!==t.status)throw d;"error"==t.status&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");""!=r&&n.setAttribute("srcset",{data:r,width:i},e)}}function Ev(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}var lk=H(1568);K()(lk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var dk=H(3535);K()(dk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var uk=H(6270);K()(uk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class Iv extends st{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.value=!!this.isEnabled&&(t.hasAttribute("imageStyle")?t.getAttribute("imageStyle"):this._defaultStyles[t.name])}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value;let a=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,a)&&(this.editor.execute(i.isBlockImage(a)?"imageTypeInline":"imageTypeBlock"),a=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",a):r.setAttribute("imageStyle",s,a)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}var Mv=Object.defineProperty,hk=Object.getOwnPropertySymbols,Bv=Object.prototype.hasOwnProperty,Nv=Object.prototype.propertyIsEnumerable,gk=(o,t,e)=>t in o?Mv(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,pk=(o,t)=>{for(var e in t||(t={}))Bv.call(t,e)&&gk(o,e,t[e]);if(hk)for(var e of hk(t))Nv.call(t,e)&&gk(o,e,t[e]);return o};const{objectFullWidth:Pv,objectInline:mk,objectLeft:fk,objectRight:Ph,objectCenter:Oh,objectBlockLeft:kk,objectBlockRight:bk}=Rt,hl={get inline(){return{name:"inline",title:"In line",icon:mk,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:fk,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:kk,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Oh,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Ph,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:bk,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Oh,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Ph,modelElements:["imageBlock"],className:"image-style-side"}}},wk={full:Pv,left:kk,right:bk,center:Oh,inlineLeft:fk,inlineRight:Ph,inline:mk},_k=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function Ak(o){Q("image-style-configuration-definition-invalid",o)}const zh={normalizeStyles:function(o){return(o.configuredStyles.options||[]).map(t=>{return"string"==typeof(e="string"==typeof(e=t)?hl[e]?pk({},hl[e]):{name:e}:function(n,i){const r=pk({},i);for(const s in n)Object.prototype.hasOwnProperty.call(i,s)||(r[s]=n[s]);return r}(hl[e.name],e)).icon&&(e.icon=wk[e.icon]||e.icon),e;var e}).filter(t=>function(e,{isBlockPluginLoaded:n,isInlinePluginLoaded:i}){const{modelElements:r,name:s}=e;if(!(r&&r.length&&s))return Ak({style:e}),!1;{const a=[n?"imageBlock":null,i?"imageInline":null];if(!r.some(c=>a.includes(c)))return Q("image-style-missing-dependency",{style:e,missingPlugins:r.map(c=>"imageBlock"===c?"ImageBlockEditing":"ImageInlineEditing")}),!1}return!0}(t,o))},getDefaultStylesConfiguration:function(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[..._k]:[]},warnInvalidStyle:Ak,DEFAULT_OPTIONS:hl,DEFAULT_ICONS:wk,DEFAULT_DROPDOWN_DEFINITIONS:_k};function Ck(o,t){for(const e of t)if(e.name===o)return e}class vk extends q{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ge]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=zh,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new Iv(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=(s=this.normalizedStyles,(c,l,d)=>{if(!d.consumable.consume(l.item,c.name))return;const u=Ck(l.attributeNewValue,s),g=Ck(l.attributeOldValue,s),m=d.mapper.toViewElement(l.item),f=d.writer;g&&f.removeClass(g.className,m),u&&f.addClass(u.className,m)});var s;const a=function(c){const l={imageInline:c.filter(d=>!d.isDefault&&d.modelElements.includes("imageInline")),imageBlock:c.filter(d=>!d.isDefault&&d.modelElements.includes("imageBlock"))};return(d,u,g)=>{if(!u.modelRange)return;const m=u.viewItem,f=Lt(u.modelRange.getItems());if(f&&g.schema.checkAttribute(f,"imageStyle"))for(const w of l[f.name])g.consumable.consume(m,{classes:w.className})&&g.writer.setAttribute("imageStyle",w.name,f)}}(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",a,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",a,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ge),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if("insert"==a.type||"attribute"==a.type&&"imageStyle"==a.attributeKey){let c="insert"==a.type?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);d&&d.modelElements.includes(c.name)||(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var yk=H(5083);K()(yk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class zv extends q{static get requires(){return[vk]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=xk(t.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const r of n)this._createButton(r);const i=xk([...e.filter(Dt),...zh.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const r of i)this._createDropdown(r,n)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(m=>e.find(({name:f})=>Ek(f)===m)).map(m=>{const f=n.create(m);return m===s&&(r=f),f});a.length!==l.length&&zh.warnInvalidStyle({dropdown:t});const d=eo(i,rh),u=d.buttonView,g=u.arrowView;return sh(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:Dk(c,r.label),class:null,tooltip:!0}),g.unbind("label"),g.set({label:c}),u.bind("icon").toMany(l,"isOn",(...m)=>{const f=m.findIndex(yn);return f<0?r.icon:l[f].icon}),u.bind("label").toMany(l,"isOn",(...m)=>{const f=m.findIndex(yn);return Dk(c,f<0?r.label:l[f].label)}),u.bind("isOn").toMany(l,"isOn",(...m)=>m.some(yn)),u.bind("class").toMany(l,"isOn",(...m)=>m.some(yn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:m})=>m)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...m)=>m.some(yn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Ek(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new vt(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function xk(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function Ek(o){return`imageStyle:${o}`}function Dk(o,t){return(o?o+": ":"")+t}class Lv extends q{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Or(t)),t.commands.add("outdent",new Or(t))}}const Sk='',Tk='';class jv extends q{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?Sk:Tk,r="ltr"==e.uiLanguageDirection?Tk:Sk;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new vt(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class Rv{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!n.item.is("selection")&&!i.schema.isInline(n.item))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=pe(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)"class"===d?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)"class"===d?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}var Vv=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const Ik=function(o){return Vv.test(o)};var Mk="\\ud800-\\udfff",Hv="["+Mk+"]",Lh="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",jh="\\ud83c[\\udffb-\\udfff]",Bk="[^"+Mk+"]",Nk="(?:\\ud83c[\\udde6-\\uddff]){2}",Pk="[\\ud800-\\udbff][\\udc00-\\udfff]",Ok="(?:"+Lh+"|"+jh+")?",zk="[\\ufe0e\\ufe0f]?",Gv=zk+Ok+"(?:\\u200d(?:"+[Bk,Nk,Pk].join("|")+")"+zk+Ok+")*",qv="(?:"+[Bk+Lh+"?",Lh,Nk,Pk,Hv].join("|")+")",Wv=RegExp(jh+"(?="+jh+")|"+qv+Gv,"g");const Kv=function(t){t=Ur(t);var e=Ik(t)?function(o){return Ik(o)?function(o){return o.match(Wv)||[]}(o):function(o){return o.split("")}(o)}(t):void 0,n=e?e[0]:t.charAt(0),i=e?function(o,t,e){var n=o.length;return ac(o,1,e=void 0===e?n:e)}(e).join(""):t.slice(1);return n.toUpperCase()+i},Qv=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,Zv=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,Jv=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,Xv=/^((\w+:(\/{2,})?)|(\W))/i,Rh="Ctrl+K";function Lk(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function jk(o){const t=String(o);return t.replace(Qv,"").match(Zv)?t:"#"}function Fh(o,t){return!!o&&t.checkAttribute(o.name,"linkHref")}function Vh(o,t){const e=Jv.test(o)?"mailto:":t,i=!!e&&!Rk(o);return o&&i?e+o:o}function Rk(o){return Xv.test(o)}function Fk(o){window.open(o,"_blank","noopener")}class t1 extends st{constructor(){super(...arguments),this.manualDecorators=new ge,this.automaticDecorators=new Rv}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Lt(e.getSelectedBlocks());Fh(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Vk(i);let d=Ni(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(""!==t){const l=pe(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let g=u;if(1===d.length){const m=Vk(i);i.getAttribute("linkHref")===m&&(g=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(g)))}a.setAttribute("linkHref",t,g),r.forEach(m=>{a.setAttribute(m,!0,g)}),s.forEach(m=>{a.removeAttribute(m,g)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return Fh(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Vk(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class e1 extends st{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();this.isEnabled=Fh(n,t.schema)?t.schema.checkAttribute(n,"linkHref"):t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const e=this.editor.model,n=e.document.selection,i=this.editor.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Ni(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class n1 extends(ht()){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Uk=H(9773);K()(Uk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var i1=Object.defineProperty,Hk=Object.getOwnPropertySymbols,r1=Object.prototype.hasOwnProperty,s1=Object.prototype.propertyIsEnumerable,Gk=(o,t,e)=>t in o?i1(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,a1=(o,t)=>{for(var e in t||(t={}))r1.call(t,e)&&Gk(o,e,t[e]);if(Hk)for(var e of Hk(t))s1.call(t,e)&&Gk(o,e,t[e]);return o};const qk="automatic",c1=/^(https?:)?\/\//;class l1 extends q{static get pluginName(){return"LinkEditing"}static get requires(){return[Pm,Dm,an]}constructor(t){super(t),t.config.define("link",{addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:Lk}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(n,i)=>Lk(jk(n),i)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:n=>n.getAttribute("href")}}),t.commands.add("link",new t1(t)),t.commands.add("unlink",new e1(t));const e=function(n,i){const r={"Open in a new tab":n("Open in a new tab"),Downloadable:n("Downloadable")};return i.forEach(s=>("label"in s&&r[s.label]&&(s.label=r[s.label]),s)),i}(t.t,function(n){const i=[];if(n)for(const[r,s]of Object.entries(n)){const a=Object.assign({},s,{id:`link${Kv(r)}`});i.push(a)}return i}(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(n=>n.mode===qk)),this._enableManualDecorators(e.filter(n=>"manual"===n.mode)),t.plugins.get(Pm).registerAttribute("linkHref"),function(n,i,r,s){const a=n.editing.view,c=new Set;a.document.registerPostFixer(l=>{const d=n.model.document.selection;let u=!1;if(d.hasAttribute(i)){const g=Ni(d.getFirstPosition(),i,d.getAttribute(i),n.model),m=n.editing.mapper.toViewRange(g);for(const f of m.getItems())f.is("element","a")&&!f.hasClass(s)&&(l.addClass(s,f),c.add(f),u=!0)}return u}),n.conversion.for("editingDowncast").add(l=>{function d(){a.change(u=>{for(const g of c.values())u.removeClass(s,g),c.delete(g)})}l.on("insert",d,{priority:"highest"}),l.on("remove",d,{priority:"highest"}),l.on("attribute",d,{priority:"highest"}),l.on("selection",d,{priority:"highest"})})}(t,"linkHref",0,"ck-link_selected"),this._enableLinkOpen(),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,n=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&n.add({id:"linkIsExternal",mode:qk,callback:i=>!!i&&c1.test(i),attributes:{target:"_blank",rel:"noopener noreferrer"}}),n.add(t),n.length&&e.conversion.for("downcast").add(n.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,n=e.commands.get("link").manualDecorators;t.forEach(i=>{e.model.schema.extend("$text",{allowAttributes:i.id});const r=new n1(i);n.add(r),e.conversion.for("downcast").attributeToElement({model:r.id,view:(s,{writer:a,schema:c},{item:l})=>{if((l.is("selection")||c.isInline(l))&&s){const d=a.createAttributeElement("a",r.attributes,{priority:5});r.classes&&a.addClass(r.classes,d);for(const u in r.styles)a.setStyle(u,r.styles[u],d);return a.setCustomProperty("link",!0,d),d}}}),e.conversion.for("upcast").elementToAttribute({view:a1({name:"a"},r._createPattern()),model:{key:r.id}})})}_enableLinkOpen(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",(n,i)=>{if(!(x.isMac?i.domEvent.metaKey:i.domEvent.ctrlKey))return;let r=i.domTarget;if("a"!=r.tagName.toLowerCase()&&(r=r.closest("a")),!r)return;const s=r.getAttribute("href");s&&(n.stop(),i.preventDefault(),Fk(s))},{context:"$capture"}),this.listenTo(e,"keydown",(n,i)=>{const r=t.commands.get("link").value;r&&i.keyCode===ct.enter&&i.altKey&&(n.stop(),Fk(r))})}_enableInsertContentSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection;this.listenTo(t,"insertContent",()=>{const n=e.anchor.nodeBefore,i=e.anchor.nodeAfter;e.hasAttribute("linkHref")&&n&&n.hasAttribute("linkHref")&&(i&&i.hasAttribute("linkHref")||t.change(r=>{Uh(r,Hh(t.schema))}))},{priority:"low"})}_enableClickingAfterLink(){const t=this.editor,e=t.model;t.editing.view.addObserver(nh);let n=!1;this.listenTo(t.editing.view.document,"mousedown",()=>{n=!0}),this.listenTo(t.editing.view.document,"selectionChange",()=>{if(!n)return;n=!1;const i=e.document.selection;if(!i.isCollapsed||!i.hasAttribute("linkHref"))return;const r=i.getFirstPosition(),s=Ni(r,"linkHref",i.getAttribute("linkHref"),e);(r.isTouching(s.start)||r.isTouching(s.end))&&e.change(a=>{Uh(a,Hh(e.schema))})})}_enableTypingOverLink(){const t=this.editor;let n=null,i=!1;this.listenTo(t.editing.view.document,"delete",()=>{i=!0},{priority:"high"}),this.listenTo(t.model,"deleteContent",()=>{const r=t.model.document.selection;r.isCollapsed||(i?i=!1:Wk(t)&&function(s){const a=s.document.selection,c=a.getFirstPosition(),l=a.getLastPosition(),d=c.nodeAfter;return!!(d&&d.is("$text")&&d.hasAttribute("linkHref"))&&(d===(l.textNode||l.nodeBefore)||Ni(c,"linkHref",d.getAttribute("linkHref"),s).containsRange(s.createRange(c,l),!0))}(t.model)&&(n=r.getAttributes()))},{priority:"high"}),this.listenTo(t.model,"insertContent",(r,[s])=>{i=!1,Wk(t)&&n&&(t.model.change(a=>{for(const[c,l]of n)a.setAttribute(c,l,s)}),n=null)},{priority:"high"})}_handleDeleteContentAfterLink(){const t=this.editor,e=t.model,n=e.document.selection;let r=!1,s=!1;this.listenTo(t.editing.view.document,"delete",(a,c)=>{s="backward"===c.direction},{priority:"high"}),this.listenTo(e,"deleteContent",()=>{r=!1;const a=n.getFirstPosition(),c=n.getAttribute("linkHref");if(!c)return;const l=Ni(a,"linkHref",c,e);r=l.containsPosition(a)||l.end.isEqual(a)},{priority:"high"}),this.listenTo(e,"deleteContent",()=>{s&&(s=!1,r||t.model.enqueueChange(a=>{Uh(a,Hh(e.schema))}))},{priority:"low"})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=Vh(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function Uh(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function Wk(o){return o.model.change(t=>t.batch).isTyping}function Hh(o){return o.getDefinition("$text").allowAttributes.filter(t=>t.startsWith("link"))}var $k=H(7754);K()($k.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class u1 extends at{constructor(t,e){super(t),this.focusTracker=new ce,this.keystrokes=new Me,this._focusables=new en;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Rt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),Rt.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new Kn({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),b({view:this}),[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t,e=new _o(this.locale,ah);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new vt(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new di(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>void 0===s&&void 0===r?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new at;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var Yk=H(2347);K()(Yk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class g1 extends at{constructor(t){super(t),this.focusTracker=new ce,this.keystrokes=new Me,this._focusables=new en;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),'',"unlink"),this.editButtonView=this._createButton(e("Edit link"),Rt.pencil,"edit"),this.set("href",void 0),this._focusCycler=new Kn({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render(),[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new vt(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new vt(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&jk(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const cn="link-ui";class p1 extends q{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[Xc]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(a0),this._balloon=t.plugins.get(Xc),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:cn,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:cn,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new g1(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(Rh,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(P(u1))(t.locale,e);return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e),this.listenTo(i,"submit",()=>{const{value:r}=i.urlInputView.fieldView.element,s=Vh(r,n);t.execute("link",s,i.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(i,"cancel",()=>{this._closeFormView()}),i.keystrokes.set("Esc",(r,s)=>{this._closeFormView(),s()}),i}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new vt(i);return r.isEnabled=!0,r.label=n("Link"),r.icon='',r.keystroke=Rh,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor;this.listenTo(t.editing.view.document,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(Rh,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),B({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const t=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=t.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),void 0!==t.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){return!!this.formView&&this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,n=t.document;let i;if(this.editor.model.markers.has(cn)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(cn)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&Ot(n))return Gh(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=Gh(i.start),s=Gh(i.end);return r&&r==s&&t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(cn))e.updateMarker(cn,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(cn,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(cn,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(cn)&&t.change(e=>{e.removeMarker(cn)})}}function Gh(o){return o.getAncestors().find(t=>{return(e=t).is("attributeElement")&&!!e.getCustomProperty("link");var e})||null}const m1=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class f1 extends q{static get requires(){return[Mn]}static get pluginName(){return"AutoLink"}init(){const t=this.editor.model.document.selection;t.on("change:range",()=>{this.isEnabled=!t.anchor.parent.is("element","codeBlock")}),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const t=this.editor,e=new Nm(t.model,n=>{if(!((r=n).length>4&&" "===r[r.length-1]&&" "!==r[r.length-2]))return;var r;const i=Kk(n.substr(0,n.length-1));return i?{url:i}:void 0});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=Bm(t,e),r=Kk(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=Vh(t,this.editor.config.get("link.defaultProtocol"));var s;this.isEnabled&&(s=n).schema.checkAttributeInSelection(s.createSelection(e),"linkHref")&&Rk(i)&&!function(r){const s=r.start.nodeAfter;return!!s&&s.hasAttribute("linkHref")}(e)&&this._persistAutoLink(i,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function Kk(o){const t=m1.exec(o);return t?t[2]:null}var Qk=H(111);K()(Qk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var Zk=H(5730);K()(Zk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var Jk=H(4564);function Xk(o,t,e,n){const i=t.parent,r=e.mapper,s=e.writer;let a=r.toViewPosition(n.createPositionBefore(o));const c=eb(o.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:o.getAttribute("listIndent")}),l=o.previousSibling;if(c&&c.getAttribute("listIndent")==o.getAttribute("listIndent")){const d=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(d))}else if(l&&"listItem"==l.name){a=r.toViewPosition(n.createPositionAt(l,"end"));const d=r.findMappedViewAncestor(a),u=function(g){for(const m of g.getChildren())if("ul"==m.name||"ol"==m.name)return m;return null}(d);a=u?s.createPositionBefore(u):s.createPositionAt(d,"end")}else a=r.toViewPosition(n.createPositionBefore(o));if(a=tb(a),s.insert(a,i),l&&"listItem"==l.name){const d=r.toViewElement(l),u=s.createRange(s.createPositionAt(d,0),a).getWalker({ignoreElementEnd:!0});for(const g of u)if(g.item.is("element","li")){const m=s.breakContainer(s.createPositionBefore(g.item)),f=g.item.parent,w=s.createPositionAt(t,"end");ze(s,w.nodeBefore,w.nodeAfter),s.move(s.createRangeOn(f),w),u._position=m}}else{const d=i.nextSibling;if(d&&(d.is("element","ul")||d.is("element","ol"))){let u=null;for(const g of d.getChildren()){const m=r.toModelElement(g);if(!(m&&m.getAttribute("listIndent")>o.getAttribute("listIndent")))break;u=g}u&&(s.breakContainer(s.createPositionAfter(u)),s.move(s.createRangeOn(u.parent),s.createPositionAt(t,"end")))}}ze(s,i,i.nextSibling),ze(s,i.previousSibling,i)}function ze(o,t,e){return!t||!e||"ul"!=t.name&&"ol"!=t.name||t.name!=e.name||t.getAttribute("class")!==e.getAttribute("class")?null:o.mergeContainers(o.createPositionAfter(t))}function tb(o){return o.getLastMatchingPosition(t=>t.item.is("uiElement"))}function eb(o,t){const e=!!t.sameIndent,n=!!t.smallerIndent,i=t.listIndent;let r=o;for(;r&&"listItem"==r.name;){const s=r.getAttribute("listIndent");if(e&&i==s||n&&i>s)return r;r="forward"===t.direction?r.nextSibling:r.previousSibling}return null}function nb(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new vt(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}function qh(o,t){const e=[],n=o.parent,i={ignoreElementEnd:!1,startPosition:o,shallow:!0,direction:t},r=n.getAttribute("listIndent"),s=[...new rn(i)].filter(a=>a.item.is("element")).map(a=>a.item);for(const a of s){if(!a.is("element","listItem")||a.getAttribute("listIndent")r)){if(a.getAttribute("listType")!==n.getAttribute("listType")||a.getAttribute("listStyle")!==n.getAttribute("listStyle")||a.getAttribute("listReversed")!==n.getAttribute("listReversed")||a.getAttribute("listStart")!==n.getAttribute("listStart"))break;"backward"===t?e.unshift(a):e.push(a)}}return e}K()(Jk.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const A1=["disc","circle","square"],C1=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function v1(){const o=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||o?0:kc.call(this)}class y1 extends q{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;nb(this.editor,"numberedList",t("Numbered List"),''),nb(this.editor,"bulletedList",t("Bulleted List"),'')}}const x1={},E1={},D1={},S1=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:o,typeAttribute:t,listType:e}of S1)x1[o]=e,E1[o]=t,t&&(D1[t]=o);var ob=H(4721);K()(ob.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var ib=H(6082);K()(ib.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var rb=H(2417);K()(rb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class sb extends st{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;let n=Array.from(t.document.selection.getSelectedBlocks());t.change(i=>{const r=n[n.length-1];let s=r.nextSibling;for(;s&&"listItem"==s.name&&s.getAttribute("listIndent")>r.getAttribute("listIndent");)n.push(s),s=s.nextSibling;this._indentBy<0&&(n=n.reverse());for(const a of n){const c=a.getAttribute("listIndent")+this._indentBy;c<0?i.rename(a,"paragraph"):i.setAttribute("listIndent",c,a)}this.fire("_executeCleanup",n)})}_checkEnabled(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),n=t.getAttribute("listType");let i=t.previousSibling;for(;i&&i.is("element","listItem")&&i.getAttribute("listIndent")>=e;){if(i.getAttribute("listIndent")==e)return i.getAttribute("listType")==n;i=i.previousSibling}return!1}return!0}}class ab extends st{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=Array.from(e.document.selection.getSelectedBlocks()).filter(s=>lb(s,e.schema)),r=void 0!==t.forceValue?!t.forceValue:this.value;e.change(s=>{if(r){let a=i[i.length-1].nextSibling,c=Number.POSITIVE_INFINITY,l=[];for(;a&&"listItem"==a.name&&0!==a.getAttribute("listIndent");){const d=a.getAttribute("listIndent");d=e;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&o[t?"unshift":"push"](i),i=i[t?"previousSibling":"nextSibling"]}}function lb(o,t){return t.checkChild(o.parent,"listItem")&&!t.isObject(o)}class B1 extends q{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return A1.includes(e=t)?"bulleted":C1.includes(e)?"numbered":null;var e}getSelectedListItems(t){return function(e){let n=[...e.document.selection.getSelectedBlocks()].filter(i=>i.is("element","listItem")).map(i=>{const r=e.change(s=>s.createPositionAt(i,0));return[...qh(r,"backward"),...qh(r,"forward")]}).flat();return n=[...new Set(n)],n}(t)}getSiblingNodes(t,e){return qh(t,e)}}function db(o){return(t,e,n)=>{const i=n.consumable;if(!i.test(e.item,"insert")||!i.test(e.item,"attribute:listType")||!i.test(e.item,"attribute:listIndent"))return;i.consume(e.item,"insert"),i.consume(e.item,"attribute:listType"),i.consume(e.item,"attribute:listIndent");const r=e.item;Xk(r,function _1(o,t){const e=t.mapper,n=t.writer,i="numbered"==o.getAttribute("listType")?"ol":"ul",r=function(a){const c=a.createContainerElement("li");return c.getFillerOffset=v1,c}(n),s=n.createContainerElement(i,null);return n.insert(n.createPositionAt(s,0),r),e.bindElements(o,r),r}(r,n),n,o)}}const N1=(o,t,e)=>{if(!e.consumable.test(t.item,o.name))return;const n=e.mapper.toViewElement(t.item),i=e.writer;i.breakContainer(i.createPositionBefore(n)),i.breakContainer(i.createPositionAfter(n)),i.rename("numbered"==t.attributeNewValue?"ol":"ul",n.parent)},P1=(o,t,e)=>{e.consumable.consume(t.item,o.name);const n=e.mapper.toViewElement(t.item).parent,i=e.writer;ze(i,n,n.nextSibling),ze(i,n.previousSibling,n)},ub=(o,t,e)=>{if(e.consumable.test(t.item,o.name)&&"listItem"!=t.item.name){let n=e.mapper.toViewPosition(t.range.start);const i=e.writer,r=[];for(;("ul"==n.parent.name||"ol"==n.parent.name)&&(n=i.breakContainer(n),"li"==n.parent.name);){const s=n,a=i.createPositionAt(n.parent,"end");if(!s.isEqual(a)){const c=i.remove(i.createRange(s,a));r.push(c)}n=i.createPositionAfter(n.parent)}if(r.length>0){for(let s=0;s0){const c=ze(i,a,a.nextSibling);c&&c.parent==a&&n.offset--}}ze(i,n.nodeBefore,n.nodeAfter)}}},O1=(o,t,e)=>{const n=e.mapper.toViewPosition(t.position);ze(e.writer,n.nodeBefore,n.nodeAfter)},z1=(o,t,e)=>{if(e.consumable.consume(t.viewItem,{name:!0})){const n=e.writer,i=n.createElement("listItem"),r=function(c){let l=0,d=c.parent;for(;d;){if(d.is("element","li"))l++;else{const u=d.previousSibling;u&&u.is("element","li")&&l++}d=d.parent}return l}(t.viewItem);if(n.setAttribute("listIndent",r,i),n.setAttribute("listType",t.viewItem.parent&&"ol"==t.viewItem.parent.name?"numbered":"bulleted",i),!e.safeInsert(i,t.modelCursor))return;const a=function(c,l,d){const{writer:u,schema:g}=d;let m=u.createPositionAfter(c);for(const f of l)if("ul"==f.name||"ol"==f.name)m=d.convertItem(f,m).modelCursor;else{const w=d.convertItem(f,u.createPositionAt(c,"end")),v=w.modelRange.start.nodeAfter;v&&v.is("element")&&!g.checkChild(c,v.name)&&(c=w.modelCursor.parent.is("element","listItem")?w.modelCursor.parent:R1(w.modelCursor),m=u.createPositionAfter(c))}return m}(i,t.viewItem.getChildren(),e);t.modelRange=n.createRange(t.modelCursor,a),e.updateConversionResult(i,t)}},hb=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){const n=Array.from(t.viewItem.getChildren());for(const i of n)!i.is("element","li")&&!Li(i)&&i._remove()}},L1=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){if(0===t.viewItem.childCount)return;const n=[...t.viewItem.getChildren()];let i=!1;for(const r of n)i&&!Li(r)&&r._remove(),Li(r)&&(i=!0)}};function gb(o){return(t,e)=>{if(e.isPhantom)return;const n=e.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const i=e.mapper.toViewElement(n),r=i.getAncestors().find(Li),s=o.createPositionAt(i,0).getWalker();for(const a of s){if("elementStart"==a.type&&a.item.is("element","li")){e.viewPosition=a.previousPosition;break}if("elementEnd"==a.type&&a.item==r){e.viewPosition=a.nextPosition;break}}}}}const j1=function(o,[t,e]){let i,r=t.is("documentFragment")?t.getChild(0):t;if(i=e?this.createSelection(e):this.document.selection,r&&r.is("element","listItem")){const s=i.getFirstPosition();let a=null;if(s.parent.is("element","listItem")?a=s.parent:s.nodeBefore&&s.nodeBefore.is("element","listItem")&&(a=s.nodeBefore),a){const c=a.getAttribute("listIndent");if(c>0)for(;r&&r.is("element","listItem");)r._setAttribute("listIndent",r.getAttribute("listIndent")+c),r=r.nextSibling}}};function R1(o){const t=new rn({startPosition:o});let e;do{e=t.next()}while(!e.value.item.is("element","listItem"));return e.value.item}function pb(o,t,e,n,i,r){const s=eb(t.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:o}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(s)if(l==o){const u=a.toViewElement(s).parent;d=c.createPositionAfter(u)}else{const u=r.createPositionAt(s,"end");d=a.toViewPosition(u)}else d=e;d=tb(d);for(const u of[...n.getChildren()])Li(u)&&(d=c.move(c.createRangeOn(u),d).end,ze(c,u,u.nextSibling),ze(c,u.previousSibling,u))}function Li(o){return o.is("element","ol")||o.is("element","ul")}class F1 extends q{static get pluginName(){return"ListEditing"}static get requires(){return[rl,Mn,B1]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;var i;t.model.document.registerPostFixer(s=>function(a,c){const l=a.document.differ.getChanges(),d=new Map;let u=!1;for(const w of l)if("insert"==w.type&&"listItem"==w.name)g(w.position);else if("insert"==w.type&&"listItem"!=w.name){if("$text"!=w.name){const v=w.position.nodeAfter;v.hasAttribute("listIndent")&&(c.removeAttribute("listIndent",v),u=!0),v.hasAttribute("listType")&&(c.removeAttribute("listType",v),u=!0),v.hasAttribute("listStyle")&&(c.removeAttribute("listStyle",v),u=!0),v.hasAttribute("listReversed")&&(c.removeAttribute("listReversed",v),u=!0),v.hasAttribute("listStart")&&(c.removeAttribute("listStart",v),u=!0);for(const D of Array.from(a.createRangeIn(v)).filter(M=>M.item.is("element","listItem")))g(D.previousPosition)}g(w.position.getShiftedBy(w.length))}else"remove"==w.type&&"listItem"==w.name?g(w.position):("attribute"==w.type&&"listIndent"==w.attributeKey||"attribute"==w.type&&"listType"==w.attributeKey)&&g(w.range.start);for(const w of d.values())m(w),f(w);return u;function g(w){const v=w.nodeBefore;if(v&&v.is("element","listItem")){let D=v;if(d.has(D))return;for(let M=D.previousSibling;M&&M.is("element","listItem");M=D.previousSibling)if(D=M,d.has(D))return;d.set(v,D)}else{const D=w.nodeAfter;D&&D.is("element","listItem")&&d.set(D,D)}}function m(w){let v=0,D=null;for(;w&&w.is("element","listItem");){const M=w.getAttribute("listIndent");if(M>v){let R;null===D?(D=M-v,R=v):(D>M&&(D=M),R=M-D),c.setAttribute("listIndent",R,w),u=!0}else D=null,v=w.getAttribute("listIndent")+1;w=w.nextSibling}}function f(w){let v=[],D=null;for(;w&&w.is("element","listItem");){const M=w.getAttribute("listIndent");if(D&&D.getAttribute("listIndent")>M&&(v=v.slice(0,M+1)),0!=M)if(v[M]){const R=v[M];w.getAttribute("listType")!=R&&(c.setAttribute("listType",R,w),u=!0)}else v[M]=w.getAttribute("listType");D=w,w=w.nextSibling}}}(t.model,s)),n.mapper.registerViewToModelLength("li",Wh),e.mapper.registerViewToModelLength("li",Wh),n.mapper.on("modelToViewPosition",gb(n.view)),n.mapper.on("viewToModelPosition",(i=t.model,(s,a)=>{const c=a.viewPosition,l=c.parent,d=a.mapper;if("ul"==l.name||"ol"==l.name){if(c.isAtEnd){const u=d.toModelElement(c.nodeBefore),g=d.getModelLength(c.nodeBefore);a.modelPosition=i.createPositionBefore(u).getShiftedBy(g)}else{const u=d.toModelElement(c.nodeAfter);a.modelPosition=i.createPositionBefore(u)}s.stop()}else if("li"==l.name&&c.nodeBefore&&("ul"==c.nodeBefore.name||"ol"==c.nodeBefore.name)){const u=d.toModelElement(l);let g=1,m=c.nodeBefore;for(;m&&Li(m);)g+=d.getModelLength(m),m=m.previousSibling;a.modelPosition=i.createPositionBefore(u).getShiftedBy(g),s.stop()}})),e.mapper.on("modelToViewPosition",gb(n.view)),t.conversion.for("editingDowncast").add(s=>{var a;s.on("insert",ub,{priority:"high"}),s.on("insert:listItem",db(t.model)),s.on("attribute:listType:listItem",N1,{priority:"high"}),s.on("attribute:listType:listItem",P1,{priority:"low"}),s.on("attribute:listIndent:listItem",(a=t.model,(c,l,d)=>{if(!d.consumable.consume(l.item,"attribute:listIndent"))return;const u=d.mapper.toViewElement(l.item),g=d.writer;g.breakContainer(g.createPositionBefore(u)),g.breakContainer(g.createPositionAfter(u));const m=u.parent,f=m.previousSibling,w=g.createRangeOn(m);g.remove(w),f&&f.nextSibling&&ze(g,f,f.nextSibling),pb(l.attributeOldValue+1,l.range.start,w.start,u,d,a),Xk(l.item,u,d,a);for(const v of l.item.getChildren())d.consumable.consume(v,"insert")})),s.on("remove:listItem",function(a){return(c,l,d)=>{const u=d.mapper.toViewPosition(l.position).getLastMatchingPosition(D=>!D.item.is("element","li")).nodeAfter,g=d.writer;g.breakContainer(g.createPositionBefore(u)),g.breakContainer(g.createPositionAfter(u));const m=u.parent,f=m.previousSibling,w=g.createRangeOn(m),v=g.remove(w);f&&f.nextSibling&&ze(g,f,f.nextSibling),pb(d.mapper.toModelElement(u).getAttribute("listIndent")+1,l.position,w.start,u,d,a);for(const D of g.createRangeIn(v).getItems())d.mapper.unbindViewElement(D);c.stop()}}(t.model)),s.on("remove",O1,{priority:"low"})}),t.conversion.for("dataDowncast").add(s=>{s.on("insert",ub,{priority:"high"}),s.on("insert:listItem",db(t.model))}),t.conversion.for("upcast").add(s=>{s.on("element:ul",hb,{priority:"high"}),s.on("element:ol",hb,{priority:"high"}),s.on("element:li",L1,{priority:"high"}),s.on("element:li",z1)}),t.model.on("insertContent",j1,{priority:"high"}),t.commands.add("numberedList",new ab(t,"numbered")),t.commands.add("bulletedList",new ab(t,"bulleted")),t.commands.add("indentList",new sb(t,"forward")),t.commands.add("outdentList",new sb(t,"backward"));const r=n.view.document;this.listenTo(r,"enter",(s,a)=>{const c=this.editor.model.document,l=c.selection.getLastPosition().parent;c.selection.isCollapsed&&"listItem"==l.name&&l.isEmpty&&(this.editor.execute("outdentList"),a.preventDefault(),s.stop())},{context:"li"}),this.listenTo(r,"delete",(s,a)=>{if("backward"!==a.direction)return;const c=this.editor.model.document.selection;if(!c.isCollapsed)return;const l=c.getFirstPosition();if(!l.isAtStart)return;const d=l.parent;"listItem"===d.name&&(d.previousSibling&&"listItem"===d.previousSibling.name||(this.editor.execute("outdentList"),a.preventDefault(),s.stop()))},{context:"li"}),this.listenTo(t.editing.view.document,"tab",(s,a)=>{const c=a.shiftKey?"outdentList":"indentList";this.editor.commands.get(c).isEnabled&&(t.execute(c),a.stopPropagation(),a.preventDefault(),s.stop())},{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),n&&n.registerChildCommand(t.get("outdentList"))}}function Wh(o){let t=1;for(const e of o.getChildren())if("ul"==e.name||"ol"==e.name)for(const n of e.getChildren())t+=Wh(n);return t}li("Ctrl+Enter");var mb=H(1199);function fb(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function kb(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function bb(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function wb(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}K()(mb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class U1 extends st{refresh(){const t=this.editor.model,e=t.document.selection,n=bb(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=function(i){const r=i.getSelectedElement();return!!r&&"media"===r.name}(e)||function(i,r){let a=Wm(i,r).start.parent;return a.isEmpty&&!r.schema.isLimit(a)&&(a=a.parent),r.schema.checkChild(a,"media")}(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=bb(n);i?e.change(r=>{r.setAttribute("url",t,i)}):wb(e,t,n,!0)}}class H1{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):(Q("media-embed-no-provider-name",{provider:a}),!1)});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new _b(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=Ht(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new _b(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n||null)}}class _b{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new An,e=this._locale.t;return t.content='',t.viewBox="0 0 64 42",new Ee({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var Ab=H(7442);K()(Ab.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class gl extends q{constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:/^dailymotion\.com\/video\/(\w+)/,html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new H1(t.locale,t.config.get("mediaEmbed"))}static get pluginName(){return"MediaEmbedEditing"}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new U1(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return kb(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(fb(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return u=kb(l,a,d,{elementName:s,renderForEditingView:!0}),g=l,m=n("media widget"),g.setCustomProperty("media",!0,u),Dh(u,g,{label:m});var u,g,m}}),i.for("editingDowncast").add(fb(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{c.on("element:figure",(l,d,u)=>{if(!u.consumable.consume(d.viewItem,{name:!0,classes:"media"}))return;const{modelRange:g,modelCursor:m}=u.convertChildren(d.viewItem,d.modelCursor);d.modelRange=g,d.modelCursor=m,Lt(g.getItems())||u.consumable.revert(d.viewItem,{name:!0,classes:"media"})})})}}const q1=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class W1 extends q{constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}static get requires(){return[af,Mn,pf]}static get pluginName(){return"AutoMediaEmbed"}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const i=e.selection.getFirstRange(),r=Xt.fromPosition(i.start);r.stickiness="toPrevious";const s=Xt.fromPosition(i.end);s.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(r,s),r.detach(),s.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(it.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(gl).registry,r=new Ve(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const c of s)c.item.is("$textProxy")&&(a+=c.item.data);a=a.trim(),a.match(q1)&&i.hasMedia(a)&&n.commands.get("mediaEmbed").isEnabled?(this._positionToInsert=Xt.fromPosition(t),this._timeoutId=it.window.setTimeout(()=>{n.model.change(c=>{this._timeoutId=null,c.remove(r),r.detach();let l=null;"$graveyard"!==this._positionToInsert.root.rootName&&(l=this._positionToInsert),wb(n.model,a,l,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(Mn).requestUndoOnBackspace()},100)):r.detach()}}var Cb=H(9292);K()(Cb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class Y1 extends at{constructor(t,e){super(e);const n=e.t;this.focusTracker=new ce,this.keystrokes=new Me,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Rt.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),Rt.cancel,"ck-button-cancel","cancel"),this._focusables=new en,this._focusCycler=new Kn({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),b({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new _o(this.locale,ah),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new vt(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}class K1 extends q{static get requires(){return[gl]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=eo(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(gl).registry;t.once("change:isOpen",()=>{const a=new(P(Y1))((c=n.t,l=s,[d=>{if(!d.url.length)return c("The URL must not be empty.")},d=>{if(!l.hasMedia(d.url))return c("This media URL is not supported.")}]),n.locale);var c,l;t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:'',tooltip:!0})}}var vb=H(4652);function J1(o){if(o.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(o){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return o;default:return null}}function yb(o,t,e){const n=t.parent,i=e.createElement(o.type),r=n.getChildIndex(t)+1;return e.insertChild(r,i,n),o.style&&e.setStyle("list-style-type",o.style,i),o.startIndex&&o.startIndex>1&&e.setAttribute("start",o.startIndex,i),i}function X1(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function ey(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}K()(vb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});const ny=//i,oy=/xmlns:o="urn:schemas-microsoft-com/i;class iy{constructor(t){this.document=t}isActive(t){return ny.test(t)||oy.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;(function Z1(o,t){if(!o.childCount)return;const e=new Bo(o.document),n=function(s,a){const c=a.createRangeIn(s),l=new De({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),d=[];for(const u of c)if("elementStart"===u.type&&l.match(u.item)){const g=X1(u.item);d.push({element:u.item,id:g.id,order:g.order,indent:g.indent})}return d}(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=function(f,w){if(!f)return!0;if(f.id!==w.id)return w.indent-f.indent!=1;const v=w.element.previousSibling;return!v||!((D=v).is("element","ol")||D.is("element","ul"));var D}(n[a-1],s),d=(g=s,(u=c?null:n[a-1])?g.indent-u.indent:g.indent-1);var u,g;if(c&&(i=null,r=1),!i||0!==d){const f=function(w,v){const M=/mso-level-number-format:([^;]{0,100});/gi,R=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,Y=new RegExp(`@list l${w.id}:level${w.indent}\\s*({[^}]*)`,"gi").exec(v);let nt="decimal",_t="ol",lt=null;if(Y&&Y[1]){const Yt=M.exec(Y[1]);if(Yt&&Yt[1]&&(nt=Yt[1].trim(),_t="bullet"!==nt&&"image"!==nt?"ol":"ul"),"bullet"===nt){const Wt=function(Ri){const ln=function(Nn){if(Nn.getChild(0).is("$text"))return null;for(const Pn of Nn.getChildren()){if(!Pn.is("element","span"))continue;const jo=Pn.getChild(0);if(jo)return jo.is("$text")?jo:jo.getChild(0)}return null}(Ri);if(!ln)return null;const Le=ln._data;return"o"===Le?"circle":"\xb7"===Le?"disc":"\xa7"===Le?"square":null}(w.element);Wt&&(nt=Wt)}else{const Wt=R.exec(Y[1]);Wt&&Wt[1]&&(lt=parseInt(Wt[1]))}}return{type:_t,startIndex:lt,style:J1(nt)}}(s,t);if(i)if(s.indent>r){const w=i.getChild(i.childCount-1),v=w.getChild(w.childCount-1);i=yb(f,v,e),r+=1}else s.indentr.indexOf(f)>-1)?d.push(g):g.getAttribute("src")||d.push(g)}for(const u of d)a.remove(u)})(n,o,e),function(r,s,a){const c=a.createRangeIn(s),l=[];for(const g of c)if("elementStart"==g.type&&g.item.is("element","v:shape")){const m=g.item.getAttribute("id");if(r.includes(m))continue;d(g.item.parent.getChildren(),m)||l.push(g.item)}for(const g of l){const m={src:u(g)};g.hasAttribute("alt")&&(m.alt=g.getAttribute("alt"));const f=a.createElement("img",m);a.insertChild(g.index+1,f,g.parent)}function d(g,m){for(const f of g)if(f.is("element")&&("img"==f.name&&f.getAttribute("v:shapes")==m||d(f.getChildren(),m)))return!0;return!1}function u(g){for(const m of g.getChildren())if(m.is("element")&&m.getAttribute("src"))return m.getAttribute("src")}}(n,o,e),function(r,s){const a=s.createRangeIn(r),c=new De({name:/v:(.+)/}),l=[];for(const d of a)"elementStart"==d.type&&c.match(d.item)&&l.push(d.item);for(const d of l)s.remove(d)}(o,e);const i=function(r,s){const a=s.createRangeIn(r),c=new De({name:"img"}),l=[];for(const d of a)d.item.is("element")&&c.match(d.item)&&d.item.getAttribute("src").startsWith("file://")&&l.push(d.item);return l}(o,e);i.length&&function(r,s,a){if(r.length===s.length)for(let c=0;cs.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),"forward"==t?r.nodeAfter:r.nodeBefore}function Eb(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const ry=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class sy{constructor(t){this.document=t}isActive(t){return ry.test(t)}execute(t){const e=new Bo(this.document),{body:n}=t._parsedData;(function(i,r){for(const s of i.getChildren())if(s.is("element","b")&&"normal"===s.getStyle("font-weight")){const a=i.getChildIndex(s);r.remove(s),r.insertChild(a,s.getChildren(),i)}})(n,e),function(i,r){for(const s of r.createRangeIn(i)){const a=s.item;if(a.is("element","li")){const c=a.getChild(0);c&&c.is("element","p")&&r.unwrapElement(c)}}}(n,e),function(i,r){const s=new vo(r.document.stylesProcessor),a=new yi(s,{renderingMode:"data"}),c=a.blockElements,l=a.inlineObjectElements,d=[];for(const u of r.createRangeIn(i)){const g=u.item;if(g.is("element","br")){const m=xb(g,"forward",r,{blockElements:c,inlineObjectElements:l}),f=xb(g,"backward",r,{blockElements:c,inlineObjectElements:l}),w=Eb(m,c);(Eb(f,c)||w)&&d.push(g)}}for(const u of d)u.hasClass("Apple-interchange-newline")?r.remove(u):r.replace(u,r.createElement("p"))}(n,e),t.content=n}}const ay=/(\s+)<\/span>/g,(t,e)=>1===e.length?" ":Array(e.length+1).join("\xa0 ").substr(0,e.length))}function Ft(o,t,e,n,i=1){null!=t&&null!=i&&t>i?n.setAttribute(o,t,e):n.removeAttribute(o,e)}function Oo(o,t,e={}){const n=o.createElement("tableCell",e);return o.insertElement("paragraph",n),o.insert(n,t),n}function $h(o,t){const n=parseInt(t.parent.parent.getAttribute("headingColumns")||"0"),{column:i}=o.getCellLocation(t);return!!n&&i{t.on(`element:${o}`,(e,n,{writer:i})=>{if(!n.modelRange)return;const r=n.modelRange.start.nodeAfter,s=i.createPositionAt(r,0);if(n.viewItem.isEmpty)return void i.insertElement("paragraph",s);const a=Array.from(r.getChildren());if(a.every(c=>c.is("element","$marker"))){const c=i.createElement("paragraph");i.insert(c,i.createPositionAt(r,0));for(const l of a)i.move(i.createRangeOn(l),i.createPositionAt(c,"end"))}},{priority:"low"})}}function uy(o){let t=0,e=0;const n=Array.from(o.getChildren()).filter(i=>"th"===i.name||"td"===i.name);for(;e1||s>1)&&this._recordSpans(i,s,r),this._shouldSkipSlot()||(e=this._formatOutValue(i)),this._nextCellAtColumn=this._column+r}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,e||this.next()}skipRow(t){this._skipRows.add(t)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return void 0!==this._endRow&&this._row>this._endRow}_isOverEndColumn(){return void 0!==this._endColumn&&this._column>this._endColumn}_formatOutValue(t,e=this._row,n=this._column){return{done:!1,value:new hy(this,t,e,n)}}_shouldSkipSlot(){return this._skipRows.has(this._row)||this._rowthis._endColumn}_getSpanned(){const t=this._spannedCells.get(this._row);return t&&t.get(this._column)||null}_recordSpans(t,e,n){const i={cell:t,row:this._row,column:this._column};for(let r=this._row;r0&&!this._jumpedToStartRow}_jumpToNonSpannedRowClosestToStartRow(){const t=this._getRowLength(0);for(let e=this._startRow;!this._jumpedToStartRow;e--)t===this._getRowLength(e)&&(this._row=e,this._rowIndex=e,this._jumpedToStartRow=!0)}_getRowLength(t){return[...this._table.getChild(t).getChildren()].reduce((e,n)=>e+parseInt(n.getAttribute("colspan")||"1"),0)}}class hy{constructor(t,e,n,i){this.cell=e,this.row=t._row,this.column=t._column,this.cellAnchorRow=n,this.cellAnchorColumn=i,this._cellIndex=t._cellIndex,this._rowIndex=t._rowIndex,this._table=t._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute("colspan")||"1")}get cellHeight(){return parseInt(this.cell.getAttribute("rowspan")||"1")}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}}function Tb(o,t){return(e,{writer:n})=>{const i=e.getAttribute("headingRows")||0,r=n.createContainerElement("table",null,[]),s=n.createContainerElement("figure",{class:"table"},r);i>0&&n.insert(n.createPositionAt(r,"end"),n.createContainerElement("thead",null,n.createSlot(a=>a.is("element","tableRow")&&a.indexa.is("element","tableRow")&&a.index>=i)));for(const{positionOffset:a,filter:c}of t.additionalSlots)n.insert(n.createPositionAt(r,a),n.createSlot(c));return n.insert(n.createPositionAt(r,"after"),n.createSlot(a=>!a.is("element","tableRow")&&!t.additionalSlots.some(({filter:c})=>c(a)))),t.asWidget?((c=n).setCustomProperty("table",!0,a=s),Dh(a,c,{hasSelectionHandle:!0})):s;var a,c}}function Ib(o={}){return(t,{writer:e})=>{const n=t.parent,i=n.parent,r=i.getChildIndex(n),s=new wt(i,{row:r}),a=i.getAttribute("headingRows")||0,c=i.getAttribute("headingColumns")||0;let l=null;for(const d of s)if(d.cell==t){const u=d.row{if(!t.parent.is("element","tableCell")||!Bb(t))return null;if(o.asWidget)return e.createContainerElement("span",{class:"ck-table-bogus-paragraph"});{const n=e.createContainerElement("p");return e.setCustomProperty("dataPipeline:transparentRendering",!0,n),n}}}function Bb(o){return 1==o.parent.childCount&&!!o.getAttributeKeys().next().done}class gy extends st{refresh(){const t=this.editor.model;this.isEnabled=function(i,r){const s=i.getFirstPosition().parent;return r.checkChild(s===s.root?s:s.parent,"table")}(t.document.selection,t.schema)}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("TableUtils"),r=e.config.get("table.defaultHeadings.rows"),s=e.config.get("table.defaultHeadings.columns");void 0===t.headingRows&&r&&(t.headingRows=r),void 0===t.headingColumns&&s&&(t.headingColumns=s),n.change(a=>{const c=i.createTable(a,t);n.insertObject(c,null,null,{findOptimalPosition:"auto"}),a.setSelection(a.createPositionAt(c.getNodeByPath([0,0,0]),0))})}}class Nb extends st{constructor(t,e={}){super(t),this.order=e.order||"below"}refresh(){const t=this.editor.model.document.selection,e=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(t).length;this.isEnabled=e}execute(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("TableUtils"),i="above"===this.order,r=n.getSelectionAffectedTableCells(e),s=n.getRowIndexes(r),a=i?s.first:s.last,c=r[0].findAncestor("table");n.insertRows(c,{at:i?a:a+1,copyStructureFromAbove:!i})}}class Pb extends st{constructor(t,e={}){super(t),this.order=e.order||"right"}refresh(){const t=this.editor.model.document.selection,e=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(t).length;this.isEnabled=e}execute(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("TableUtils"),i="left"===this.order,r=n.getSelectionAffectedTableCells(e),s=n.getColumnIndexes(r),a=i?s.first:s.last,c=r[0].findAncestor("table");n.insertColumns(c,{columns:1,at:i?a:a+1})}}class Ob extends st{constructor(t,e={}){super(t),this.direction=e.direction||"horizontally"}refresh(){const t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=1===t.length}execute(){const t=this.editor.plugins.get("TableUtils"),e=t.getSelectionAffectedTableCells(this.editor.model.document.selection)[0];"horizontally"===this.direction?t.splitCellHorizontally(e,2):t.splitCellVertically(e,2)}}function zb(o,t,e){const{startRow:n,startColumn:i,endRow:r,endColumn:s}=t,a=e.createElement("table"),c=r-n+1;for(let d=0;d0&&Ft("headingRows",w-g,d,f,0);const v=parseInt(u.getAttribute("headingColumns")||"0");v>0&&Ft("headingColumns",v-m,d,f,0)}(a,o,n,i,e),a}function Lb(o,t,e=0){const n=[],i=new wt(o,{startRow:e,endRow:t-1});for(const r of i){const{row:s,cellHeight:a}=r;s1&&(a.rowspan=c);const l=parseInt(o.getAttribute("colspan")||"1");l>1&&(a.colspan=l);const d=r+s,u=[...new wt(i,{startRow:r,endRow:d,includeAllSlots:!0})];let g,m=null;for(const f of u){const{row:w,column:v,cell:D}=f;D===o&&void 0===g&&(g=v),void 0!==g&&g===v&&w===d&&(m=Oo(e,f.getPositionBefore(),a))}return Ft("rowspan",s,o,e),m}function Rb(o,t){const e=[],n=new wt(o);for(const i of n){const{column:r,cellWidth:s}=i;r1&&(r.colspan=s);const a=parseInt(o.getAttribute("rowspan")||"1");a>1&&(r.rowspan=a);const c=Oo(n,n.createPositionAfter(o),r);return Ft("colspan",i,o,n),c}function Vb(o,t,e,n,i,r){const s=parseInt(o.getAttribute("colspan")||"1"),a=parseInt(o.getAttribute("rowspan")||"1");e+s-1>i&&Ft("colspan",i-e+1,o,r,1),t+a-1>n&&Ft("rowspan",n-t+1,o,r,1)}function Yh(o,t){const e=t.getColumns(o),n=new Array(e).fill(0);for(const{column:r}of new wt(o))n[r]++;const i=n.reduce((r,s,a)=>s?r:[...r,a],[]);return i.length>0&&(t.removeColumns(o,{at:i[i.length-1]}),!0)}function Kh(o,t){const e=[],n=t.getRows(o);for(let i=0;i0&&(t.removeRows(o,{at:e[e.length-1]}),!0)}function Qh(o,t){Yh(o,t)||Kh(o,t)}function Ub(o,t){const e=Array.from(new wt(o,{startColumn:t.firstColumn,endColumn:t.lastColumn,row:t.lastRow}));return e.every(({cellHeight:i})=>1===i)?t.lastRow:t.lastRow+(e[0].cellHeight-1)}function Hb(o,t){const e=Array.from(new wt(o,{startRow:t.firstRow,endRow:t.lastRow,column:t.lastColumn}));return e.every(({cellWidth:i})=>1===i)?t.lastColumn:t.lastColumn+(e[0].cellWidth-1)}class pl extends st{constructor(t,e){super(t),this.direction=e.direction,this.isHorizontal="right"==this.direction||"left"==this.direction}refresh(){const t=this._getMergeableCell();this.value=t,this.isEnabled=!!t}execute(){const t=this.editor.model,e=t.document,n=this.editor.plugins.get("TableUtils").getTableCellsContainingSelection(e.selection)[0],i=this.value,r=this.direction;t.change(s=>{const a="right"==r||"down"==r,c=a?n:i,l=a?i:n,d=l.parent;var w,v,D;v=c,D=s,Gb(w=l)||(Gb(v)&&D.remove(D.createRangeIn(v)),D.move(D.createRangeIn(w),D.createPositionAt(v,"end"))),D.remove(w);const u=this.isHorizontal?"colspan":"rowspan",g=parseInt(n.getAttribute(u)||"1"),m=parseInt(i.getAttribute(u)||"1");s.setAttribute(u,g+m,c),s.setSelection(s.createRangeIn(c));const f=this.editor.plugins.get("TableUtils");Qh(d.findAncestor("table"),f)})}_getMergeableCell(){const t=this.editor.model.document,e=this.editor.plugins.get("TableUtils"),n=e.getTableCellsContainingSelection(t.selection)[0];if(!n)return;const i=this.isHorizontal?function(a,c,l){const g="right"==c?a.nextSibling:a.previousSibling,m=(a.parent.parent.getAttribute("headingColumns")||0)>0;if(!g)return;const f="right"==c?a:g,w="right"==c?g:a,{column:v}=l.getCellLocation(f),{column:D}=l.getCellLocation(w),M=parseInt(f.getAttribute("colspan")||"1"),R=$h(l,f),Y=$h(l,w);return m&&R!=Y?void 0:v+M===D?g:void 0}(n,this.direction,e):function(a,c,l){const d=a.parent,u=d.parent,g=u.getChildIndex(d);if("down"==c&&g===l.getRows(u)-1||"up"==c&&0===g)return null;const m=parseInt(a.getAttribute("rowspan")||"1"),f=u.getAttribute("headingRows")||0;if(f&&("down"==c&&g+m===f||"up"==c&&g===f))return null;const D=parseInt(a.getAttribute("rowspan")||"1"),M="down"==c?g+D:g,R=[...new wt(u,{endRow:M})],nt=R.find(lt=>lt.cell===a).column,_t=R.find(({row:lt,cellHeight:Yt,column:Wt})=>Wt===nt&&("down"==c?lt===M:M===lt+Yt));return _t&&_t.cell?_t.cell:null}(n,this.direction,e);if(!i)return;const r=this.isHorizontal?"rowspan":"colspan",s=parseInt(n.getAttribute(r)||"1");return parseInt(i.getAttribute(r)||"1")===s?i:void 0}}function Gb(o){const t=o.getChild(0);return 1==o.childCount&&t.is("element","paragraph")&&t.isEmpty}class py extends st{refresh(){const t=this.editor.plugins.get("TableUtils"),e=t.getSelectionAffectedTableCells(this.editor.model.document.selection),n=e[0];if(n){const i=n.findAncestor("table"),r=t.getRows(i)-1,s=t.getRowIndexes(e);this.isEnabled=!(0===s.first&&s.last===r)}else this.isEnabled=!1}execute(){const t=this.editor.model,e=this.editor.plugins.get("TableUtils"),n=e.getSelectionAffectedTableCells(t.document.selection),i=e.getRowIndexes(n),r=n[0],s=r.findAncestor("table"),a=e.getCellLocation(r).column;t.change(c=>{e.removeRows(s,{at:i.first,rows:i.last-i.first+1});const d=function(u,g,m,f){const w=u.getChild(Math.min(g,f-1));let v=w.getChild(0),D=0;for(const M of w.getChildren()){if(D>m)return v;v=M,D+=parseInt(M.getAttribute("colspan")||"1")}return v}(s,i.first,a,e.getRows(s));c.setSelection(c.createPositionAt(d,0))})}}class my extends st{refresh(){const t=this.editor.plugins.get("TableUtils"),e=t.getSelectionAffectedTableCells(this.editor.model.document.selection),n=e[0];if(n){const i=n.findAncestor("table"),r=t.getColumns(i),{first:s,last:a}=t.getColumnIndexes(e);this.isEnabled=a-sc.cell===e).column,last:r.find(c=>c.cell===n).column},a=(c=r,l=e,d=n,u=s,parseInt(d.getAttribute("colspan")||"1")>1?d:l.previousSibling||d.nextSibling?d.nextSibling||l.previousSibling:u.first?c.reverse().find(({column:m})=>mm>u.last).cell);var c,l,d,u;this.editor.model.change(c=>{t.removeColumns(i,{at:s.first,columns:s.last-s.first+1}),c.setSelection(c.createPositionAt(a,0))})}}class fy extends st{refresh(){const n=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection),i=n.length>0;this.isEnabled=i,this.value=i&&n.every(r=>this._isInHeading(r,r.parent.parent))}execute(t={}){if(t.forceValue===this.value)return;const e=this.editor.plugins.get("TableUtils"),n=this.editor.model,i=e.getSelectionAffectedTableCells(n.document.selection),r=i[0].findAncestor("table"),{first:s,last:a}=e.getRowIndexes(i),c=this.value?s:a+1,l=r.getAttribute("headingRows")||0;n.change(d=>{if(c){const u=Lb(r,c,c>l?l:0);for(const{cell:g}of u)jb(g,c,d)}Ft("headingRows",c,r,d,0)})}_isInHeading(t,e){const n=parseInt(e.getAttribute("headingRows")||"0");return!!n&&t.parent.index0;this.isEnabled=i,this.value=i&&n.every(r=>$h(e,r))}execute(t={}){if(t.forceValue===this.value)return;const e=this.editor.plugins.get("TableUtils"),n=this.editor.model,i=e.getSelectionAffectedTableCells(n.document.selection),r=i[0].findAncestor("table"),{first:s,last:a}=e.getColumnIndexes(i),c=this.value?s:a+1;n.change(l=>{if(c){const d=Rb(r,c);for(const{cell:u,column:g}of d)Fb(u,g,c,l)}Ft("headingColumns",c,r,l,0)})}}class re extends q{static get pluginName(){return"TableUtils"}init(){this.decorate("insertColumns"),this.decorate("insertRows")}getCellLocation(t){const e=t.parent,n=e.parent,i=n.getChildIndex(e),r=new wt(n,{row:i});for(const{cell:s,row:a,column:c}of r)if(s===t)return{row:a,column:c}}createTable(t,e){const n=t.createElement("table"),i=e.rows||2,r=e.columns||2;return Zh(t,n,0,i,r),e.headingRows&&Ft("headingRows",Math.min(e.headingRows,i),n,t,0),e.headingColumns&&Ft("headingColumns",Math.min(e.headingColumns,r),n,t,0),n}insertRows(t,e={}){const n=this.editor.model,i=e.at||0,r=e.rows||1,s=void 0!==e.copyStructureFromAbove,a=e.copyStructureFromAbove?i-1:i,c=this.getRows(t),l=this.getColumns(t);if(i>c)throw new S("tableutils-insertrows-insert-out-of-range",this,{options:e});n.change(d=>{const u=t.getAttribute("headingRows")||0;if(u>i&&Ft("headingRows",u+r,t,d,0),!s&&(0===i||i===c))return void Zh(d,t,i,r,l);const g=s?Math.max(i,a):i,m=new wt(t,{endRow:g}),f=new Array(l).fill(1);for(const{row:w,column:v,cellHeight:D,cellWidth:M,cell:R}of m){const Y=w+D-1,nt=w<=a&&a<=Y;w0&&Oo(d,R,M>1?{colspan:M}:void 0),D+=Math.abs(M)-1}}})}insertColumns(t,e={}){const i=e.at||0,r=e.columns||1;this.editor.model.change(s=>{const a=t.getAttribute("headingColumns");ir-1)throw new S("tableutils-removerows-row-index-out-of-range",this,{table:t,options:e});n.change(c=>{const l={first:s,last:a},{cellsToMove:d,cellsToTrim:u}=function(g,{first:m,last:f}){const w=new Map,v=[];for(const{row:D,column:M,cellHeight:R,cell:Y}of new wt(g,{endRow:f})){const nt=D+R-1;if(D>=m&&D<=f&&nt>f&&w.set(M,{cell:Y,rowspan:R-(f-D+1)}),D=m){let _t;_t=nt>=f?f-m+1:nt-m+1,v.push({cell:Y,rowspan:R-_t})}}return{cellsToMove:w,cellsToTrim:v}}(t,l);d.size&&function(g,m,f,w){const D=[...new wt(g,{includeAllSlots:!0,row:m})],M=g.getChild(m);let R;for(const{column:Y,cell:nt,isAnchor:_t}of D)if(f.has(Y)){const{cell:lt,rowspan:Yt}=f.get(Y),Wt=R?w.createPositionAfter(R):w.createPositionAt(M,0);w.move(w.createRangeOn(lt),Wt),Ft("rowspan",Yt,lt,w),R=lt}else _t&&(R=nt)}(t,a+1,d,c);for(let g=a;g>=s;g--)c.remove(t.getChild(g));for(const{rowspan:g,cell:m}of u)Ft("rowspan",g,m,c);(function(g,{first:m,last:f},w){const v=g.getAttribute("headingRows")||0;m{!function(l,d,u){const g=l.getAttribute("headingColumns")||0;if(g&&d.firste.is("element","tableColumnGroup"))}(o);return t?Array.from(t.getChildren()):[]}(t);for(let l=s;l>=i;l--){for(const{cell:d,column:u,cellWidth:g}of[...new wt(t)])u<=l&&g>1&&u+g>l?Ft("colspan",g-1,d,a):u===l&&a.remove(d);if(c[l]){const d=0===l?c[1]:c[l-1],u=parseFloat(c[l].getAttribute("columnWidth")),g=parseFloat(d.getAttribute("columnWidth"));a.remove(c[l]),a.setAttribute("columnWidth",u+g+"%",d)}}Kh(t,this)||Yh(t,this)})}splitCellVertically(t,e=2){const n=this.editor.model,i=t.parent.parent,r=parseInt(t.getAttribute("rowspan")||"1"),s=parseInt(t.getAttribute("colspan")||"1");n.change(a=>{if(s>1){const{newCellsSpan:c,updatedSpan:l}=qb(s,e);Ft("colspan",l,t,a);const d={};c>1&&(d.colspan=c),r>1&&(d.rowspan=r),ji(s>e?e-1:s-1,a,a.createPositionAfter(t),d)}if(sf===t),u=l.filter(({cell:f,cellWidth:w,column:v})=>f!==t&&v===d||vd);for(const{cell:f,cellWidth:w}of u)a.setAttribute("colspan",w+c,f);const g={};r>1&&(g.rowspan=r),ji(c,a,a.createPositionAfter(t),g);const m=i.getAttribute("headingColumns")||0;m>d&&Ft("headingColumns",m+c,i,a)}})}splitCellHorizontally(t,e=2){const n=this.editor.model,i=t.parent,r=i.parent,s=r.getChildIndex(i),a=parseInt(t.getAttribute("rowspan")||"1"),c=parseInt(t.getAttribute("colspan")||"1");n.change(l=>{if(a>1){const d=[...new wt(r,{startRow:s,endRow:s+a-1,includeAllSlots:!0})],{newCellsSpan:u,updatedSpan:g}=qb(a,e);Ft("rowspan",g,t,l);const{column:m}=d.find(({cell:w})=>w===t),f={};u>1&&(f.rowspan=u),c>1&&(f.colspan=c);for(const w of d){const{column:v,row:D}=w;D>=s+g&&v===m&&(D+s+g)%u==0&&ji(1,l,w.getPositionBefore(),f)}}if(as&&l.setAttribute("rowspan",w+d,f);const g={};c>1&&(g.colspan=c),Zh(l,r,s+1,d,1,g);const m=r.getAttribute("headingRows")||0;m>s&&Ft("headingRows",m+d,r,l)}})}getColumns(t){return[...t.getChild(0).getChildren()].reduce((e,n)=>e+parseInt(n.getAttribute("colspan")||"1"),0)}getRows(t){return Array.from(t.getChildren()).reduce((e,n)=>n.is("element","tableRow")?e+1:e,0)}createTableWalker(t,e={}){return new wt(t,e)}getSelectedTableCells(t){const e=[];for(const n of this.sortRanges(t.getRanges())){const i=n.getContainedElement();i&&i.is("element","tableCell")&&e.push(i)}return e}getTableCellsContainingSelection(t){const e=[];for(const n of t.getRanges()){const i=n.start.findAncestor("tableCell");i&&e.push(i)}return e}getSelectionAffectedTableCells(t){const e=this.getSelectedTableCells(t);return e.length?e:this.getTableCellsContainingSelection(t)}getRowIndexes(t){const e=t.map(n=>n.parent.index);return this._getFirstLastIndexesObject(e)}getColumnIndexes(t){const e=t[0].findAncestor("table"),n=[...new wt(e)].filter(i=>t.includes(i.cell)).map(i=>i.column);return this._getFirstLastIndexesObject(n)}isSelectionRectangular(t){if(t.length<2||!this._areCellInTheSameTableSection(t))return!1;const e=new Set,n=new Set;let i=0;for(const s of t){const{row:a,column:c}=this.getCellLocation(s),l=parseInt(s.getAttribute("rowspan"))||1,d=parseInt(s.getAttribute("colspan"))||1;e.add(a),n.add(c),l>1&&e.add(a+l-1),d>1&&n.add(c+d-1),i+=l*d}return function(s,a){const c=Array.from(s.values()),l=Array.from(a.values());return(Math.max(...c)-Math.min(...c)+1)*(Math.max(...l)-Math.min(...l)+1)}(e,n)==i}sortRanges(t){return Array.from(t).sort(_y)}_getFirstLastIndexesObject(t){const e=t.sort((n,i)=>n-i);return{first:e[0],last:e[e.length-1]}}_areCellInTheSameTableSection(t){const e=t[0].findAncestor("table"),n=this.getRowIndexes(t),i=parseInt(e.getAttribute("headingRows"))||0;if(!this._areIndexesInSameSection(n,i))return!1;const r=this.getColumnIndexes(t),s=parseInt(e.getAttribute("headingColumns"))||0;return this._areIndexesInSameSection(r,s)}_areIndexesInSameSection({first:t,last:e},n){return t{const i=e.getSelectedTableCells(t.document.selection),r=i.shift(),{mergeWidth:s,mergeHeight:a}=function(c,l,d){let u=0,g=0;for(const D of l){const{row:M,column:R}=d.getCellLocation(D);u=$b(D,R,u,"colspan"),g=$b(D,M,g,"rowspan")}const{row:m,column:f}=d.getCellLocation(c);return{mergeWidth:u-f,mergeHeight:g-m}}(r,i,e);Ft("colspan",s,r,n),Ft("rowspan",a,r,n);for(const c of i)Cy(c,r,n);Qh(r.findAncestor("table"),e),n.setSelection(r,"in")})}}function Cy(o,t,e){Wb(o)||(Wb(t)&&e.remove(e.createRangeIn(t)),e.move(e.createRangeIn(o),e.createPositionAt(t,"end"))),e.remove(o)}function Wb(o){const t=o.getChild(0);return 1==o.childCount&&t.is("element","paragraph")&&t.isEmpty}function $b(o,t,e,n){const i=parseInt(o.getAttribute(n)||"1");return Math.max(e,t+i)}class vy extends st{constructor(t){super(t),this.affectsData=!1}refresh(){const t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model,e=this.editor.plugins.get("TableUtils"),n=e.getSelectionAffectedTableCells(t.document.selection),i=e.getRowIndexes(n),r=n[0].findAncestor("table"),s=[];for(let a=i.first;a<=i.last;a++)for(const c of r.getChild(a).getChildren())s.push(t.createRangeOn(c));t.change(a=>{a.setSelection(s)})}}class yy extends st{constructor(t){super(t),this.affectsData=!1}refresh(){const t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.plugins.get("TableUtils"),e=this.editor.model,n=t.getSelectionAffectedTableCells(e.document.selection),i=n[0],r=n.pop(),s=i.findAncestor("table"),a=t.getCellLocation(i),c=t.getCellLocation(r),l=Math.min(a.column,c.column),d=Math.max(a.column,c.column),u=[];for(const g of new wt(s,{startColumn:l,endColumn:d}))u.push(e.createRangeOn(g.cell));e.change(g=>{g.setSelection(u)})}}function Ey(o,t){let e=!1;const n=function(i){const r=parseInt(i.getAttribute("headingRows")||"0"),s=Array.from(i.getChildren()).reduce((c,l)=>l.is("element","tableRow")?c+1:c,0),a=[];for(const{row:c,cell:l,cellHeight:d}of new wt(i)){if(d<2)continue;const u=cu&&a.push({cell:l,rowspan:u-c})}return a}(o);if(n.length){e=!0;for(const i of n)Ft("rowspan",i.rowspan,i.cell,t,1)}return e}function Dy(o,t){let e=!1;const n=function(a){const c=new Array(a.childCount).fill(0);for(const{rowIndex:l}of new wt(a,{includeAllSlots:!0}))c[l]++;return c}(o),i=[];for(const[a,c]of n.entries())!c&&o.getChild(a).is("element","tableRow")&&i.push(a);if(i.length){e=!0;for(const a of i.reverse())t.remove(o.getChild(a)),n.splice(a,1)}const r=n.filter((a,c)=>o.getChild(c).is("element","tableRow")),s=r[0];if(!r.every(a=>a===s)){const a=r.reduce((c,l)=>l>c?l:c,0);for(const[c,l]of r.entries()){const d=a-l;if(d){for(let u=0;un.is("$text"));for(const n of e)t.wrap(t.createRangeOn(n),"paragraph");return!!e.length}function My(o){return!!o.position.parent.is("element","tableCell")&&("insert"==o.type&&"$text"==o.name||"remove"==o.type)}function By(o,t){if(!o.is("element","paragraph"))return!1;const e=t.toViewElement(o);return!!e&&Bb(o)!==e.is("element","span")}var Kb=H(3881);K()(Kb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class Py extends q{constructor(t){super(t),this._additionalSlots=[]}static get pluginName(){return"TableEditing"}static get requires(){return[re]}init(){const t=this.editor,e=t.model,n=e.schema,i=t.conversion,r=t.plugins.get(re);n.register("table",{inheritAllFrom:"$blockObject",allowAttributes:["headingRows","headingColumns"]}),n.register("tableRow",{allowIn:"table",isLimit:!0}),n.register("tableCell",{allowContentOf:"$container",allowIn:"tableRow",allowAttributes:["colspan","rowspan"],isLimit:!0,isSelectable:!0}),i.for("upcast").add(s=>{s.on("element:figure",(a,c,l)=>{if(!l.consumable.test(c.viewItem,{name:!0,classes:"table"}))return;const d=function(g){for(const m of g.getChildren())if(m.is("element","table"))return m}(c.viewItem);if(!d||!l.consumable.test(d,{name:!0}))return;l.consumable.consume(c.viewItem,{name:!0,classes:"table"});const u=Lt(l.convertItem(d,c.modelCursor).modelRange.getItems());u?(l.convertChildren(c.viewItem,l.writer.createPositionAt(u,"end")),l.updateConversionResult(u,c)):l.consumable.revert(c.viewItem,{name:!0,classes:"table"})})}),i.for("upcast").add(function dy(){return o=>{o.on("element:table",(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:!0}))return;const{rows:r,headingRows:s,headingColumns:a}=function(d){let u,g=0;const m=[],f=[];let w;for(const v of Array.from(d.getChildren())){if("tbody"!==v.name&&"thead"!==v.name&&"tfoot"!==v.name)continue;"thead"!==v.name||w||(w=v);const D=Array.from(v.getChildren()).filter(M=>M.is("element","tr"));for(const M of D)if(w&&v===w||"tbody"===v.name&&Array.from(M.getChildren()).length&&Array.from(M.getChildren()).every(R=>R.is("element","th")))g++,m.push(M);else{f.push(M);const R=uy(M);(!u||Rn.convertItem(d,n.writer.createPositionAt(l,"end"))),n.convertChildren(i,n.writer.createPositionAt(l,"end")),l.isEmpty){const d=n.writer.createElement("tableRow");n.writer.insert(d,n.writer.createPositionAt(l,"end")),Oo(n.writer,n.writer.createPositionAt(d,"end"))}n.updateConversionResult(l,e)}})}}()),i.for("editingDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:Tb(r,{asWidget:!0,additionalSlots:this._additionalSlots})}),i.for("dataDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:Tb(r,{additionalSlots:this._additionalSlots})}),i.for("upcast").elementToElement({model:"tableRow",view:"tr"}),i.for("upcast").add(s=>{s.on("element:tr",(a,c)=>{c.viewItem.isEmpty&&0==c.modelCursor.index&&a.stop()},{priority:"high"})}),i.for("downcast").elementToElement({model:"tableRow",view:(s,{writer:a})=>s.isEmpty?a.createEmptyElement("tr"):a.createContainerElement("tr")}),i.for("upcast").elementToElement({model:"tableCell",view:"td"}),i.for("upcast").elementToElement({model:"tableCell",view:"th"}),i.for("upcast").add(Sb("td")),i.for("upcast").add(Sb("th")),i.for("editingDowncast").elementToElement({model:"tableCell",view:Ib({asWidget:!0})}),i.for("dataDowncast").elementToElement({model:"tableCell",view:Ib()}),i.for("editingDowncast").elementToElement({model:"paragraph",view:Mb({asWidget:!0}),converterPriority:"high"}),i.for("dataDowncast").elementToElement({model:"paragraph",view:Mb(),converterPriority:"high"}),i.for("downcast").attributeToAttribute({model:"colspan",view:"colspan"}),i.for("upcast").attributeToAttribute({model:{key:"colspan",value:Qb("colspan")},view:"colspan"}),i.for("downcast").attributeToAttribute({model:"rowspan",view:"rowspan"}),i.for("upcast").attributeToAttribute({model:{key:"rowspan",value:Qb("rowspan")},view:"rowspan"}),t.config.define("table.defaultHeadings.rows",0),t.config.define("table.defaultHeadings.columns",0),t.commands.add("insertTable",new gy(t)),t.commands.add("insertTableRowAbove",new Nb(t,{order:"above"})),t.commands.add("insertTableRowBelow",new Nb(t,{order:"below"})),t.commands.add("insertTableColumnLeft",new Pb(t,{order:"left"})),t.commands.add("insertTableColumnRight",new Pb(t,{order:"right"})),t.commands.add("removeTableRow",new py(t)),t.commands.add("removeTableColumn",new my(t)),t.commands.add("splitTableCellVertically",new Ob(t,{direction:"vertically"})),t.commands.add("splitTableCellHorizontally",new Ob(t,{direction:"horizontally"})),t.commands.add("mergeTableCells",new Ay(t)),t.commands.add("mergeTableCellRight",new pl(t,{direction:"right"})),t.commands.add("mergeTableCellLeft",new pl(t,{direction:"left"})),t.commands.add("mergeTableCellDown",new pl(t,{direction:"down"})),t.commands.add("mergeTableCellUp",new pl(t,{direction:"up"})),t.commands.add("setTableColumnHeader",new ky(t)),t.commands.add("setTableRowHeader",new fy(t)),t.commands.add("selectTableRow",new vy(t)),t.commands.add("selectTableColumn",new yy(t)),function xy(o){o.document.registerPostFixer(t=>function(e,n){const i=n.document.differ.getChanges();let r=!1;const s=new Set;for(const a of i){let c=null;"insert"==a.type&&"table"==a.name&&(c=a.position.nodeAfter),"insert"!=a.type&&"remove"!=a.type||"tableRow"!=a.name&&"tableCell"!=a.name||(c=a.position.findAncestor("table")),Sy(a)&&(c=a.range.start.findAncestor("table")),c&&!s.has(c)&&(r=Ey(c,e)||r,r=Dy(c,e)||r,s.add(c))}return r}(t,o))}(e),function Ty(o){o.document.registerPostFixer(t=>function(e,n){const i=n.document.differ.getChanges();let r=!1;for(const s of i)"insert"==s.type&&"table"==s.name&&(r=Iy(s.position.nodeAfter,e)||r),"insert"==s.type&&"tableRow"==s.name&&(r=Yb(s.position.nodeAfter,e)||r),"insert"==s.type&&"tableCell"==s.name&&(r=Jh(s.position.nodeAfter,e)||r),"remove"!=s.type&&"insert"!=s.type||!My(s)||(r=Jh(s.position.parent,e)||r);return r}(t,o))}(e),this.listenTo(e.document,"change:data",()=>{(function(s,a){const c=s.document.differ;for(const l of c.getChanges()){let d,u=!1;if("attribute"==l.type){const w=l.range.start.nodeAfter;if(!w||!w.is("element","table")||"headingRows"!=l.attributeKey&&"headingColumns"!=l.attributeKey)continue;d=w,u="headingRows"==l.attributeKey}else"tableRow"!=l.name&&"tableCell"!=l.name||(d=l.position.findAncestor("table"),u="tableRow"==l.name);if(!d)continue;const g=d.getAttribute("headingRows")||0,m=d.getAttribute("headingColumns")||0,f=new wt(d);for(const w of f){const v=w.rowBy(g,a.mapper));for(const g of u)a.reconvertItem(g)}}(e,t.editing)})}registerAdditionalSlot(t){this._additionalSlots.push(t)}}function Qb(o){return t=>{const e=parseInt(t.getAttribute(o));return Number.isNaN(e)||e<=0?null:e}}var Zb=H(1613);K()(Zb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class zy extends at{constructor(t){super(t);const e=this.bindTemplate;this.items=this._createGridCollection(),this.keystrokes=new Me,this.focusTracker=new ce,this.set("rows",0),this.set("columns",0),this.bind("label").to(this,"columns",this,"rows",(n,i)=>`${i} \xd7 ${n}`),this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"mouseover@.ck-insert-table-dropdown-grid-box":e.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck","ck-insert-table-dropdown__label"],"aria-hidden":!0},children:[{text:e.to("label")}]}],on:{mousedown:e.to(n=>{n.preventDefault()}),click:e.to(()=>{this.fire("execute")})}}),this.on("boxover",(n,i)=>{const{row:r,column:s}=i.target.dataset;this.items.get(10*(parseInt(r,10)-1)+(parseInt(s,10)-1)).focus()}),this.focusTracker.on("change:focusedElement",(n,i,r)=>{if(!r)return;const{row:s,column:a}=r.dataset;this.set({rows:parseInt(s),columns:parseInt(a)})}),this.on("change:columns",()=>this._highlightGridBoxes()),this.on("change:rows",()=>this._highlightGridBoxes())}render(){super.render(),function({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:i,uiLanguageDirection:r}){const s="number"==typeof i?()=>i:i;function a(d){return u=>{const g=n.find(w=>w.element===e.focusedElement),m=n.getIndex(g),f=d(m,n);n.get(f).focus(),u.stopPropagation(),u.preventDefault()}}function c(d,u){return d===u-1?0:d+1}function l(d,u){return 0===d?u-1:d-1}t.set("arrowright",a((d,u)=>"rtl"===r?l(d,u.length):c(d,u.length))),t.set("arrowleft",a((d,u)=>"rtl"===r?c(d,u.length):l(d,u.length))),t.set("arrowup",a((d,u)=>{let g=d-s();return g<0&&(g=d+s()*Math.floor(u.length/s()),g>u.length-1&&(g-=s())),g})),t.set("arrowdown",a((d,u)=>{let g=d+s();return g>u.length-1&&(g=d%s()),g}))}({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:10,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection});for(const t of this.items)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element)}focus(){this.items.get(0).focus()}focusLast(){this.items.get(0).focus()}_highlightGridBoxes(){const t=this.rows,e=this.columns;this.items.map((n,i)=>{const r=Math.floor(i/10){const r=t.commands.get("insertTable"),s=eo(i);let a;return s.bind("isEnabled").to(r),s.buttonView.set({icon:'',label:e("Insert table"),tooltip:!0}),s.on("change:isOpen",()=>{a||(a=new zy(i),s.panelView.children.add(a),a.delegate("execute").to(s),s.on("execute",()=>{t.execute("insertTable",{rows:a.rows,columns:a.columns}),t.editing.view.focus()}))}),s}),t.ui.componentFactory.add("tableColumn",i=>{const r=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:e("Header column"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:n?"insertTableColumnLeft":"insertTableColumnRight",label:e("Insert column left")}},{type:"button",model:{commandName:n?"insertTableColumnRight":"insertTableColumnLeft",label:e("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:e("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:e("Select column")}}];return this._prepareDropdown(e("Column"),'',r,i)}),t.ui.componentFactory.add("tableRow",i=>{const r=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:e("Header row"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:e("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:e("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:e("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:e("Select row")}}];return this._prepareDropdown(e("Row"),'',r,i)}),t.ui.componentFactory.add("mergeTableCells",i=>{const r=[{type:"button",model:{commandName:"mergeTableCellUp",label:e("Merge cell up")}},{type:"button",model:{commandName:n?"mergeTableCellRight":"mergeTableCellLeft",label:e("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:e("Merge cell down")}},{type:"button",model:{commandName:n?"mergeTableCellLeft":"mergeTableCellRight",label:e("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:e("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:e("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(e("Merge cells"),'',r,i)})}_prepareDropdown(t,e,n,i){const r=this.editor,s=eo(i),a=this._fillDropdownWithListOptions(s,n);return s.buttonView.set({label:t,icon:e,tooltip:!0}),s.bind("isEnabled").toMany(a,"isEnabled",(...c)=>c.some(l=>l)),this.listenTo(s,"execute",c=>{r.execute(c.source.commandName),c.source instanceof di||r.editing.view.focus()}),s}_prepareMergeSplitButtonDropdown(t,e,n,i){const r=this.editor,s=eo(i,rh),a="mergeTableCells",c=r.commands.get(a),l=this._fillDropdownWithListOptions(s,n);return s.buttonView.set({label:t,icon:e,tooltip:!0,isEnabled:!0}),s.bind("isEnabled").toMany([c,...l],"isEnabled",(...d)=>d.some(u=>u)),this.listenTo(s.buttonView,"execute",()=>{r.execute(a),r.editing.view.focus()}),this.listenTo(s,"execute",d=>{r.execute(d.source.commandName),r.editing.view.focus()}),s}_fillDropdownWithListOptions(t,e){const n=this.editor,i=[],r=new ge;for(const s of e)jy(s,n,i,r);return Np(t,r),i}}function jy(o,t,e,n){if("button"===o.type||"switchbutton"===o.type){const i=o.model=new dm(o.model),{commandName:r,bindIsOn:s}=o.model,a=t.commands.get(r);e.push(a),i.set({commandName:r}),i.bind("isEnabled").to(a),s&&i.bind("isOn").to(a,"value"),i.set({withText:!0})}n.add(o)}var Jb=H(6945);K()(Jb.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});class zo extends q{static get pluginName(){return"TableSelection"}static get requires(){return[re,re]}init(){const t=this.editor,n=t.editing.view;this.listenTo(t.model,"deleteContent",(i,r)=>this._handleDeleteContent(i,r),{priority:"high"}),this.listenTo(n.document,"insertText",(i,r)=>this._handleInsertTextEvent(i,r),{priority:"high"}),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){const n=this.editor.plugins.get(re).getSelectedTableCells(this.editor.model.document.selection);return 0==n.length?null:n}getSelectionAsFragment(){const t=this.editor.plugins.get(re),e=this.getSelectedTableCells();return e?this.editor.model.change(n=>{const i=n.createDocumentFragment(),{first:r,last:s}=t.getColumnIndexes(e),{first:a,last:c}=t.getRowIndexes(e),l=e[0].findAncestor("table");let d=c,u=s;if(t.isSelectionRectangular(e)){const m={firstColumn:r,lastColumn:s,firstRow:a,lastRow:c};d=Ub(l,m),u=Hb(l,m)}const g=zb(l,{startRow:a,startColumn:r,endRow:d,endColumn:u},n);return n.insert(g,i,0),i}):null}setCellSelection(t,e){const n=this._getCellsToSelect(t,e);this.editor.model.change(i=>{i.setSelection(n.cells.map(r=>i.createRangeOn(r)),{backward:n.backward})})}getFocusCell(){const t=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return t&&t.is("element","tableCell")?t:null}getAnchorCell(){const t=Lt(this.editor.model.document.selection.getRanges()).getContainedElement();return t&&t.is("element","tableCell")?t:null}_defineSelectionConverter(){const t=this.editor,e=new Set;t.conversion.for("editingDowncast").add(n=>n.on("selection",(i,r,s)=>{const a=s.writer;!function(d){for(const u of e)d.removeClass("ck-editor__editable_selected",u);e.clear()}(a);const c=this.getSelectedTableCells();if(!c)return;for(const d of c){const u=s.mapper.toViewElement(d);a.addClass("ck-editor__editable_selected",u),e.add(u)}const l=s.mapper.toViewElement(c[c.length-1]);a.setSelection(l,0)},{priority:"lowest"}))}_enablePluginDisabling(){const t=this.editor;this.on("change:isEnabled",()=>{if(!this.isEnabled){const e=this.getSelectedTableCells();if(!e)return;t.model.change(n=>{const i=n.createPositionAt(e[0],0),r=t.model.schema.getNearestSelectionRange(i);n.setSelection(r)})}})}_handleDeleteContent(t,e){const n=this.editor.plugins.get(re),i=e[0],r=e[1],s=this.editor.model,a=!r||"backward"==r.direction,c=n.getSelectedTableCells(i);c.length&&(t.stop(),s.change(l=>{const d=c[a?c.length-1:0];s.change(g=>{for(const m of c)s.deleteContent(g.createSelection(m,"in"))});const u=s.schema.getNearestSelectionRange(l.createPositionAt(d,0));i.is("documentSelection")?l.setSelection(u):i.setTo(u)}))}_handleInsertTextEvent(t,e){const n=this.editor,i=this.getSelectedTableCells();if(!i)return;const r=n.editing.view,s=n.editing.mapper,a=i.map(c=>r.createRangeOn(s.toViewElement(c)));e.selection=r.createSelection(a)}_getCellsToSelect(t,e){const n=this.editor.plugins.get("TableUtils"),i=n.getCellLocation(t),r=n.getCellLocation(e),s=Math.min(i.row,r.row),a=Math.max(i.row,r.row),c=Math.min(i.column,r.column),l=Math.max(i.column,r.column),d=new Array(a-s+1).fill(null).map(()=>[]),u={startRow:s,endRow:a,startColumn:c,endColumn:l};for(const{row:f,cell:w}of new wt(t.findAncestor("table"),u))d[f-s].push(w);const g=r.rowf.reverse()),{cells:d.flat(),backward:g||m}}}class Fy extends q{static get pluginName(){return"TableClipboard"}static get requires(){return[zo,re]}init(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"copy",(n,i)=>this._onCopyCut(n,i)),this.listenTo(e,"cut",(n,i)=>this._onCopyCut(n,i)),this.listenTo(t.model,"insertContent",(n,[i,r])=>this._onInsertContent(n,i,r),{priority:"high"}),this.decorate("_replaceTableSlotCell")}_onCopyCut(t,e){const n=this.editor.plugins.get(zo);if(!n.getSelectedTableCells()||"cut"==t.name&&!this.editor.model.canEditAt(this.editor.model.document.selection))return;e.preventDefault(),t.stop();const r=this.editor.editing.view.document,s=this.editor.data.toView(n.getSelectionAsFragment());r.fire("clipboardOutput",{dataTransfer:e.dataTransfer,content:s,method:t.name})}_onInsertContent(t,e,n){if(n&&!n.is("documentSelection"))return;const i=this.editor.model,r=this.editor.plugins.get(re);let s=this.getTableIfOnlyTableInContent(e,i);if(!s)return;const a=r.getSelectionAffectedTableCells(i.document.selection);a.length?(t.stop(),i.change(c=>{const l={width:r.getColumns(s),height:r.getRows(s)},d=function(v,D,M,R){const Y=v[0].findAncestor("table"),nt=R.getColumnIndexes(v),_t=R.getRowIndexes(v),lt={firstColumn:nt.first,lastColumn:nt.last,firstRow:_t.first,lastRow:_t.last},Yt=1===v.length;return Yt&&(lt.lastRow+=D.height-1,lt.lastColumn+=D.width-1,function(Wt,Ri,ln,Le){const Nn=Le.getColumns(Wt),Pn=Le.getRows(Wt);ln>Nn&&Le.insertColumns(Wt,{at:Nn,columns:ln-Nn}),Ri>Pn&&Le.insertRows(Wt,{at:Pn,rows:Ri-Pn})}(Y,lt.lastRow+1,lt.lastColumn+1,R)),Yt||!R.isSelectionRectangular(v)?function(Wt,Ri,ln){const{firstRow:Le,lastRow:Nn,firstColumn:Pn,lastColumn:jo}=Ri,fw={first:Le,last:Nn},kw={first:Pn,last:jo};tg(Wt,Pn,fw,ln),tg(Wt,jo+1,fw,ln),Xh(Wt,Le,kw,ln),Xh(Wt,Nn+1,kw,ln,Le)}(Y,lt,M):(lt.lastRow=Ub(Y,lt),lt.lastColumn=Hb(Y,lt)),lt}(a,l,c,r),g=d.lastColumn-d.firstColumn+1,m={startRow:0,startColumn:0,endRow:Math.min(d.lastRow-d.firstRow+1,l.height)-1,endColumn:Math.min(g,l.width)-1};s=zb(s,m,c);const f=a[0].findAncestor("table"),w=this._replaceSelectedCellsWithPasted(s,l,f,d,c);if(this.editor.plugins.get("TableSelection").isEnabled){const v=r.sortRanges(w.map(D=>c.createRangeOn(D)));c.setSelection(v)}else c.setSelection(w[0],0)})):Qh(s,r)}_replaceSelectedCellsWithPasted(t,e,n,i,r){const{width:s,height:a}=e,c=function(v,D,M){const R=new Array(M).fill(null).map(()=>new Array(D).fill(null));for(const{column:Y,row:nt,cell:_t}of new wt(v))R[nt][Y]=_t;return R}(t,s,a),l=[...new wt(n,{startRow:i.firstRow,endRow:i.lastRow,startColumn:i.firstColumn,endColumn:i.lastColumn,includeAllSlots:!0})],d=[];let u;for(const v of l){const{row:D,column:M}=v;M===i.firstColumn&&(u=v.getPositionBefore());const nt=c[(D-i.firstRow)%a][(M-i.firstColumn)%s],_t=nt?r.cloneElement(nt):null,lt=this._replaceTableSlotCell(v,_t,u,r);lt&&(Vb(lt,D,M,i.lastRow,i.lastColumn,r),d.push(lt),u=r.createPositionAfter(lt))}const g=parseInt(n.getAttribute("headingRows")||"0"),m=parseInt(n.getAttribute("headingColumns")||"0"),w=i.firstColumnXb(r,s,e)).map(({cell:r})=>jb(r,t,n))}function tg(o,t,e,n){if(!(t<1))return Rb(o,t).filter(({row:i,cellHeight:r})=>Xb(i,r,e)).map(({cell:i,column:r})=>Fb(i,r,t,n))}function Xb(o,t,e){const n=o+t-1,{first:i,last:r}=e;return o>=i&&o<=r||o=i}class Vy extends q{static get pluginName(){return"TableKeyboard"}static get requires(){return[zo,re]}init(){const t=this.editor.editing.view.document;this.listenTo(t,"arrowKey",(...e)=>this._onArrowKey(...e),{context:"table"}),this.listenTo(t,"tab",(...e)=>this._handleTabOnSelectedTable(...e),{context:"figure"}),this.listenTo(t,"tab",(...e)=>this._handleTab(...e),{context:["th","td"]})}_handleTabOnSelectedTable(t,e){const n=this.editor,i=n.model.document.selection.getSelectedElement();i&&i.is("element","table")&&(e.preventDefault(),e.stopPropagation(),t.stop(),n.model.change(r=>{r.setSelection(r.createRangeIn(i.getChild(0).getChild(0)))}))}_handleTab(t,e){const n=this.editor,i=this.editor.plugins.get(re),r=this.editor.plugins.get("TableSelection"),a=!e.shiftKey;let c=i.getTableCellsContainingSelection(n.model.document.selection)[0];if(c||(c=r.getFocusCell()),!c)return;e.preventDefault(),e.stopPropagation(),t.stop();const l=c.parent,d=l.parent,u=d.getChildIndex(l),g=l.getChildIndex(c),m=0===g;if(!a&&m&&0===u)return void n.model.change(D=>{D.setSelection(D.createRangeOn(d))});const f=g===l.childCount-1,w=u===i.getRows(d)-1;if(a&&w&&f&&(n.execute("insertTableRowBelow"),u===i.getRows(d)-1))return void n.model.change(D=>{D.setSelection(D.createRangeOn(d))});let v;if(a&&f)v=d.getChild(u+1).getChild(0);else if(!a&&m){const D=d.getChild(u-1);v=D.getChild(D.childCount-1)}else v=l.getChild(g+(a?1:-1));n.model.change(D=>{D.setSelection(D.createRangeIn(v))})}_onArrowKey(t,e){const i=fo(e.keyCode,this.editor.locale.contentLanguageDirection);this._handleArrowKeys(i,e.shiftKey)&&(e.preventDefault(),e.stopPropagation(),t.stop())}_handleArrowKeys(t,e){const n=this.editor.plugins.get(re),i=this.editor.plugins.get("TableSelection"),r=this.editor.model,s=r.document.selection,a=["right","down"].includes(t),c=n.getSelectedTableCells(s);if(c.length){let d;return d=e?i.getFocusCell():a?c[c.length-1]:c[0],this._navigateFromCellInDirection(d,t,e),!0}const l=s.focus.findAncestor("tableCell");if(!l)return!1;if(!s.isCollapsed)if(e){if(s.isBackward==a&&!s.containsEntireContent(l))return!1}else{const d=s.getSelectedElement();if(!d||!r.schema.isObject(d))return!1}return!!this._isSelectionAtCellEdge(s,l,a)&&(this._navigateFromCellInDirection(l,t,e),!0)}_isSelectionAtCellEdge(t,e,n){const i=this.editor.model,r=this.editor.model.schema,s=n?t.getLastPosition():t.getFirstPosition();if(!r.getLimitElement(s).is("element","tableCell"))return i.createPositionAt(e,n?"end":0).isTouching(s);const a=i.createSelection(s);return i.modifySelection(a,{direction:n?"forward":"backward"}),s.isEqual(a.focus)}_navigateFromCellInDirection(t,e,n=!1){const i=this.editor.model,r=t.findAncestor("table"),s=[...new wt(r,{includeAllSlots:!0})],{row:a,column:c}=s[s.length-1],l=s.find(({cell:w})=>w==t);let{row:d,column:u}=l;switch(e){case"left":u--;break;case"up":d--;break;case"right":u+=l.cellWidth;break;case"down":d+=l.cellHeight}if(d<0||d>a||u<0&&d<=0||u>c&&d>=a)return void i.change(w=>{w.setSelection(w.createRangeOn(r))});u<0?(u=n?0:c,d--):u>c&&(u=n?c:0,d++);const g=s.find(w=>w.row==d&&w.column==u).cell,m=["right","down"].includes(e),f=this.editor.plugins.get("TableSelection");if(n&&f.isEnabled){const w=f.getAnchorCell()||t;f.setCellSelection(w,g)}else{const w=i.createPositionAt(g,m?0:"end");i.change(v=>{v.setSelection(w)})}}}class Uy extends on{constructor(){super(...arguments),this.domEventType=["mousemove","mouseleave"]}onDomEvent(t){this.fire(t.type,t)}}class Hy extends q{static get pluginName(){return"TableMouse"}static get requires(){return[zo,re]}init(){this.editor.editing.view.addObserver(Uy),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){const t=this.editor,e=t.plugins.get(re);let n=!1;const i=t.plugins.get(zo);this.listenTo(t.editing.view.document,"mousedown",(r,s)=>{const a=t.model.document.selection;if(!this.isEnabled||!i.isEnabled||!s.domEvent.shiftKey)return;const c=i.getAnchorCell()||e.getTableCellsContainingSelection(a)[0];if(!c)return;const l=this._getModelTableCellFromDomEvent(s);l&&tw(c,l)&&(n=!0,i.setCellSelection(c,l),s.preventDefault())}),this.listenTo(t.editing.view.document,"mouseup",()=>{n=!1}),this.listenTo(t.editing.view.document,"selectionChange",r=>{n&&r.stop()},{priority:"highest"})}_enableMouseDragSelection(){const t=this.editor;let e,n,i=!1,r=!1;const s=t.plugins.get(zo);this.listenTo(t.editing.view.document,"mousedown",(a,c)=>{this.isEnabled&&s.isEnabled&&(c.domEvent.shiftKey||c.domEvent.ctrlKey||c.domEvent.altKey||(e=this._getModelTableCellFromDomEvent(c)))}),this.listenTo(t.editing.view.document,"mousemove",(a,c)=>{if(!c.domEvent.buttons||!e)return;const l=this._getModelTableCellFromDomEvent(c);l&&tw(e,l)&&(n=l,i||n==e||(i=!0)),i&&(r=!0,s.setCellSelection(e,n),c.preventDefault())}),this.listenTo(t.editing.view.document,"mouseup",()=>{i=!1,r=!1,e=null,n=null}),this.listenTo(t.editing.view.document,"selectionChange",a=>{r&&a.stop()},{priority:"highest"})}_getModelTableCellFromDomEvent(t){const n=this.editor.editing.view.createPositionAt(t.target,0);return this.editor.editing.mapper.toModelPosition(n).parent.findAncestor("tableCell",{includeSelf:!0})}}function tw(o,t){return o.parent.parent==t.parent.parent}var ew=H(6306);function qy(o){const t=o.getSelectedElement();return t&&nw(t)?t:null}function Wy(o){const t=o.getFirstPosition();if(!t)return null;let e=t.parent;for(;e;){if(e.is("element")&&nw(e))return e;e=e.parent}return null}function nw(o){return!!o.getCustomProperty("table")&&Ot(o)}K()(ew.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var ow=H(7368);K()(ow.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var iw=H(9247);K()(iw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var rw=H(4070);K()(rw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var sw=H(6237);K()(sw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var aw=H(5087);K()(aw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var cw=H(7341);K()(cw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var lw=H(2128);K()(lw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var dw=H(4101);K()(dw.Z,{injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0});var ex=Object.defineProperty,uw=Object.getOwnPropertySymbols,nx=Object.prototype.hasOwnProperty,ox=Object.prototype.propertyIsEnumerable,hw=(o,t,e)=>t in o?ex(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,gw=(o,t)=>{for(var e in t||(t={}))nx.call(t,e)&&hw(o,e,t[e]);if(uw)for(var e of uw(t))ox.call(t,e)&&hw(o,e,t[e]);return o};const ix={autoRefresh:!0};class eg extends(ht()){constructor(t,e={}){if(super(),!t)throw new S("token-missing-token-url",this);e.initValue&&this._validateTokenValue(e.initValue),this.set("value",e.initValue),this._refresh="function"==typeof t?t:()=>{return n=t,new Promise((i,r)=>{const s=new XMLHttpRequest;s.open("GET",n),s.addEventListener("load",()=>{const a=s.status,c=s.response;return a<200||a>299?r(new S("token-cannot-download-new-token",null)):i(c)}),s.addEventListener("error",()=>r(new Error("Network Error"))),s.addEventListener("abort",()=>r(new Error("Abort"))),s.send()});var n},this._options=gw(gw({},ix),e)}init(){return new Promise((t,e)=>{this.value?(this._options.autoRefresh&&this._registerRefreshTokenTimeout(),t(this)):this.refreshToken().then(t).catch(e)})}refreshToken(){return this._refresh().then(t=>(this._validateTokenValue(t),this.set("value",t),this._options.autoRefresh&&this._registerRefreshTokenTimeout(),this))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e="string"==typeof t,n=!/^".*"$/.test(t),i=e&&3===t.split(".").length;if(!n||!i)throw new S("token-not-in-jwt-format",this)}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout),this._tokenRefreshTimeout=setTimeout(()=>{this.refreshToken()},t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split("."),{exp:e}=JSON.parse(atob(t));return e?Math.floor((1e3*e-Date.now())/2):36e5}catch{return 36e5}}static create(t,e={}){return new eg(t,e).init()}}const ng=/^data:(\S*?);base64,/;class rx extends(mt()){constructor(t,e,n){if(super(),!t)throw new S("fileuploader-missing-file",null);if(!e)throw new S("fileuploader-missing-token",null);if(!n)throw new S("fileuploader-missing-api-address",null);this.file=function(i){if("string"!=typeof i)return!1;const r=i.match(ng);return!(!r||!r.length)}(t)?function(i,r=512){try{const s=i.match(ng)[1],a=atob(i.replace(ng,"")),c=[];for(let l=0;lt(n)),this}onError(t){return this.once("error",(e,n)=>t(n)),this}abort(){this.xhr.abort()}send(){return this._prepareRequest(),this._attachXHRListeners(),this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open("POST",this._apiAddress),t.setRequestHeader("Authorization",this._token.value),t.responseType="json",this.xhr=t}_attachXHRListeners(){const t=this.xhr,e=n=>()=>this.fire("error",n);t.addEventListener("error",e("Network Error")),t.addEventListener("abort",e("Abort")),t.upload&&t.upload.addEventListener("progress",n=>{n.lengthComputable&&this.fire("progress",{total:n.total,uploaded:n.loaded})}),t.addEventListener("load",()=>{const n=t.status,i=t.response;if(n<200||n>299)return this.fire("error",i.message||i.error)})}_sendRequest(){const t=new FormData,e=this.xhr;return t.append("file",this.file),new Promise((n,i)=>{e.addEventListener("load",()=>{const r=e.status,s=e.response;return r<200||r>299?i(s.message?new S("fileuploader-uploading-data-failed",this,{message:s.message}):s.error):n(s)}),e.addEventListener("error",()=>i(new Error("Network Error"))),e.addEventListener("abort",()=>i(new Error("Abort"))),e.send(t)})}}class sx{constructor(t,e){if(!t)throw new S("uploadgateway-missing-token",null);if(!e)throw new S("uploadgateway-missing-api-address",null);this._token=t,this._apiAddress=e}upload(t){return new rx(t,this._token,this._apiAddress)}}class ax extends pi{static get pluginName(){return"CloudServicesCore"}createToken(t,e){return new eg(t,e)}createUploadGateway(t,e){return new sx(t,e)}}var mw=(o,t,e)=>new Promise((n,i)=>{var r=c=>{try{a(e.next(c))}catch(l){i(l)}},s=c=>{try{a(e.throw(c))}catch(l){i(l)}},a=c=>c.done?n(c.value):Promise.resolve(c.value).then(r,s);a((e=e.apply(o,t)).next())});class og extends el{}og.builtinPlugins=[class extends q{static get requires(){return[af,rl,tC,BA,CA,pf]}static get pluginName(){return"Essentials"}},class extends q{static get requires(){return[He]}static get pluginName(){return"CKFinderUploadAdapter"}init(){const o=this.editor.config.get("ckfinder.uploadUrl");o&&(this.editor.plugins.get(He).createUploadAdapter=t=>new pC(t,o,this.editor.t))}},class extends q{static get requires(){return[Mn]}static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats()}_addListAutoformats(){const o=this.editor.commands;o.get("bulletedList")&&io(this.editor,this,/^[*-]\s$/,"bulletedList"),o.get("numberedList")&&io(this.editor,this,/^1[.|)]\s$/,"numberedList"),o.get("todoList")&&io(this.editor,this,/^\[\s?\]\s$/,"todoList"),o.get("checkTodoList")&&io(this.editor,this,/^\[\s?x\s?\]\s$/,()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")})}_addBasicStylesAutoformats(){const o=this.editor.commands;if(o.get("bold")){const t=cl(this.editor,"bold");Pi(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,t),Pi(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,t)}if(o.get("italic")){const t=cl(this.editor,"italic");Pi(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,t),Pi(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,t)}if(o.get("code")){const t=cl(this.editor,"code");Pi(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(o.get("strikethrough")){const t=cl(this.editor,"strikethrough");Pi(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const o=this.editor.commands.get("heading");o&&o.modelElements.filter(t=>t.match(/^heading[1-6]$/)).forEach(t=>{const n=new RegExp(`^(#{${t[7]}})\\s$`);io(this.editor,this,n,()=>{if(!o.isEnabled||o.value===t)return!1;this.editor.execute("heading",{value:t})})})}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&io(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const o=this.editor,t=o.model.document.selection;o.commands.get("codeBlock")&&io(o,this,/^```$/,()=>{if(t.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})})}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&io(this.editor,this,/^---$/,"horizontalLine")}},class extends q{static get requires(){return[mC,fC]}static get pluginName(){return"Bold"}},class extends q{static get requires(){return[bC,wC]}static get pluginName(){return"Italic"}},class extends q{static get requires(){return[AC,vC]}static get pluginName(){return"BlockQuote"}},class extends q{static get pluginName(){return"CKBox"}static get requires(){return[Ih,yC]}},class extends q{static get pluginName(){return"CKFinder"}static get requires(){return["Link","CKFinderUploadAdapter",OC,NC]}},class extends pi{constructor(){super(...arguments),this.token=null,this._tokens=new Map}static get pluginName(){return"CloudServices"}static get requires(){return[ax]}init(){return mw(this,null,function*(){const o=this.context.config.get("cloudServices")||{};for(const[e,n]of Object.entries(o))this[e]=n;if(!this.tokenUrl)return void(this.token=null);const t=this.context.plugins.get("CloudServicesCore");this.token=yield t.createToken(this.tokenUrl).init(),this._tokens.set(this.tokenUrl,this.token)})}registerTokenUrl(o){return mw(this,null,function*(){if(this._tokens.has(o))return this.getTokenFor(o);const t=this.context.plugins.get("CloudServicesCore"),e=yield t.createToken(o).init();return this._tokens.set(o,e),e})}getTokenFor(o){const t=this._tokens.get(o);if(!t)throw new S("cloudservices-token-not-registered",this);return t}destroy(){super.destroy();for(const o of this._tokens.values())o.destroy()}},class extends q{static get pluginName(){return"EasyImage"}static get requires(){return[zC,"ImageUpload"]}init(){const o=this.editor;o.plugins.has("ImageBlockEditing")||o.plugins.has("ImageInlineEditing")||Q("easy-image-image-feature-missing",o)}},class extends q{static get requires(){return[VC,HC]}static get pluginName(){return"Heading"}},class extends q{static get requires(){return[sv,cv]}static get pluginName(){return"Image"}},class extends q{static get requires(){return[dv,uv]}static get pluginName(){return"ImageCaption"}},class extends q{static get requires(){return[vk,zv]}static get pluginName(){return"ImageStyle"}},class extends q{static get requires(){return[al,Ge]}static get pluginName(){return"ImageToolbar"}afterInit(){const o=this.editor,t=o.t,e=o.plugins.get(al),n=o.plugins.get("ImageUtils");var i;e.register("image",{ariaLabel:t("Image toolbar"),items:(i=o.config.get("image.toolbar")||[],i.map(r=>Dt(r)?r.name:r)),getRelatedElement:r=>n.getClosestSelectedImageWidget(r)})}},class extends q{static get pluginName(){return"ImageUpload"}static get requires(){return[xv,pv,bv]}},class extends q{static get pluginName(){return"Indent"}static get requires(){return[Lv,jv]}},class extends q{static get requires(){return[l1,p1,f1]}static get pluginName(){return"Link"}},class extends q{static get requires(){return[F1,y1]}static get pluginName(){return"List"}},class extends q{static get requires(){return[gl,K1,W1,bs]}static get pluginName(){return"MediaEmbed"}},Mh,class extends q{static get pluginName(){return"PasteFromOffice"}static get requires(){return[an]}init(){const o=this.editor,t=o.plugins.get("ClipboardPipeline"),e=o.editing.view.document,n=[];n.push(new iy(e)),n.push(new sy(e)),n.push(new cy(e)),t.on("inputTransformation",(i,r)=>{if(r._isTransformedWithPasteFromOffice||o.model.document.selection.getFirstPosition().parent.is("element","codeBlock"))return;const s=r.dataTransfer.getData("text/html"),a=n.find(c=>c.isActive(s));a&&(r._parsedData||(r._parsedData=function ly(o,t){const e=new DOMParser,n=Db(Db(function(c){const u=c.indexOf("");if(u<0)return c;const g=c.indexOf("",u+7);return c.substring(0,u+7)+(g>=0?c.substring(g):"")}(o=o.replace(/|--!>|)/g,xu="\u200b$1\u200b";const Pu=new Map;let Fu=0;const Lu="__ngContext__";function xr(e,t){gi(t)?(e[Lu]=t[ri],function dg(e){Pu.set(e[ri],e)}(t)):e[Lu]=t}let Oc;function Hu(e,t){return Oc(e,t)}function ca(e){const t=e[Bn];return Ii(t)?t[Bn]:t}function xh(e){return Fh(e[Zr])}function Ph(e){return Fh(e[Ui])}function Fh(e){for(;null!==e&&!Ii(e);)e=e[Ui];return e}function Do(e,t,n,i,o){if(null!=i){let c,d=!1;Ii(i)?c=i:gi(i)&&(d=!0,i=i[Ln]);const g=Ht(i);0===e&&null!==n?null==o?zu(t,n,g):Wo(t,n,g,o||null,!0):1===e&&null!==n?Wo(t,n,g,o||null,!0):2===e?function we(e,t,n){const i=ua(e,t);i&&function Bh(e,t,n,i){e.removeChild(t,n,i)}(e,i,t,n)}(t,g,d):3===e&&t.destroyNode(g),null!=c&&function hn(e,t,n,i,o){const c=n[rr];c!==Ht(n)&&Do(t,e,i,c,o);for(let g=pi;gt.replace(cg,xu))}(t))}function vl(e,t,n){return e.createElement(t,n)}function Lh(e,t){const n=e[Ji],i=n.indexOf(t);ya(t),n.splice(i,1)}function Rc(e,t){if(e.length<=pi)return;const n=pi+t,i=e[n];if(i){const o=i[ls];null!==o&&o!==e&&Lh(o,i),t>0&&(e[n-1][Ui]=i[Ui]);const c=vc(e,pi+t);!function Nc(e,t){Et(e,t,t[Wt],2,null,null),t[Ln]=null,t[Di]=null}(i[Ot],i);const d=c[Zi];null!==d&&d.detachView(c[Ot]),i[Bn]=null,i[Ui]=null,i[Jt]&=-129}return i}function ju(e,t){if(!(256&t[Jt])){const n=t[Wt];t[pr]&&Jo(t[pr]),t[fi]&&Jo(t[fi]),n.destroyNode&&Et(e,t,n,3,null,null),function Dg(e){let t=e[Zr];if(!t)return $u(e[Ot],e);for(;t;){let n=null;if(gi(t))n=t[Zr];else{const i=t[pi];i&&(n=i)}if(!n){for(;t&&!t[Ui]&&t!==e;)gi(t)&&$u(t[Ot],t),t=t[Bn];null===t&&(t=e),gi(t)&&$u(t[Ot],t),n=t&&t[Ui]}t=n}}(t)}}function $u(e,t){if(!(256&t[Jt])){t[Jt]&=-129,t[Jt]|=256,function Wu(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let i=0;i=0?i[d]():i[-d].unsubscribe(),c+=2}else n[c].call(i[n[c+1]]);null!==i&&(t[Wi]=null);const o=t[hr];if(null!==o){t[hr]=null;for(let c=0;c-1){const{encapsulation:c}=e.data[i.directiveStart+o];if(c===zn.None||c===zn.Emulated)return null}return cn(i,n)}}function Wo(e,t,n,i,o){e.insertBefore(t,n,i,o)}function zu(e,t,n){e.appendChild(t,n)}function Ku(e,t,n,i,o){null!==i?Wo(e,t,n,i,o):zu(e,t,n)}function ua(e,t){return e.parentNode(t)}function Xu(e,t,n){return v(e,t,n)}function a(e,t,n){return 40&e.type?cn(e,n):null}let s,qn,$i,ur,v=a;function l(e,t){v=e,s=t}function u(e,t,n,i){const o=xc(e,i,t),c=t[Wt],g=Xu(i.parent||t[Di],i,t);if(null!=o)if(Array.isArray(n))for(let y=0;ye,createScript:e=>e,createScriptURL:e=>e})}catch{}return qn}()?.createHTML(e)||e}function Dr(e){$i=e}function Er(){if(void 0!==$i)return $i;if(typeof document<"u")return document;throw new je(210,!1)}function Ys(){if(void 0===ur&&(ur=null,Nn.trustedTypes))try{ur=Nn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return ur}function Eo(e){return Ys()?.createHTML(e)||e}function gs(e){return Ys()?.createScriptURL(e)||e}class Vs{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${ht})`}}class zo extends Vs{getTypeName(){return"HTML"}}class bl extends Vs{getTypeName(){return"Style"}}class Pc extends Vs{getTypeName(){return"Script"}}class Ha extends Vs{getTypeName(){return"URL"}}class Dl extends Vs{getTypeName(){return"ResourceURL"}}function $r(e){return e instanceof Vs?e.changingThisBreaksApplicationSecurity:e}function ns(e,t){const n=function Ua(e){return e instanceof Vs&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${ht})`)}return n===t}function El(e){return new zo(e)}function Ko(e){return new bl(e)}function Fc(e){return new Pc(e)}function Hh(e){return new Ha(e)}function kc(e){return new Dl(e)}function Qu(e){const t=new Uh(e);return function jh(){try{return!!(new window.DOMParser).parseFromString(On(""),"text/html")}catch{return!1}}()?new Yu(t):t}class Yu{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const n=(new window.DOMParser).parseFromString(On(t),"text/html").body;return null===n?this.inertDocumentHelper.getInertBodyElement(t):(n.removeChild(n.firstChild),n)}catch{return null}}}class Uh{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const n=this.inertDocument.createElement("template");return n.innerHTML=On(t),n}}const Zu=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function ja(e){return(e=String(e)).match(Zu)?e:"unsafe:"+e}function Zs(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function $a(...e){const t={};for(const n of e)for(const i in n)n.hasOwnProperty(i)&&(t[i]=!0);return t}const wo=Zs("area,br,col,hr,img,wbr"),Ga=Zs("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Lc=Zs("rp,rt"),wl=$a(wo,$a(Ga,Zs("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),$a(Lc,Zs("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),$a(Lc,Ga)),Cl=Zs("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Cg=$a(Cl,Zs("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Zs("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),O0=Zs("script,style,template");class A0{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let n=t.firstChild,i=!0;for(;n;)if(n.nodeType===Node.ELEMENT_NODE?i=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,i&&n.firstChild)n=n.firstChild;else for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let o=this.checkClobberedElement(n,n.nextSibling);if(o){n=o;break}n=this.checkClobberedElement(n,n.parentNode)}return this.buf.join("")}startElement(t){const n=t.nodeName.toLowerCase();if(!wl.hasOwnProperty(n))return this.sanitizedSomething=!0,!O0.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);const i=t.attributes;for(let o=0;o"),!0}endElement(t){const n=t.nodeName.toLowerCase();wl.hasOwnProperty(n)&&!wo.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(Tg(t))}checkClobberedElement(t,n){if(n&&(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return n}}const N0=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,R0=/([^\#-~ |!])/g;function Tg(e){return e.replace(/&/g,"&").replace(N0,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(R0,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let qu;function Mg(e,t){let n=null;try{qu=qu||Qu(e);let i=t?String(t):"";n=qu.getInertBodyElement(i);let o=5,c=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=c,c=n.innerHTML,n=qu.getInertBodyElement(i)}while(i!==c);return On((new A0).sanitizeChildren(zh(n)||n))}finally{if(n){const i=zh(n)||n;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function zh(e){return"content"in e&&function x0(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Wa=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Wa||{});function Sg(e){const t=Bc();return t?Eo(t.sanitize(Wa.HTML,e)||""):ns(e,"HTML")?Eo($r(e)):Mg(Er(),Ve(e))}function Kh(e){const t=Bc();return t?t.sanitize(Wa.URL,e)||"":ns(e,"URL")?$r(e):ja(Ve(e))}function Ig(e){const t=Bc();if(t)return gs(t.sanitize(Wa.RESOURCE_URL,e)||"");if(ns(e,"ResourceURL"))return gs($r(e));throw new je(904,!1)}function Og(e,t,n){return function B0(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?Ig:Kh}(t,n)(e)}function Bc(){const e=pt();return e&&e[ir].sanitizer}const Vc=new Yt("ENVIRONMENT_INITIALIZER"),Ag=new Yt("INJECTOR",-1),Ng=new Yt("INJECTOR_DEF_TYPES");class Xh{get(t,n=qe){if(n===qe){const i=new Error(`NullInjectorError: No provider for ${Ne(t)}!`);throw i.name="NullInjectorError",i}return n}}function Qh(e){return{\u0275providers:e}}function V0(...e){return{\u0275providers:Rg(0,e),\u0275fromNgModule:!0}}function Rg(e,...t){const n=[],i=new Set;let o;const c=d=>{n.push(d)};return xa(t,d=>{const g=d;ed(g,c,[],i)&&(o||=[],o.push(g))}),void 0!==o&&xg(o,c),n}function xg(e,t){for(let n=0;n{t(c,i)})}}function ed(e,t,n,i){if(!(e=We(e)))return!1;let o=null,c=z(e);const d=!c&&dn(e);if(c||d){if(d&&!d.standalone)return!1;o=e}else{const y=e.ngModule;if(c=z(y),!c)return!1;o=y}const g=i.has(o);if(d){if(g)return!1;if(i.add(o),d.dependencies){const y="function"==typeof d.dependencies?d.dependencies():d.dependencies;for(const N of y)ed(N,t,n,i)}}else{if(!c)return!1;{if(null!=c.imports&&!g){let N;i.add(o);try{xa(c.imports,H=>{ed(H,t,n,i)&&(N||=[],N.push(H))})}finally{}void 0!==N&&xg(N,t)}if(!g){const N=Ki(o)||(()=>new o);t({provide:o,useFactory:N,deps:zt},o),t({provide:Ng,useValue:o,multi:!0},o),t({provide:Vc,useValue:()=>Cn(o),multi:!0},o)}const y=c.providers;if(null!=y&&!g){const N=e;Yh(y,H=>{t(H,N)})}}}return o!==e&&void 0!==e.providers}function Yh(e,t){for(let n of e)Be(n)&&(n=n.\u0275providers),Array.isArray(n)?Yh(n,t):t(n)}const H0=J({provide:String,useValue:J});function Zh(e){return null!==e&&"object"==typeof e&&H0 in e}function za(e){return"function"==typeof e}const Jh=new Yt("Set Injector scope."),td={},j0={};let qh;function nd(){return void 0===qh&&(qh=new Xh),qh}class Co{}class Tl extends Co{get destroyed(){return this._destroyed}constructor(t,n,i,o){super(),this.parent=n,this.source=i,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,tf(t,d=>this.processProvider(d)),this.records.set(Ag,Ml(void 0,this)),o.has("environment")&&this.records.set(Co,Ml(void 0,this));const c=this.records.get(Jh);null!=c&&"string"==typeof c.value&&this.scopes.add(c.value),this.injectorDefTypes=new Set(this.get(Ng.multi,zt,Dt.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const n of t)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const n=$t(this),i=rn(void 0);try{return t()}finally{$t(n),rn(i)}}get(t,n=qe,i=Dt.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(ti))return t[ti](this);i=ye(i);const c=$t(this),d=rn(void 0);try{if(!(i&Dt.SkipSelf)){let y=this.records.get(t);if(void 0===y){const N=function K0(e){return"function"==typeof e||"object"==typeof e&&e instanceof Yt}(t)&&w(t);y=N&&this.injectableDefInScope(N)?Ml(ef(t),td):null,this.records.set(t,y)}if(null!=y)return this.hydrate(t,y)}return(i&Dt.Self?nd():this.parent).get(t,n=i&Dt.Optional&&n===qe?null:n)}catch(g){if("NullInjectorError"===g.name){if((g[ee]=g[ee]||[]).unshift(Ne(t)),c)throw g;return function Mt(e,t,n,i){const o=e[ee];throw t[Bt]&&o.unshift(t[Bt]),e.message=function Fn(e,t,n,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=Ne(t);if(Array.isArray(t))o=t.map(Ne).join(" -> ");else if("object"==typeof t){let c=[];for(let d in t)if(t.hasOwnProperty(d)){let g=t[d];c.push(d+":"+("string"==typeof g?JSON.stringify(g):Ne(g)))}o=`{${c.join(", ")}}`}return`${n}${i?"("+i+")":""}[${o}]: ${e.replace(st,"\n ")}`}("\n"+e.message,o,n,i),e.ngTokenPath=o,e[ee]=null,e}(g,t,"R3InjectorError",this.source)}throw g}finally{rn(d),$t(c)}}resolveInjectorInitializers(){const t=$t(this),n=rn(void 0);try{const o=this.get(Vc.multi,zt,Dt.Self);for(const c of o)c()}finally{$t(t),rn(n)}}toString(){const t=[],n=this.records;for(const i of n.keys())t.push(Ne(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new je(205,!1)}processProvider(t){let n=za(t=We(t))?t:We(t&&t.provide);const i=function G0(e){return Zh(e)?Ml(void 0,e.useValue):Ml(kg(e),td)}(t);if(za(t)||!0!==t.multi)this.records.get(n);else{let o=this.records.get(n);o||(o=Ml(void 0,td,!0),o.factory=()=>at(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,i)}hydrate(t,n){return n.value===td&&(n.value=j0,n.value=n.factory()),"object"==typeof n.value&&n.value&&function z0(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=We(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function ef(e){const t=w(e),n=null!==t?t.factory:Ki(e);if(null!==n)return n;if(e instanceof Yt)throw new je(204,!1);if(e instanceof Function)return function $0(e){const t=e.length;if(t>0)throw cl(t,"?"),new je(204,!1);const n=function Me(e){return e&&(e[pe]||e[nt])||null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new je(204,!1)}function kg(e,t,n){let i;if(za(e)){const o=We(e);return Ki(o)||ef(o)}if(Zh(e))i=()=>We(e.useValue);else if(function Fg(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...at(e.deps||[]));else if(function Pg(e){return!(!e||!e.useExisting)}(e))i=()=>Cn(We(e.useExisting));else{const o=We(e&&(e.useClass||e.provide));if(!function W0(e){return!!e.deps}(e))return Ki(o)||ef(o);i=()=>new o(...at(e.deps))}return i}function Ml(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function tf(e,t){for(const n of e)Array.isArray(n)?tf(n,t):n&&Be(n)?tf(n.\u0275providers,t):t(n)}const Lg=new Yt("AppId",{providedIn:"root",factory:()=>X0}),X0="ng",Bg=new Yt("Platform Initializer"),nf=new Yt("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Q0=new Yt("AnimationModuleType"),Y0=new Yt("CSP nonce",{providedIn:"root",factory:()=>Er().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Vg=(e,t,n)=>null;function hf(e,t,n=!1){return Vg(e,t,n)}class ob{}class jg{}class lb{resolveComponentFactory(t){throw function ab(e){const t=Error(`No component factory found for ${Ne(e)}.`);return t.ngComponent=e,t}(t)}}let jc=(()=>{class e{static{this.NULL=new lb}}return e})();function cb(){return Ol(Oi(),pt())}function Ol(e,t){return new $c(cn(e,t))}let $c=(()=>{class e{constructor(n){this.nativeElement=n}static{this.__NG_ELEMENT_ID__=cb}}return e})();function ub(e){return e instanceof $c?e.nativeElement:e}class Gg{}let db=(()=>{class e{constructor(){this.destroyNode=null}static{this.__NG_ELEMENT_ID__=()=>function hb(){const e=pt(),n=xi(Oi().index,e);return(gi(n)?n:e)[Wt]}()}}return e})(),fb=(()=>{class e{static{this.\u0275prov=ge({token:e,providedIn:"root",factory:()=>null})}}return e})();class Wg{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const pb=new Wg("16.2.12"),gf={};function gb(e,t){e instanceof Tl&&e.assertNotDestroyed();const i=$t(e),o=rn(void 0);try{return t()}finally{$t(i),rn(o)}}function ld(e){if(!wn()&&!function gn(){return qt}())throw new je(-203,!1)}function Qg(e,t=null,n=null,i){const o=Yg(e,t,n,i);return o.resolveInjectorInitializers(),o}function Yg(e,t=null,n=null,i,o=new Set){const c=[n||zt,V0(e)];return i=i||("object"==typeof e?void 0:Ne(e)),new Tl(c,t||nd(),i||null,o)}let Js=(()=>{class e{static{this.THROW_IF_NOT_FOUND=qe}static{this.NULL=new Xh}static create(n,i){if(Array.isArray(n))return Qg({name:""},i,n,"");{const o=n.name??"";return Qg({name:o},n.parent,n.providers,o)}}static{this.\u0275prov=ge({token:e,providedIn:"any",factory:()=>Cn(Ag)})}static{this.__NG_ELEMENT_ID__=-1}}return e})();function mf(e){return e.ngOriginalError}class da{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&mf(t);for(;n&&mf(n);)n=mf(n);return n||null}}let Gc=(()=>{class e{static{this.__NG_ELEMENT_ID__=Eb}static{this.__NG_ENV_ID__=n=>n}}return e})();class Db extends Gc{constructor(t){super(),this._lView=t}onDestroy(t){return Lo(this._lView,t),()=>function Zl(e,t){if(null===e[hr])return;const n=e[hr].indexOf(t);-1!==n&&e[hr].splice(n,1)}(this._lView,t)}}function Eb(){return new Db(pt())}function _f(e){return t=>{setTimeout(e,void 0,t)}}const To=class wb extends r.B{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,i){let o=t,c=n||(()=>null),d=i;if(t&&"object"==typeof t){const y=t;o=y.next?.bind(y),c=y.error?.bind(y),d=y.complete?.bind(y)}this.__isAsync&&(c=_f(c),o&&(o=_f(o)),d&&(d=_f(d)));const g=super.subscribe({next:o,error:c,complete:d});return t instanceof P.yU&&t.add(g),g}};function Jg(...e){}class wr{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new To(!1),this.onMicrotaskEmpty=new To(!1),this.onStable=new To(!1),this.onError=new To(!1),typeof Zone>"u")throw new je(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&n,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function Cb(){const e="function"==typeof Nn.requestAnimationFrame;let t=Nn[e?"requestAnimationFrame":"setTimeout"],n=Nn[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&n){const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i);const o=n[Zone.__symbol__("OriginalDelegate")];o&&(n=o)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function Sb(e){const t=()=>{!function Mb(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Nn,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,yf(e),e.isCheckStableRunning=!0,vf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),yf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,o,c,d,g)=>{if(function Ob(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(g))return n.invokeTask(o,c,d,g);try{return qg(e),n.invokeTask(o,c,d,g)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===c.type||e.shouldCoalesceRunChangeDetection)&&t(),em(e)}},onInvoke:(n,i,o,c,d,g,y)=>{try{return qg(e),n.invoke(o,c,d,g,y)}finally{e.shouldCoalesceRunChangeDetection&&t(),em(e)}},onHasTask:(n,i,o,c)=>{n.hasTask(o,c),i===o&&("microTask"==c.change?(e._hasPendingMicrotasks=c.microTask,yf(e),vf(e)):"macroTask"==c.change&&(e.hasPendingMacrotasks=c.macroTask))},onHandleError:(n,i,o,c)=>(n.handleError(o,c),e.runOutsideAngular(()=>e.onError.emit(c)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!wr.isInAngularZone())throw new je(909,!1)}static assertNotInAngularZone(){if(wr.isInAngularZone())throw new je(909,!1)}run(t,n,i){return this._inner.run(t,n,i)}runTask(t,n,i,o){const c=this._inner,d=c.scheduleEventTask("NgZoneEvent: "+o,t,Tb,Jg,Jg);try{return c.runTask(d,n,i)}finally{c.cancelTask(d)}}runGuarded(t,n,i){return this._inner.runGuarded(t,n,i)}runOutsideAngular(t){return this._outer.run(t)}}const Tb={};function vf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function yf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function qg(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function em(e){e._nesting--,vf(e)}class Ib{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new To,this.onMicrotaskEmpty=new To,this.onStable=new To,this.onError=new To}run(t,n,i){return t.apply(n,i)}runGuarded(t,n,i){return t.apply(n,i)}runOutsideAngular(t){return t()}runTask(t,n,i,o){return t.apply(n,i)}}const tm=new Yt("",{providedIn:"root",factory:nm});function nm(){const e=q(wr);let t=!0;const n=new se.c(o=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(t),o.complete()})}),i=new se.c(o=>{let c;e.runOutsideAngular(()=>{c=e.onStable.subscribe(()=>{wr.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,o.next(!0))})})});const d=e.onUnstable.subscribe(()=>{wr.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{c.unsubscribe(),d.unsubscribe()}});return(0,oe.h)(n,i.pipe(ue()))}function im(e){return e.ownerDocument.defaultView}function Xo(e){return e instanceof Function?e():e}let bf=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static{this.\u0275prov=ge({token:e,providedIn:"root",factory:()=>new e})}}return e})();function Wc(e){for(;e;){e[Jt]|=64;const t=ca(e);if(cs(e)&&!t)return e;e=t}return null}const lm=new Yt("",{providedIn:"root",factory:()=>!1});let ud=null;function hm(e,t){return e[t]??gm()}function fm(e,t){const n=gm();n.producerNode?.length&&(e[t]=ud,n.lView=e,ud=pm())}const Bb={...ks,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Wc(e.lView)},lView:null};function pm(){return Object.create(Bb)}function gm(){return ud??=pm(),ud}const yn={};function mm(e){_m(Sn(),pt(),Rr()+e,!1)}function _m(e,t,n,i){if(!i)if(3==(3&t[Jt])){const c=e.preOrderCheckHooks;null!==c&&Ma(t,c,n)}else{const c=e.preOrderHooks;null!==c&&Ho(t,c,0,n)}Qs(n)}function Rl(e,t=Dt.Default){const n=pt();return null===n?Cn(e,t):ih(Oi(),n,We(e),t)}function vm(){throw new Error("invalid")}function dd(e,t,n,i,o,c,d,g,y,N,H){const X=t.blueprint.slice();return X[Ln]=o,X[Jt]=140|i,(null!==N||e&&2048&e[Jt])&&(X[Jt]|=2048),uo(X),X[Bn]=X[vr]=e,X[Vn]=n,X[ir]=d||e&&e[ir],X[Wt]=g||e&&e[Wt],X[nr]=y||e&&e[nr]||null,X[Di]=c,X[ri]=function ug(){return Fu++}(),X[fr]=H,X[Jr]=N,X[Zn]=2==t.type?e[Zn]:X,X}function xl(e,t,n,i,o){let c=e.data[t];if(null===c)c=Df(e,t,n,i,o),function U(){return en.lFrame.inI18n}()&&(c.flags|=32);else if(64&c.type){c.type=n,c.value=i,c.attrs=o;const d=ea();c.injectorIndex=null===d?-1:d.injectorIndex}return Ls(c,!0),c}function Df(e,t,n,i,o){const c=ho(),d=rc(),y=e.data[t]=function zb(e,t,n,i,o,c){let d=t?t.injectorIndex:-1,g=0;return Nr()&&(g|=128),{type:n,index:i,insertBeforeIndex:null,injectorIndex:d,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:g,providerIndexes:0,value:o,attrs:c,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,d?c:c&&c.parent,n,t,i,o);return null===e.firstChild&&(e.firstChild=y),null!==c&&(d?null==c.child&&null!==y.parent&&(c.child=y):null===c.next&&(c.next=y,y.prev=c)),y}function zc(e,t,n,i){if(0===n)return-1;const o=t.length;for(let c=0;con&&_m(e,t,on,!1),Rt(g?2:0,o);const N=g?c:null,H=Is(N);try{null!==N&&(N.dirty=!1),n(i,o)}finally{Fo(N,H)}}finally{g&&null===t[pr]&&fm(t,pr),Qs(d),Rt(g?3:1,o)}}function Ef(e,t,n){if(Ss(t)){const i=qi(null);try{const c=t.directiveEnd;for(let d=t.directiveStart;dnull;function Em(e,t,n,i){for(let o in e)if(e.hasOwnProperty(o)){n=null===n?{}:n;const c=e[o];null===i?wm(n,t,o,c):i.hasOwnProperty(o)&&wm(n,t,i[o],c)}return n}function wm(e,t,n,i){e.hasOwnProperty(n)?e[n].push(t,i):e[n]=[t,i]}function Ps(e,t,n,i,o,c,d,g){const y=cn(t,n);let H,N=t.inputs;!g&&null!=N&&(H=N[i])?(Af(e,n,H,i,o),ji(t)&&function Qb(e,t){const n=xi(t,e);16&n[Jt]||(n[Jt]|=64)}(n,t.index)):3&t.type&&(i=function Xb(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),o=null!=d?d(o,t.value||"",i):o,c.setProperty(y,i,o))}function Mf(e,t,n,i){if(nl()){const o=null===i?null:{"":-1},c=function tD(e,t){const n=e.directiveRegistry;let i=null,o=null;if(n)for(let c=0;c0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(d)!=g&&d.push(g),d.push(n,i,c)}}(e,t,i,zc(e,n,o.hostVars,yn),o)}function Mo(e,t,n,i,o,c){const d=cn(e,t);!function If(e,t,n,i,o,c,d){if(null==c)e.removeAttribute(t,o,n);else{const g=null==d?Ve(c):d(c,i||"",o);e.setAttribute(t,o,g,n)}}(t[Wt],d,c,e.value,n,i,o)}function aD(e,t,n,i,o,c){const d=c[t];if(null!==d)for(let g=0;g{class e{constructor(){this.all=new Set,this.queue=new Map}create(n,i,o){const c=typeof Zone>"u"?null:Zone.current,d=function kt(e,t,n){const i=Object.create(mn);n&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=t;const o=d=>{i.cleanupFn=d};return i.ref={notify:()=>Po(i),run:()=>{if(i.dirty=!1,i.hasRun&&!ko(i))return;i.hasRun=!0;const d=Is(i);try{i.cleanupFn(),i.cleanupFn=Kt,i.fn(o)}finally{Fo(i,d)}},cleanup:()=>i.cleanupFn()},i.ref}(n,N=>{this.all.has(N)&&this.queue.set(N,c)},o);let g;this.all.add(d),d.notify();const y=()=>{d.cleanup(),g?.(),this.all.delete(d),this.queue.delete(d)};return g=i?.onDestroy(y),{destroy:y}}flush(){if(0!==this.queue.size)for(const[n,i]of this.queue)this.queue.delete(n),i?i.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}static{this.\u0275prov=ge({token:e,providedIn:"root",factory:()=>new e})}}return e})();function fd(e,t,n){let i=n?e.styles:null,o=n?e.classes:null,c=0;if(null!==t)for(let d=0;d0){km(e,1);const o=n.components;null!==o&&Bm(e,o,1)}}function Bm(e,t,n){for(let i=0;i-1&&(Rc(t,i),vc(n,i))}this._attachedToViewContainer=!1}ju(this._lView[Ot],this._lView)}onDestroy(t){Lo(this._lView,t)}markForCheck(){Wc(this._cdRefInjectingView||this._lView)}detach(){this._lView[Jt]&=-129}reattach(){this._lView[Jt]|=128}detectChanges(){pd(this._lView[Ot],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new je(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function bg(e,t){Et(e,t,t[Wt],2,null,null)}(this._lView[Ot],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new je(902,!1);this._appRef=t}}class mD extends Xc{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;pd(t[Ot],t,t[Vn],!1)}checkNoChanges(){}get context(){return null}}class Vm extends jc{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=dn(t);return new Qc(n,this.ngModule)}}function Hm(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class vD{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,i){i=ye(i);const o=this.injector.get(t,gf,i);return o!==gf||n===gf?o:this.parentInjector.get(t,n,i)}}class Qc extends jg{get inputs(){const t=this.componentDef,n=t.inputTransforms,i=Hm(t.inputs);if(null!==n)for(const o of i)n.hasOwnProperty(o.propName)&&(o.transform=n[o.propName]);return i}get outputs(){return Hm(this.componentDef.outputs)}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function zr(e){return e.map(Ds).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}create(t,n,i,o){let c=(o=o||this.ngModule)instanceof Co?o:o?.injector;c&&null!==this.componentDef.getStandaloneInjector&&(c=this.componentDef.getStandaloneInjector(c)||c);const d=c?new vD(t,c):t,g=d.get(Gg,null);if(null===g)throw new je(407,!1);const X={rendererFactory:g,sanitizer:d.get(fb,null),effectManager:d.get(xm,null),afterRenderEventManager:d.get(bf,null)},be=g.createRenderer(null,this.componentDef),Pe=this.componentDef.selectors[0][0]||"div",ot=i?function Ub(e,t,n,i){const c=i.get(lm,!1)||n===zn.ShadowDom,d=e.selectRootElement(t,c);return function jb(e){Dm(e)}(d),d}(be,i,this.componentDef.encapsulation,d):vl(be,Pe,function _D(e){const t=e.toLowerCase();return"svg"===t?jt:"math"===t?"math":null}(Pe)),Ut=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let ut=null;null!==ot&&(ut=hf(ot,d,!0));const fn=Tf(0,null,null,1,0,null,null,null,null,null,null),An=dd(null,fn,null,Ut,null,null,X,be,d,null,ut);let si,vs;Xs(An);try{const Yo=this.componentDef;let Yl,Hp=null;Yo.findHostDirectiveDefs?(Yl=[],Hp=new Map,Yo.findHostDirectiveDefs(Yo,Yl,Hp),Yl.push(Yo)):Yl=[Yo];const ET=function bD(e,t){const n=e[Ot],i=on;return e[i]=t,xl(n,i,2,"#host",null)}(An,ot),wT=function DD(e,t,n,i,o,c,d){const g=o[Ot];!function ED(e,t,n,i){for(const o of e)t.mergedAttrs=Kn(t.mergedAttrs,o.hostAttrs);null!==t.mergedAttrs&&(fd(t,t.mergedAttrs,!0),null!==n&&In(i,n,t))}(i,e,t,d);let y=null;null!==t&&(y=hf(t,o[nr]));const N=c.rendererFactory.createRenderer(t,n);let H=16;n.signals?H=4096:n.onPush&&(H=64);const X=dd(o,bm(n),null,H,o[e.index],e,c,N,null,null,y);return g.firstCreatePass&&Sf(g,e,i.length-1),hd(o,X),o[e.index]=X}(ET,ot,Yo,Yl,An,X,be);vs=Wn(fn,on),ot&&function CD(e,t,n,i){if(i)ni(e,n,["ng-version",pb.full]);else{const{attrs:o,classes:c}=function no(e){const t=[],n=[];let i=1,o=2;for(;i0&&Pn(e,n,c.join(" "))}}(be,Yo,ot,i),void 0!==n&&function TD(e,t,n){const i=e.projection=[];for(let o=0;o=0;i--){const o=e[i];o.hostVars=t+=o.hostVars,o.hostAttrs=Kn(o.hostAttrs,n=Kn(n,o.hostAttrs))}}(i)}function gd(e){return e===$n?{}:e===zt?[]:e}function ID(e,t){const n=e.viewQuery;e.viewQuery=n?(i,o)=>{t(i,o),n(i,o)}:t}function OD(e,t){const n=e.contentQueries;e.contentQueries=n?(i,o,c)=>{t(i,o,c),n(i,o,c)}:t}function AD(e,t){const n=e.hostBindings;e.hostBindings=n?(i,o)=>{t(i,o),n(i,o)}:t}function jm(e){return t=>{t.findHostDirectiveDefs=$m,t.hostDirectives=(Array.isArray(e)?e:e()).map(n=>"function"==typeof n?{directive:We(n),inputs:$n,outputs:$n}:{directive:We(n.directive),inputs:Gm(n.inputs),outputs:Gm(n.outputs)})}}function $m(e,t,n){if(null!==e.hostDirectives)for(const i of e.hostDirectives){const o=jn(i.directive);PD(o.declaredInputs,i.inputs),$m(o,t,n),n.set(o,i),t.push(o)}}function Gm(e){if(void 0===e||0===e.length)return $n;const t={};for(let n=0;n(Bs(!0),vl(i,o,function hu(){return en.lFrame.currentNamespace}()));function wd(e,t,n){const i=pt(),o=Sn(),c=e+on,d=o.firstCreatePass?function a1(e,t,n,i,o){const c=t.consts,d=Ar(c,i),g=xl(t,e,8,"ng-container",d);return null!==d&&fd(g,d,!0),Mf(t,n,g,Ar(c,o)),null!==t.queries&&t.queries.elementStart(t,g),g}(c,o,i,t,n):o.data[c];Ls(d,!0);const g=u_(o,i,d,e);return i[c]=g,sl()&&u(o,i,g,d),xr(g,i),Or(d)&&(wf(o,i,d),Ef(o,d,i)),null!=n&&Cf(i,d),wd}function Cd(){let e=Oi();const t=Sn();return rc()?sc():(e=e.parent,Ls(e,!1)),t.firstCreatePass&&(Ta(t,e),Ss(e)&&t.queries.elementEnd(e)),Cd}function $f(e,t,n){return wd(e,t,n),Cd(),$f}let u_=(e,t,n,i)=>(Bs(!0),Ac(t[Wt],""));function d_(){return pt()}function Gf(e){return!!e&&"function"==typeof e.then}function h_(e){return!!e&&"function"==typeof e.subscribe}function Wf(e,t,n,i){const o=pt(),c=Sn(),d=Oi();return function p_(e,t,n,i,o,c,d){const g=Or(i),N=e.firstCreatePass&&Am(e),H=t[Vn],X=Om(t);let be=!0;if(3&i.type||d){const gt=cn(i,t),Nt=d?d(gt):gt,Ut=X.length,ut=d?An=>d(Ht(An[i.index])):i.index;let fn=null;if(!d&&g&&(fn=function u1(e,t,n,i){const o=e.cleanup;if(null!=o)for(let c=0;cy?g[y]:null}"string"==typeof d&&(c+=2)}return null}(e,t,o,i.index)),null!==fn)(fn.__ngLastListenerFn__||fn).__ngNextListenerFn__=c,fn.__ngLastListenerFn__=c,be=!1;else{c=m_(i,t,H,c,!1);const An=n.listen(Nt,o,c);X.push(c,An),N&&N.push(o,ut,Ut,Ut+1)}}else c=m_(i,t,H,c,!1);const Pe=i.outputs;let ot;if(be&&null!==Pe&&(ot=Pe[o])){const gt=ot.length;if(gt)for(let Nt=0;Nt-1?xi(e.index,t):t);let y=g_(t,n,i,d),N=c.__ngNextListenerFn__;for(;N;)y=g_(t,n,N,d)&&y,N=N.__ngNextListenerFn__;return o&&!1===y&&d.preventDefault(),y}}function __(e=1){return function Gd(e){return(en.lFrame.contextLView=function Vo(e,t){for(;e>0;)t=t[vr],e--;return t}(e,en.lFrame.contextLView))[Vn]}(e)}function d1(e,t){let n=null;const i=function rs(e){const t=e.attrs;if(null!=t){const n=t.indexOf(5);if(!(1&n))return t[n+1]}return null}(e);for(let o=0;o>17&32767}function Xf(e){return 2|e}function Xa(e){return(131068&e)>>2}function Qf(e,t){return-131069&e|t<<2}function Yf(e){return 1|e}function S_(e,t,n,i,o){const c=e[n+1],d=null===t;let g=i?ha(c):Xa(c),y=!1;for(;0!==g&&(!1===y||d);){const H=e[g+1];_1(e[g],t)&&(y=!0,e[g+1]=i?Yf(H):Xf(H)),g=i?ha(H):Xa(H)}y&&(e[n+1]=i?Xf(c):Yf(c))}function _1(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Pa(e,t)>=0}const gr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function I_(e){return e.substring(gr.key,gr.keyEnd)}function O_(e,t){const n=gr.textEnd;return n===t?-1:(t=gr.keyEnd=function D1(e,t,n){for(;t32;)t++;return t}(e,gr.key=t,n),$l(e,t,n))}function $l(e,t,n){for(;t=0;n=O_(t,n))fs(e,I_(t),!0)}function qs(e,t,n,i){const o=pt(),c=Sn(),d=R(2);c.firstUpdatePass&&k_(c,e,d,i),t!==yn&&Gr(o,d,t)&&B_(c,c.data[Rr()],o,o[Wt],e,o[d+1]=function R1(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ne($r(e)))),e}(t,n),i,d)}function F_(e,t){return t>=e.expandoStartIndex}function k_(e,t,n,i){const o=e.data;if(null===o[n+1]){const c=o[Rr()],d=F_(e,n);H_(c,i)&&null===t&&!d&&(t=!1),t=function T1(e,t,n,i){const o=un(e);let c=i?t.residualClasses:t.residualStyles;if(null===o)0===(i?t.classBindings:t.styleBindings)&&(n=eu(n=qf(null,e,t,n,i),t.attrs,i),c=null);else{const d=t.directiveStylingLast;if(-1===d||e[d]!==o)if(n=qf(o,e,t,n,i),null===c){let y=function M1(e,t,n){const i=n?t.classBindings:t.styleBindings;if(0!==Xa(i))return e[ha(i)]}(e,t,i);void 0!==y&&Array.isArray(y)&&(y=qf(null,e,t,y[1],i),y=eu(y,t.attrs,i),function S1(e,t,n,i){e[ha(n?t.classBindings:t.styleBindings)]=i}(e,t,i,y))}else c=function I1(e,t,n){let i;const o=t.directiveEnd;for(let c=1+t.directiveStylingLast;c0)&&(N=!0)):H=n,o)if(0!==y){const be=ha(e[g+1]);e[i+1]=Md(be,g),0!==be&&(e[be+1]=Qf(e[be+1],i)),e[g+1]=function f1(e,t){return 131071&e|t<<17}(e[g+1],i)}else e[i+1]=Md(g,0),0!==g&&(e[g+1]=Qf(e[g+1],i)),g=i;else e[i+1]=Md(y,0),0===g?g=i:e[y+1]=Qf(e[y+1],i),y=i;N&&(e[i+1]=Xf(e[i+1])),S_(e,H,i,!0),S_(e,H,i,!1),function m1(e,t,n,i,o){const c=o?e.residualClasses:e.residualStyles;null!=c&&"string"==typeof t&&Pa(c,t)>=0&&(n[i+1]=Yf(n[i+1]))}(t,H,e,i,c),d=Md(g,y),c?t.classBindings=d:t.styleBindings=d}(o,c,t,n,d,i)}}function qf(e,t,n,i,o){let c=null;const d=n.directiveEnd;let g=n.directiveStylingLast;for(-1===g?g=n.directiveStart:g++;g0;){const y=e[o],N=Array.isArray(y),H=N?y[1]:y,X=null===H;let be=n[o+1];be===yn&&(be=X?zt:void 0);let Pe=X?Du(be,i):H===i?be:void 0;if(N&&!Sd(Pe)&&(Pe=Du(y,i)),Sd(Pe)&&(g=Pe,d))return g;const ot=e[o+1];o=d?ha(ot):Xa(ot)}if(null!==t){let y=c?t.residualClasses:t.residualStyles;null!=y&&(g=Du(y,i))}return g}function Sd(e){return void 0!==e}function H_(e,t){return 0!=(e.flags&(t?8:16))}function U_(e,t=""){const n=pt(),i=Sn(),o=e+on,c=i.firstCreatePass?xl(i,o,1,t,null):i.data[o],d=j_(i,n,c,t,e);n[o]=d,sl()&&u(i,n,d,c),Ls(c,!1)}let j_=(e,t,n,i,o)=>(Bs(!0),_l(t[Wt],i));function ep(e){return Id("",e,""),ep}function Id(e,t,n){const i=pt(),o=Fl(i,e,t,n);return o!==yn&&Qo(i,Rr(),o),Id}function tp(e,t,n,i,o){const c=pt(),d=function kl(e,t,n,i,o,c){const g=Ka(e,b(),n,o);return R(2),g?t+Ve(n)+i+Ve(o)+c:yn}(c,e,t,n,i,o);return d!==yn&&Qo(c,Rr(),d),tp}function np(e,t,n){const i=pt();return Gr(i,D(),t)&&Ps(Sn(),_i(),i,e,t,i[Wt],n,!0),np}function ip(e,t,n){const i=pt();if(Gr(i,D(),t)){const c=Sn(),d=_i();Ps(c,d,i,e,t,Nm(un(c.data),d,i),n,!0)}return ip}const Qa=void 0;var eE=["en",[["a","p"],["AM","PM"],Qa],[["AM","PM"],Qa,Qa],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Qa,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Qa,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Qa,"{1} 'at' {0}",Qa],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function q1(e){const n=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===i?1:5}];let Gl={};function tE(e,t,n){"string"!=typeof t&&(n=t,t=e[Wl.LocaleId]),t=t.toLowerCase().replace(/_/g,"-"),Gl[t]=e,n&&(Gl[t][Wl.ExtraData]=n)}function rp(e){const t=function nE(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=ov(t);if(n)return n;const i=t.split("-")[0];if(n=ov(i),n)return n;if("en"===i)return eE;throw new je(701,!1)}function sv(e){return rp(e)[Wl.PluralCase]}function ov(e){return e in Gl||(Gl[e]=Nn.ng&&Nn.ng.common&&Nn.ng.common.locales&&Nn.ng.common.locales[e]),Gl[e]}var Wl=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(Wl||{});const zl="en-US",Od={marker:"element"},Ad={marker:"ICU"};var ms=function(e){return e[e.SHIFT=2]="SHIFT",e[e.APPEND_EAGERLY=1]="APPEND_EAGERLY",e[e.COMMENT=2]="COMMENT",e}(ms||{});let av=zl;function lv(e){(function Pt(e,t){null==e&&ft(t,e,null,"!=")})(e,"Expected localeId to be defined"),"string"==typeof e&&(av=e.toLowerCase().replace(/_/g,"-"))}function cv(e,t,n){const i=t.insertBeforeIndex,o=Array.isArray(i)?i[0]:i;return null===o?a(e,0,n):Ht(n[o])}function uv(e,t,n,i,o){const c=t.insertBeforeIndex;if(Array.isArray(c)){let d=i,g=null;if(3&t.type||(g=d,d=o),null!==d&&-1===t.componentOffset)for(let y=1;y1)for(let n=e.length-2;n>=0;n--){const i=e[n];hv(i)||aE(i,t)&&null===lE(i)&&cE(i,t.index)}}function hv(e){return!(64&e.type)}function aE(e,t){return hv(t)||e.index>t.index}function lE(e){const t=e.insertBeforeIndex;return Array.isArray(t)?t[0]:t}function cE(e,t){const n=e.insertBeforeIndex;Array.isArray(n)?n[0]=t:(l(cv,uv),e.insertBeforeIndex=t)}function hE(e,t,n){const i=Df(e,n,64,null,null);return dv(t,i),i}function yE(){const e=[];let n,i,t=-1;function c(g,y){t=0;const N=function Nd(e,t){const n=t[e.currentCaseLViewIndex];return null===n?n:n<0?~n:n}(g,y);i=null!==N?g.remove[N]:zt}function d(){if(t0?n[g]:(e.push(t,i),c(n[Ot].data[~g],n),d())}return 0===e.length?null:(i=e.pop(),t=e.pop(),d())}return function o(g,y){for(n=y;e.length;)e.pop();return c(g.value,y),d}}const Rd=/\ufffd(\d+):?\d*\ufffd/gi,DE=/\ufffd(\d+)\ufffd/,Dv=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,ru="\ufffd",EE=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,wE=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,CE=/\uE500/g;function Ev(e,t,n,i,o,c,d){const g=zc(e,i,1,null);let y=g<n.length&&n.push(y)}return{type:i,mainBinding:o,cases:t,values:n}}function sp(e){if(!e)return[];let t=0;const n=[],i=[],o=/[{}]/g;let c;for(o.lastIndex=0;c=o.exec(e);){const g=c.index;if("}"==c[0]){if(n.pop(),0==n.length){const y=e.substring(t,g);Dv.test(y)?i.push(RE(y)):i.push(y),t=g+1}}else{if(0==n.length){const y=e.substring(t,g);i.push(y),t=g+1}n.push("{")}}const d=e.substring(t);return i.push(d),i}function xE(e,t,n,i,o,c,d,g){const y=[],N=[],H=[];t.cases.push(c),t.create.push(y),t.remove.push(N),t.update.push(H);const be=Qu(Er()).getInertBodyElement(d),Pe=zh(be)||be;return Pe?Mv(e,t,n,i,y,N,H,Pe,o,g,0):0}function Mv(e,t,n,i,o,c,d,g,y,N,H){let X=0,be=g.firstChild;for(;be;){const Pe=zc(e,n,1,null);switch(be.nodeType){case Node.ELEMENT_NODE:const ot=be,gt=ot.tagName.toLowerCase();if(wl.hasOwnProperty(gt)){op(o,Od,gt,y,Pe),e.data[Pe]=gt;const fn=ot.attributes;for(let An=0;An>>ms.SHIFT;let X=e[H];null===X&&(X=e[H]=(d&ms.COMMENT)===ms.COMMENT?o.createComment(g):_l(o,g)),N&&null!==n&&Wo(o,n,X,i,!1)}})(o,y.create,H,g&&8&g.type?o[g.index]:null),Z(!0)}function Nv(e,t,n){Ov(e,t,n),function Av(){Z(!1)}()}function ap(e,t,n,i,o){if(e=We(e),Array.isArray(e))for(let c=0;c>20;if(za(e)||!e.multi){const Pe=new ia(N,o,Rl),ot=cp(y,t,o?H:H+be,X);-1===ot?(_u(Aa(g,d),c,y),lp(c,e,t.length),t.push(y),g.directiveStart++,g.directiveEnd++,o&&(g.providerIndexes+=1048576),n.push(Pe),d.push(Pe)):(n[ot]=Pe,d[ot]=Pe)}else{const Pe=cp(y,t,H+be,X),ot=cp(y,t,H,H+be),Nt=ot>=0&&n[ot];if(o&&!Nt||!o&&!(Pe>=0&&n[Pe])){_u(Aa(g,d),c,y);const Ut=function qE(e,t,n,i,o){const c=new ia(e,n,Rl);return c.multi=[],c.index=t,c.componentProviders=0,xv(c,o,i&&!n),c}(o?JE:ZE,n.length,o,i,N);!o&&Nt&&(n[ot].providerFactory=Ut),lp(c,e,t.length,0),t.push(y),g.directiveStart++,g.directiveEnd++,o&&(g.providerIndexes+=1048576),n.push(Ut),d.push(Ut)}else lp(c,e,Pe>-1?Pe:ot,xv(n[o?ot:Pe],N,!o&&i));!o&&i&&Nt&&n[ot].componentProviders++}}}function lp(e,t,n,i){const o=za(t),c=function U0(e){return!!e.useClass}(t);if(o||c){const y=(c?We(t.useClass):t).prototype.ngOnDestroy;if(y){const N=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){const H=N.indexOf(n);-1===H?N.push(n,[i,y]):N[H+1].push(i,y)}else N.push(n,y)}}}function xv(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function cp(e,t,n,i){for(let o=n;o{n.providersResolver=(i,o)=>function YE(e,t,n){const i=Sn();if(i.firstCreatePass){const o=sr(e);ap(n,i.data,i.blueprint,o,!0),ap(t,i.data,i.blueprint,o,!1)}}(i,o?o(e):e,t)}}class Ya{}class Fv{}function ew(e,t){return new dp(e,t??null,[])}class dp extends Ya{constructor(t,n,i){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Vm(this);const o=hi(t);this._bootstrapComponents=Xo(o.bootstrap),this._r3Injector=Yg(t,n,[{provide:Ya,useValue:this},{provide:jc,useValue:this.componentFactoryResolver},...i],Ne(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class hp extends Fv{constructor(t){super(),this.moduleType=t}create(t){return new dp(this.moduleType,t,[])}}class kv extends Ya{constructor(t){super(),this.componentFactoryResolver=new Vm(this),this.instance=null;const n=new Tl([...t.providers,{provide:Ya,useValue:this},{provide:jc,useValue:this.componentFactoryResolver}],t.parent||nd(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Lv(e,t,n=null){return new kv({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let nw=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const i=Rg(0,n.type),o=i.length>0?Lv([i],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}static{this.\u0275prov=ge({token:e,providedIn:"environment",factory:()=>new e(Cn(Co))})}}return e})();function Bv(e){e.getStandaloneInjector=t=>t.get(nw).getOrCreateStandaloneInjector(e)}function Wv(e,t,n){const i=m()+e,o=pt();return o[i]===yn?So(o,i,n?t.call(n):t()):Yc(o,i)}function zv(e,t,n,i){return Yv(pt(),m(),e,t,n,i)}function Kv(e,t,n,i,o){return Zv(pt(),m(),e,t,n,i,o)}function Xv(e,t,n,i,o,c){return function Jv(e,t,n,i,o,c,d,g){const y=t+n;return function _d(e,t,n,i,o){const c=Ka(e,t,n,i);return Gr(e,t+2,o)||c}(e,y,o,c,d)?So(e,y+3,g?i.call(g,o,c,d):i(o,c,d)):ou(e,y+3)}(pt(),m(),e,t,n,i,o,c)}function Qv(e,t,n,i,o,c,d,g,y){const N=m()+e,H=pt(),X=Hs(H,N,n,i,o,c);return Ka(H,N+4,d,g)||X?So(H,N+6,y?t.call(y,n,i,o,c,d,g):t(n,i,o,c,d,g)):Yc(H,N+6)}function ou(e,t){const n=e[t];return n===yn?void 0:n}function Yv(e,t,n,i,o,c){const d=t+n;return Gr(e,d,o)?So(e,d+1,c?i.call(c,o):i(o)):ou(e,d+1)}function Zv(e,t,n,i,o,c,d){const g=t+n;return Ka(e,g,o,c)?So(e,g+2,d?i.call(d,o,c):i(o,c)):ou(e,g+2)}function ty(e,t){const n=Sn();let i;const o=e+on;n.firstCreatePass?(i=function mw(e,t){if(t)for(let n=t.length-1;n>=0;n--){const i=t[n];if(e===i.name)return i}}(t,n.pipeRegistry),n.data[o]=i,i.onDestroy&&(n.destroyHooks??=[]).push(o,i.onDestroy)):i=n.data[o];const c=i.factory||(i.factory=Ki(i.type)),g=rn(Rl);try{const y=Oa(!1),N=c();return Oa(y),function i1(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(n,pt(),o,N),N}finally{rn(g)}}function ny(e,t,n){const i=e+on,o=pt(),c=Hr(o,i);return au(o,i)?Yv(o,m(),t,c.transform,n,c):c.transform(n)}function iy(e,t,n,i){const o=e+on,c=pt(),d=Hr(c,o);return au(c,o)?Zv(c,m(),t,d.transform,n,i,d):d.transform(n,i)}function au(e,t){return e[Ot].data[t].pure}function bw(){return this._results[Symbol.iterator]()}class pp{get changes(){return this._changes||(this._changes=new To)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const n=pp.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=bw)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){const i=this;i.dirty=!1;const o=function es(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function $o(e,t,n){if(e.length!==t.length)return!1;for(let i=0;i0&&(n[o-1][Ui]=t),i{class e{static{this.__NG_ELEMENT_ID__=Tw}}return e})();const ww=lu,Cw=class extends ww{constructor(t,n,i){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n)}createEmbeddedViewImpl(t,n,i){const o=function Dw(e,t,n,i){const o=t.tView,g=dd(e,o,n,4096&e[Jt]?4096:16,null,t,null,null,null,i?.injector??null,i?.hydrationInfo??null);g[ls]=e[t.index];const N=e[Zi];return null!==N&&(g[Zi]=N.createEmbeddedView(o)),Nf(o,g,n),g}(this._declarationLView,this._declarationTContainer,t,{injector:n,hydrationInfo:i});return new Xc(o)}};function Tw(){return xd(Oi(),pt())}function xd(e,t){return 4&e.type?new Cw(t,e,Ol(e,t)):null}let Fd=(()=>{class e{static{this.__NG_ELEMENT_ID__=Nw}}return e})();function Nw(){return uy(Oi(),pt())}const Rw=Fd,ly=class extends Rw{constructor(t,n,i){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=i}get element(){return Ol(this._hostTNode,this._hostLView)}get injector(){return new Ur(this._hostTNode,this._hostLView)}get parentInjector(){const t=pc(this._hostTNode,this._hostLView);if(dc(t)){const n=Ia(t,this._hostLView),i=Sa(t);return new Ur(n[Ot].data[i+8],n)}return new Ur(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=cy(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-pi}createEmbeddedView(t,n,i){let o,c;"number"==typeof i?o=i:null!=i&&(o=i.index,c=i.injector);const g=t.createEmbeddedViewImpl(n||{},c,null);return this.insertImpl(g,o,false),g}createComponent(t,n,i,o,c){const d=t&&!function vo(e){return"function"==typeof e}(t);let g;if(d)g=n;else{const gt=n||{};g=gt.index,i=gt.injector,o=gt.projectableNodes,c=gt.environmentInjector||gt.ngModuleRef}const y=d?t:new Qc(dn(t)),N=i||this.parentInjector;if(!c&&null==y.ngModule){const Nt=(d?N:this.parentInjector).get(Co,null);Nt&&(c=Nt)}dn(y.componentType??{});const Pe=y.create(N,o,null,c);return this.insertImpl(Pe.hostView,g,false),Pe}insert(t,n){return this.insertImpl(t,n,!1)}insertImpl(t,n,i){const o=t._lView;if(function lr(e){return Ii(e[Bn])}(o)){const y=this.indexOf(t);if(-1!==y)this.detach(y);else{const N=o[Bn],H=new ly(N,N[Di],N[Bn]);H.detach(H.indexOf(t))}}const d=this._adjustIndex(n),g=this._lContainer;return Ew(g,o,d,!i),t.attachToViewContainerRef(),lh(gp(g),d,t),t}move(t,n){return this.insert(t,n)}indexOf(t){const n=cy(this._lContainer);return null!==n?n.indexOf(t):-1}remove(t){const n=this._adjustIndex(t,-1),i=Rc(this._lContainer,n);i&&(vc(gp(this._lContainer),n),ju(i[Ot],i))}detach(t){const n=this._adjustIndex(t,-1),i=Rc(this._lContainer,n);return i&&null!=vc(gp(this._lContainer),n)?new Xc(i):null}_adjustIndex(t,n=0){return t??this.length+n}};function cy(e){return e[8]}function gp(e){return e[8]||(e[8]=[])}function uy(e,t){let n;const i=t[e.index];return Ii(i)?n=i:(n=Sm(i,t,null,e),t[e.index]=n,hd(t,n)),dy(n,t,e,i),new ly(n,e,t)}let dy=function hy(e,t,n,i){if(e[rr])return;let o;o=8&n.type?Ht(i):function xw(e,t){const n=e[Wt],i=n.createComment(""),o=cn(t,e);return Wo(n,ua(n,o),i,function Vh(e,t){return e.nextSibling(t)}(n,o),!1),i}(t,n),e[rr]=o};class mp{constructor(t){this.queryList=t,this.matches=null}clone(){return new mp(this.queryList)}setDirty(){this.queryList.setDirty()}}class _p{constructor(t=[]){this.queries=t}createEmbeddedView(t){const n=t.queries;if(null!==n){const i=null!==t.contentQueries?t.contentQueries[0]:n.length,o=[];for(let c=0;c0)i.push(d[g/2]);else{const N=c[g+1],H=t[-y];for(let X=pi;X{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,i)=>{this.resolve=n,this.reject=i}),this.appInits=q(Vy,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const o of this.appInits){const c=o();if(Gf(c))n.push(c);else if(h_(c)){const d=new Promise((g,y)=>{c.subscribe({complete:g,error:y})});n.push(d)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{i()}).catch(o=>{this.reject(o)}),0===n.length&&i(),this.initialized=!0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Hy=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})();const Ld=new Yt("LocaleId",{providedIn:"root",factory:()=>q(Ld,Dt.Optional|Dt.SkipSelf)||function lC(){return typeof $localize<"u"&&$localize.locale||zl}()}),cC=new Yt("DefaultCurrencyCode",{providedIn:"root",factory:()=>"USD"});let Uy=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Q.t(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();class dC{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let hC=(()=>{class e{compileModuleSync(n){return new hp(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const i=this.compileModuleSync(n),c=Xo(hi(n).declarations).reduce((d,g)=>{const y=dn(g);return y&&d.push(new Qc(y)),d},[]);return new dC(i,c)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();const Wy=new Yt(""),zy=new Yt("");let Op,PC=(()=>{class e{constructor(n,i,o){this._ngZone=n,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Op||(function FC(e){Op=e}(o),o.addToWindow(i)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{wr.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(n)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,i,o){let c=-1;i&&i>0&&(c=setTimeout(()=>{this._callbacks=this._callbacks.filter(d=>d.timeoutId!==c),n(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:n,timeoutId:c,updateCb:o})}whenStable(n,i,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,i,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,i,o){return[]}static{this.\u0275fac=function(i){return new(i||e)(Cn(wr),Cn(Ky),Cn(zy))}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac})}}return e})(),Ky=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,i){this._applications.set(n,i)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,i=!0){return Op?.findTestabilityInTree(this,n,i)??null}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})(),fa=null;const Xy=new Yt("AllowMultipleToken"),Ap=new Yt("PlatformDestroyListeners"),Np=new Yt("appBootstrapListener");class BC{constructor(t,n){this.name=t,this.token=n}}function Zy(e,t,n=[]){const i=`Platform: ${t}`,o=new Yt(i);return(c=[])=>{let d=Rp();if(!d||d.injector.get(Xy,!1)){const g=[...n,...c,{provide:o,useValue:!0}];e?e(g):function VC(e){if(fa&&!fa.get(Xy,!1))throw new je(400,!1);(function Qy(){!function me(e){G=e}(()=>{throw new je(600,!1)})})(),fa=e;const t=e.get(qy);(function Yy(e){e.get(Bg,null)?.forEach(n=>n())})(e)}(function Jy(e=[],t){return Js.create({name:t,providers:[{provide:Jh,useValue:"platform"},{provide:Ap,useValue:new Set([()=>fa=null])},...e]})}(g,i))}return function UC(e){const t=Rp();if(!t)throw new je(401,!1);return t}()}}function Rp(){return fa?.get(qy)??null}let qy=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,i){const o=function jC(e="zone.js",t){return"noop"===e?new Ib:"zone.js"===e?new wr(t):e}(i?.ngZone,function e0(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return o.run(()=>{const c=function tw(e,t,n){return new dp(e,t,n)}(n.moduleType,this.injector,function o0(e){return[{provide:wr,useFactory:e},{provide:Vc,multi:!0,useFactory:()=>{const t=q(GC,{optional:!0});return()=>t.initialize()}},{provide:s0,useFactory:$C},{provide:tm,useFactory:nm}]}(()=>o)),d=c.injector.get(da,null);return o.runOutsideAngular(()=>{const g=o.onError.subscribe({next:y=>{d.handleError(y)}});c.onDestroy(()=>{Vd(this._modules,c),g.unsubscribe()})}),function t0(e,t,n){try{const i=n();return Gf(i)?i.catch(o=>{throw t.runOutsideAngular(()=>e.handleError(o)),o}):i}catch(i){throw t.runOutsideAngular(()=>e.handleError(i)),i}}(d,o,()=>{const g=c.injector.get(Mp);return g.runInitializers(),g.donePromise.then(()=>(lv(c.injector.get(Ld,zl)||zl),this._moduleDoBootstrap(c),c))})})}bootstrapModule(n,i=[]){const o=n0({},i);return function kC(e,t,n){const i=new hp(n);return Promise.resolve(i)}(0,0,n).then(c=>this.bootstrapModuleFactory(c,o))}_moduleDoBootstrap(n){const i=n.injector.get(Ql);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!n.instance.ngDoBootstrap)throw new je(-403,!1);n.instance.ngDoBootstrap(i)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new je(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const n=this._injector.get(Ap,null);n&&(n.forEach(i=>i()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static{this.\u0275fac=function(i){return new(i||e)(Cn(Js))}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})();function n0(e,t){return Array.isArray(t)?t.reduce(n0,e):{...e,...t}}let Ql=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=q(s0),this.zoneIsStable=q(tm),this.componentTypes=[],this.components=[],this.isStable=q(Uy).hasPendingTasks.pipe((0,Ue.n)(n=>n?(0,Y.of)(!1):this.zoneIsStable),(0,ae.F)(),ue()),this._injector=q(Co)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,i){const o=n instanceof jg;if(!this._injector.get(Mp).done)throw!o&&Sr(n),new je(405,!1);let d;d=o?n:this._injector.get(jc).resolveComponentFactory(n),this.componentTypes.push(d.componentType);const g=function LC(e){return e.isBoundToModule}(d)?void 0:this._injector.get(Ya),N=d.create(Js.NULL,[],i||d.selector,g),H=N.location.nativeElement,X=N.injector.get(Wy,null);return X?.registerApplication(H),N.onDestroy(()=>{this.detachView(N.hostView),Vd(this.components,N),X?.unregisterApplication(H)}),this._loadComponent(N),N}tick(){if(this._runningTick)throw new je(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const i=n;this._views.push(i),i.attachToAppRef(this)}detachView(n){const i=n;Vd(this._views,i),i.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const i=this._injector.get(Np,[]);i.push(...this._bootstrapListeners),i.forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Vd(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new je(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Vd(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const s0=new Yt("",{providedIn:"root",factory:()=>q(da).handleError.bind(void 0)});function $C(){const e=q(wr),t=q(da);return n=>e.runOutsideAngular(()=>t.handleError(n))}let GC=(()=>{class e{constructor(){this.zone=q(wr),this.applicationRef=q(Ql)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=ge({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();let zC=(()=>{class e{static{this.__NG_ELEMENT_ID__=KC}}return e})();function KC(e){return function XC(e,t,n){if(ji(e)&&!n){const i=xi(e.index,t);return new Xc(i,i)}return 47&e.type?new Xc(t[Zn],t):null}(Oi(),pt(),16==(16&e))}class d0{constructor(){}supports(t){return md(t)}create(t){return new qC(t)}}const JC=(e,t)=>t;class qC{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||JC}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,i=this._removalsHead,o=0,c=null;for(;n||i;){const d=!i||n&&n.currentIndex{d=this._trackByFn(o,g),null!==n&&Object.is(n.trackById,d)?(i&&(n=this._verifyReinsertion(n,g,d,o)),Object.is(n.item,g)||this._addIdentityChange(n,g)):(n=this._mismatch(n,g,d,o),i=!0),n=n._next,o++}),this.length=o;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,i,o){let c;return null===t?c=this._itTail:(c=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,c,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,c,o)):t=this._addAfter(new eT(n,i),c,o),t}_verifyReinsertion(t,n,i,o){let c=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==c?t=this._reinsertAfter(c,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,c=t._nextRemoved;return null===o?this._removalsHead=c:o._nextRemoved=c,null===c?this._removalsTail=o:c._prevRemoved=o,this._insertAfter(t,n,i),this._addToMoves(t,i),t}_moveAfter(t,n,i){return this._unlink(t),this._insertAfter(t,n,i),this._addToMoves(t,i),t}_addAfter(t,n,i){return this._insertAfter(t,n,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,i){const o=null===n?this._itHead:n._next;return t._next=o,t._prev=n,null===o?this._itTail=t:o._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new h0),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,i=t._next;return null===n?this._itHead=i:n._next=i,null===i?this._itTail=n:i._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new h0),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class eT{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class tT{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===n||n<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const n=t._prevDup,i=t._nextDup;return null===n?this._head=i:n._nextDup=i,null===i?this._tail=n:i._prevDup=n,null===this._head}}class h0{constructor(){this.map=new Map}put(t){const n=t.trackById;let i=this.map.get(n);i||(i=new tT,this.map.set(n,i)),i.add(t)}get(t,n){const o=this.map.get(t);return o?o.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function f0(e,t,n){const i=e.previousIndex;if(null===i)return i;let o=0;return n&&i{if(n&&n.key===o)this._maybeAddToChanges(n,i),this._appendAfter=n,n=n._next;else{const c=this._getOrCreateRecordForKey(o,i);n=this._insertBeforeOrAppend(n,c)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let i=n;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const i=t._prev;return n._next=t,n._prev=i,t._prev=n,i&&(i._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const o=this._records.get(t);this._maybeAddToChanges(o,n);const c=o._prev,d=o._next;return c&&(c._next=d),d&&(d._prev=c),o._next=null,o._prev=null,o}const i=new iT(t);return this._records.set(t,i),i.currentValue=n,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(i=>n(t[i],i))}}class iT{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function g0(){return new Lp([new d0])}let Lp=(()=>{class e{static{this.\u0275prov=ge({token:e,providedIn:"root",factory:g0})}constructor(n){this.factories=n}static create(n,i){if(null!=i){const o=i.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||g0()),deps:[[e,new bc,new ka]]}}find(n){const i=this.factories.find(o=>o.supports(n));if(null!=i)return i;throw new je(901,!1)}}return e})();function m0(){return new Bp([new p0])}let Bp=(()=>{class e{static{this.\u0275prov=ge({token:e,providedIn:"root",factory:m0})}constructor(n){this.factories=n}static create(n,i){if(i){const o=i.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||m0()),deps:[[e,new bc,new ka]]}}find(n){const i=this.factories.find(o=>o.supports(n));if(i)return i;throw new je(901,!1)}}return e})();const oT=Zy(null,"core",[]);let aT=(()=>{class e{constructor(n){}static{this.\u0275fac=function(i){return new(i||e)(Cn(Ql))}}static{this.\u0275mod=Tr({type:e})}static{this.\u0275inj=F({})}}return e})();function vT(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}function bT(e,t){const n=dn(e),i=t.elementInjector||nd();return new Qc(n).create(i,t.projectableNodes,t.hostElement,t.environmentInjector)}function DT(e){const t=dn(e);if(!t)return null;const n=new Qc(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}},9079:(bt,Ae,O)=>{"use strict";O.d(Ae,{pQ:()=>oe});var r=O(8699),P=O(1985),se=O(6977);function oe(z){z||((0,r.Af3)(oe),z=(0,r.WQX)(r.abz));const pe=new P.c(Je=>z.onDestroy(Je.next.bind(Je)));return Je=>Je.pipe((0,se.Q)(pe))}Error},9417:(bt,Ae,O)=>{"use strict";O.d(Ae,{BC:()=>F,Fm:()=>as,JD:()=>Ir,MJ:()=>Kn,X1:()=>cs,YN:()=>sr,Zm:()=>ue,cV:()=>ni,cb:()=>w,cz:()=>Qe,j4:()=>dn,k0:()=>We,kq:()=>W,l_:()=>Pr,me:()=>J,ok:()=>Ii,qT:()=>ys,vS:()=>Hi,wz:()=>Ot,xH:()=>Jt,y7:()=>Vn});var r=O(8699),P=O(177),se=O(6648),oe=O(7468),Q=O(6354);let Y=(()=>{class x{constructor(C,j){this._renderer=C,this._elementRef=j,this.onChange=ie=>{},this.onTouched=()=>{}}setProperty(C,j){this._renderer.setProperty(this._elementRef.nativeElement,C,j)}registerOnTouched(C){this.onTouched=C}registerOnChange(C){this.onChange=C}setDisabledState(C){this.setProperty("disabled",C)}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(r.sFG),r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:x})}}return x})(),le=(()=>{class x extends Y{static{this.\u0275fac=function(){let C;return function(ie){return(C||(C=r.xGo(x)))(ie||x)}}()}static{this.\u0275dir=r.FsC({type:x,features:[r.Vt3]})}}return x})();const W=new r.nKC("NgValueAccessor"),Re={provide:W,useExisting:(0,r.Rfq)(()=>ue),multi:!0};let ue=(()=>{class x extends le{writeValue(C){this.setProperty("checked",C)}static{this.\u0275fac=function(){let C;return function(ie){return(C||(C=r.xGo(x)))(ie||x)}}()}static{this.\u0275dir=r.FsC({type:x,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(j,ie){1&j&&r.bIt("change",function(an){return ie.onChange(an.target.checked)})("blur",function(){return ie.onTouched()})},features:[r.Jv_([Re]),r.Vt3]})}}return x})();const re={provide:W,useExisting:(0,r.Rfq)(()=>J),multi:!0},ae=new r.nKC("CompositionEventMode");let J=(()=>{class x extends Y{constructor(C,j,ie){super(C,j),this._compositionMode=ie,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function Ue(){const x=(0,P.QT)()?(0,P.QT)().getUserAgent():"";return/android (\d+)/.test(x.toLowerCase())}())}writeValue(C){this.setProperty("value",C??"")}_handleInput(C){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(C)}_compositionStart(){this._composing=!0}_compositionEnd(C){this._composing=!1,this._compositionMode&&this.onChange(C)}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(r.sFG),r.rXU(r.aKT),r.rXU(ae,8))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(j,ie){1&j&&r.bIt("input",function(an){return ie._handleInput(an.target.value)})("blur",function(){return ie.onTouched()})("compositionstart",function(){return ie._compositionStart()})("compositionend",function(an){return ie._compositionEnd(an.target.value)})},features:[r.Jv_([re]),r.Vt3]})}}return x})();function fe(x){return null==x||("string"==typeof x||Array.isArray(x))&&0===x.length}function Ne(x){return null!=x&&"number"==typeof x.length}const Qe=new r.nKC("NgValidators"),it=new r.nKC("NgAsyncValidators"),_t=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class We{static min(L){return function _e(x){return L=>{if(fe(L.value)||fe(x))return null;const C=parseFloat(L.value);return!isNaN(C)&&C{if(fe(L.value)||fe(x))return null;const C=parseFloat(L.value);return!isNaN(C)&&C>x?{max:{max:x,actual:L.value}}:null}}(L)}static required(L){return function et(x){return fe(x.value)?{required:!0}:null}(L)}static requiredTrue(L){return function ht(x){return!0===x.value?null:{required:!0}}(L)}static email(L){return function je(x){return fe(x.value)||_t.test(x.value)?null:{email:!0}}(L)}static minLength(L){return function lt(x){return L=>fe(L.value)||!Ne(L.value)?null:L.value.lengthNe(L.value)&&L.value.length>x?{maxlength:{requiredLength:x,actualLength:L.value.length}}:null}(L)}static pattern(L){return function He(x){if(!x)return Fe;let L,C;return"string"==typeof x?(C="","^"!==x.charAt(0)&&(C+="^"),C+=x,"$"!==x.charAt(x.length-1)&&(C+="$"),L=new RegExp(C)):(C=x.toString(),L=x),j=>{if(fe(j.value))return null;const ie=j.value;return L.test(ie)?null:{pattern:{requiredPattern:C,actualValue:ie}}}}(L)}static nullValidator(L){return null}static compose(L){return Ce(L)}static composeAsync(L){return Oe(L)}}function Fe(x){return null}function Ye(x){return null!=x}function ne(x){return(0,r.jNT)(x)?(0,se.H)(x):x}function De(x){let L={};return x.forEach(C=>{L=null!=C?{...L,...C}:L}),0===Object.keys(L).length?null:L}function $e(x,L){return L.map(C=>C(x))}function It(x){return x.map(L=>function mt(x){return!x.validate}(L)?L:C=>L.validate(C))}function Ce(x){if(!x)return null;const L=x.filter(Ye);return 0==L.length?null:function(C){return De($e(C,L))}}function Ie(x){return null!=x?Ce(It(x)):null}function Oe(x){if(!x)return null;const L=x.filter(Ye);return 0==L.length?null:function(C){const j=$e(C,L).map(ne);return(0,oe.p)(j).pipe((0,Q.T)(De))}}function de(x){return null!=x?Oe(It(x)):null}function xe(x,L){return null===x?[L]:Array.isArray(x)?[...x,L]:[x,L]}function te(x){return x._rawValidators}function Te(x){return x._rawAsyncValidators}function tt(x){return x?Array.isArray(x)?x:[x]:[]}function rt(x,L){return Array.isArray(x)?x.includes(L):x===L}function ct(x,L){const C=tt(L);return tt(x).forEach(ie=>{rt(C,ie)||C.push(ie)}),C}function Pt(x,L){return tt(L).filter(C=>!rt(x,C))}class ft{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(L){this._rawValidators=L||[],this._composedValidatorFn=Ie(this._rawValidators)}_setAsyncValidators(L){this._rawAsyncValidators=L||[],this._composedAsyncValidatorFn=de(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(L){this._onDestroyCallbacks.push(L)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(L=>L()),this._onDestroyCallbacks=[]}reset(L=void 0){this.control&&this.control.reset(L)}hasError(L,C){return!!this.control&&this.control.hasError(L,C)}getError(L,C){return this.control?this.control.getError(L,C):null}}class tn extends ft{get formDirective(){return null}get path(){return null}}class Lt extends ft{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Ft{constructor(L){this._cd=L}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let F=(()=>{class x extends Ft{constructor(C){super(C)}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(Lt,2))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(j,ie){2&j&&r.AVh("ng-untouched",ie.isUntouched)("ng-touched",ie.isTouched)("ng-pristine",ie.isPristine)("ng-dirty",ie.isDirty)("ng-valid",ie.isValid)("ng-invalid",ie.isInvalid)("ng-pending",ie.isPending)},features:[r.Vt3]})}}return x})(),w=(()=>{class x extends Ft{constructor(C){super(C)}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(tn,10))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(j,ie){2&j&&r.AVh("ng-untouched",ie.isUntouched)("ng-touched",ie.isTouched)("ng-pristine",ie.isPristine)("ng-dirty",ie.isDirty)("ng-valid",ie.isValid)("ng-invalid",ie.isInvalid)("ng-pending",ie.isPending)("ng-submitted",ie.isSubmitted)},features:[r.Vt3]})}}return x})();const Yt="VALID",oi="INVALID",Mi="PENDING",Hn="DISABLED";function ai(x){return(li(x)?x.validators:x)||null}function Yn(x,L){return(li(L)?L.asyncValidators:x)||null}function li(x){return null!=x&&!Array.isArray(x)&&"object"==typeof x}function yi(x,L,C){const j=x.controls;if(!(L?Object.keys(j):j).length)throw new r.wOt(1e3,"");if(!j[C])throw new r.wOt(1001,"")}function Li(x,L,C){x._forEachChild((j,ie)=>{if(void 0===C[ie])throw new r.wOt(1002,"")})}class mr{constructor(L,C){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(L),this._assignAsyncValidators(C)}get validator(){return this._composedValidatorFn}set validator(L){this._rawValidators=this._composedValidatorFn=L}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(L){this._rawAsyncValidators=this._composedAsyncValidatorFn=L}get parent(){return this._parent}get valid(){return this.status===Yt}get invalid(){return this.status===oi}get pending(){return this.status==Mi}get disabled(){return this.status===Hn}get enabled(){return this.status!==Hn}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(L){this._assignValidators(L)}setAsyncValidators(L){this._assignAsyncValidators(L)}addValidators(L){this.setValidators(ct(L,this._rawValidators))}addAsyncValidators(L){this.setAsyncValidators(ct(L,this._rawAsyncValidators))}removeValidators(L){this.setValidators(Pt(L,this._rawValidators))}removeAsyncValidators(L){this.setAsyncValidators(Pt(L,this._rawAsyncValidators))}hasValidator(L){return rt(this._rawValidators,L)}hasAsyncValidator(L){return rt(this._rawAsyncValidators,L)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(L={}){this.touched=!0,this._parent&&!L.onlySelf&&this._parent.markAsTouched(L)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(L=>L.markAllAsTouched())}markAsUntouched(L={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(C=>{C.markAsUntouched({onlySelf:!0})}),this._parent&&!L.onlySelf&&this._parent._updateTouched(L)}markAsDirty(L={}){this.pristine=!1,this._parent&&!L.onlySelf&&this._parent.markAsDirty(L)}markAsPristine(L={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(C=>{C.markAsPristine({onlySelf:!0})}),this._parent&&!L.onlySelf&&this._parent._updatePristine(L)}markAsPending(L={}){this.status=Mi,!1!==L.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!L.onlySelf&&this._parent.markAsPending(L)}disable(L={}){const C=this._parentMarkedDirty(L.onlySelf);this.status=Hn,this.errors=null,this._forEachChild(j=>{j.disable({...L,onlySelf:!0})}),this._updateValue(),!1!==L.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...L,skipPristineCheck:C}),this._onDisabledChange.forEach(j=>j(!0))}enable(L={}){const C=this._parentMarkedDirty(L.onlySelf);this.status=Yt,this._forEachChild(j=>{j.enable({...L,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:L.emitEvent}),this._updateAncestors({...L,skipPristineCheck:C}),this._onDisabledChange.forEach(j=>j(!1))}_updateAncestors(L){this._parent&&!L.onlySelf&&(this._parent.updateValueAndValidity(L),L.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(L){this._parent=L}getRawValue(){return this.value}updateValueAndValidity(L={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Yt||this.status===Mi)&&this._runAsyncValidator(L.emitEvent)),!1!==L.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!L.onlySelf&&this._parent.updateValueAndValidity(L)}_updateTreeValidity(L={emitEvent:!0}){this._forEachChild(C=>C._updateTreeValidity(L)),this.updateValueAndValidity({onlySelf:!0,emitEvent:L.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Hn:Yt}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(L){if(this.asyncValidator){this.status=Mi,this._hasOwnPendingAsyncValidator=!0;const C=ne(this.asyncValidator(this));this._asyncValidationSubscription=C.subscribe(j=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(j,{emitEvent:L})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(L,C={}){this.errors=L,this._updateControlsErrors(!1!==C.emitEvent)}get(L){let C=L;return null==C||(Array.isArray(C)||(C=C.split(".")),0===C.length)?null:C.reduce((j,ie)=>j&&j._find(ie),this)}getError(L,C){const j=C?this.get(C):this;return j&&j.errors?j.errors[L]:null}hasError(L,C){return!!this.getError(L,C)}get root(){let L=this;for(;L._parent;)L=L._parent;return L}_updateControlsErrors(L){this.status=this._calculateStatus(),L&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(L)}_initObservables(){this.valueChanges=new r.bkB,this.statusChanges=new r.bkB}_calculateStatus(){return this._allControlsDisabled()?Hn:this.errors?oi:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Mi)?Mi:this._anyControlsHaveStatus(oi)?oi:Yt}_anyControlsHaveStatus(L){return this._anyControls(C=>C.status===L)}_anyControlsDirty(){return this._anyControls(L=>L.dirty)}_anyControlsTouched(){return this._anyControls(L=>L.touched)}_updatePristine(L={}){this.pristine=!this._anyControlsDirty(),this._parent&&!L.onlySelf&&this._parent._updatePristine(L)}_updateTouched(L={}){this.touched=this._anyControlsTouched(),this._parent&&!L.onlySelf&&this._parent._updateTouched(L)}_registerOnCollectionChange(L){this._onCollectionChange=L}_setUpdateStrategy(L){li(L)&&null!=L.updateOn&&(this._updateOn=L.updateOn)}_parentMarkedDirty(L){return!L&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(L){return null}_assignValidators(L){this._rawValidators=Array.isArray(L)?L.slice():L,this._composedValidatorFn=function Qn(x){return Array.isArray(x)?Ie(x):x||null}(this._rawValidators)}_assignAsyncValidators(L){this._rawAsyncValidators=Array.isArray(L)?L.slice():L,this._composedAsyncValidatorFn=function Un(x){return Array.isArray(x)?de(x):x||null}(this._rawAsyncValidators)}}class qe extends mr{constructor(L,C,j){super(ai(C),Yn(j,C)),this.controls=L,this._initObservables(),this._setUpdateStrategy(C),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(L,C){return this.controls[L]?this.controls[L]:(this.controls[L]=C,C.setParent(this),C._registerOnCollectionChange(this._onCollectionChange),C)}addControl(L,C,j={}){this.registerControl(L,C),this.updateValueAndValidity({emitEvent:j.emitEvent}),this._onCollectionChange()}removeControl(L,C={}){this.controls[L]&&this.controls[L]._registerOnCollectionChange(()=>{}),delete this.controls[L],this.updateValueAndValidity({emitEvent:C.emitEvent}),this._onCollectionChange()}setControl(L,C,j={}){this.controls[L]&&this.controls[L]._registerOnCollectionChange(()=>{}),delete this.controls[L],C&&this.registerControl(L,C),this.updateValueAndValidity({emitEvent:j.emitEvent}),this._onCollectionChange()}contains(L){return this.controls.hasOwnProperty(L)&&this.controls[L].enabled}setValue(L,C={}){Li(this,0,L),Object.keys(L).forEach(j=>{yi(this,!0,j),this.controls[j].setValue(L[j],{onlySelf:!0,emitEvent:C.emitEvent})}),this.updateValueAndValidity(C)}patchValue(L,C={}){null!=L&&(Object.keys(L).forEach(j=>{const ie=this.controls[j];ie&&ie.patchValue(L[j],{onlySelf:!0,emitEvent:C.emitEvent})}),this.updateValueAndValidity(C))}reset(L={},C={}){this._forEachChild((j,ie)=>{j.reset(L?L[ie]:null,{onlySelf:!0,emitEvent:C.emitEvent})}),this._updatePristine(C),this._updateTouched(C),this.updateValueAndValidity(C)}getRawValue(){return this._reduceChildren({},(L,C,j)=>(L[j]=C.getRawValue(),L))}_syncPendingControls(){let L=this._reduceChildren(!1,(C,j)=>!!j._syncPendingControls()||C);return L&&this.updateValueAndValidity({onlySelf:!0}),L}_forEachChild(L){Object.keys(this.controls).forEach(C=>{const j=this.controls[C];j&&L(j,C)})}_setUpControls(){this._forEachChild(L=>{L.setParent(this),L._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(L){for(const[C,j]of Object.entries(this.controls))if(this.contains(C)&&L(j))return!0;return!1}_reduceValue(){return this._reduceChildren({},(C,j,ie)=>((j.enabled||this.disabled)&&(C[ie]=j.value),C))}_reduceChildren(L,C){let j=L;return this._forEachChild((ie,xt)=>{j=C(j,ie,xt)}),j}_allControlsDisabled(){for(const L of Object.keys(this.controls))if(this.controls[L].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(L){return this.controls.hasOwnProperty(L)?this.controls[L]:null}}class ve extends qe{}const Ct=new r.nKC("CallSetDisabledState",{providedIn:"root",factory:()=>Bt}),Bt="always";function qt(x,L){return[...L.path,x]}function gn(x,L,C=Bt){Le(x,L),L.valueAccessor.writeValue(x.value),(x.disabled||"always"===C)&&L.valueAccessor.setDisabledState?.(x.disabled),function ye(x,L){L.valueAccessor.registerOnChange(C=>{x._pendingValue=C,x._pendingChange=!0,x._pendingDirty=!0,"change"===x.updateOn&&yt(x,L)})}(x,L),function Tt(x,L){const C=(j,ie)=>{L.valueAccessor.writeValue(j),ie&&L.viewToModelUpdate(j)};x.registerOnChange(C),L._registerOnDestroy(()=>{x._unregisterOnChange(C)})}(x,L),function at(x,L){L.valueAccessor.registerOnTouched(()=>{x._pendingTouched=!0,"blur"===x.updateOn&&x._pendingChange&&yt(x,L),"submit"!==x.updateOn&&x.markAsTouched()})}(x,L),function Cn(x,L){if(L.valueAccessor.setDisabledState){const C=j=>{L.valueAccessor.setDisabledState(j)};x.registerOnDisabledChange(C),L._registerOnDestroy(()=>{x._unregisterOnDisabledChange(C)})}}(x,L)}function $t(x,L,C=!0){const j=()=>{};L.valueAccessor&&(L.valueAccessor.registerOnChange(j),L.valueAccessor.registerOnTouched(j)),q(x,L),x&&(L._invokeOnDestroyCallbacks(),x._registerOnCollectionChange(()=>{}))}function ei(x,L){x.forEach(C=>{C.registerOnValidatorChange&&C.registerOnValidatorChange(L)})}function Le(x,L){const C=te(x);null!==L.validator?x.setValidators(xe(C,L.validator)):"function"==typeof C&&x.setValidators([C]);const j=Te(x);null!==L.asyncValidator?x.setAsyncValidators(xe(j,L.asyncValidator)):"function"==typeof j&&x.setAsyncValidators([j]);const ie=()=>x.updateValueAndValidity();ei(L._rawValidators,ie),ei(L._rawAsyncValidators,ie)}function q(x,L){let C=!1;if(null!==x){if(null!==L.validator){const ie=te(x);if(Array.isArray(ie)&&ie.length>0){const xt=ie.filter(an=>an!==L.validator);xt.length!==ie.length&&(C=!0,x.setValidators(xt))}}if(null!==L.asyncValidator){const ie=Te(x);if(Array.isArray(ie)&&ie.length>0){const xt=ie.filter(an=>an!==L.asyncValidator);xt.length!==ie.length&&(C=!0,x.setAsyncValidators(xt))}}}const j=()=>{};return ei(L._rawValidators,j),ei(L._rawAsyncValidators,j),C}function yt(x,L){x._pendingDirty&&x.markAsDirty(),x.setValue(x._pendingValue,{emitModelToViewChange:!1}),L.viewToModelUpdate(x._pendingValue),x._pendingChange=!1}function Mt(x,L){Le(x,L)}function Bi(x,L){if(!x.hasOwnProperty("model"))return!1;const C=x.model;return!!C.isFirstChange()||!Object.is(L,C.currentValue)}function Tn(x,L){x._syncPendingControls(),L.forEach(C=>{const j=C.control;"submit"===j.updateOn&&j._pendingChange&&(C.viewToModelUpdate(j._pendingValue),j._pendingChange=!1)})}function Mn(x,L){if(!L)return null;let C,j,ie;return Array.isArray(L),L.forEach(xt=>{xt.constructor===J?C=xt:function ci(x){return Object.getPrototypeOf(x.constructor)===le}(xt)?j=xt:ie=xt}),ie||j||C||null}const ti={provide:tn,useExisting:(0,r.Rfq)(()=>ni)},bi=(()=>Promise.resolve())();let ni=(()=>{class x extends tn{constructor(C,j,ie){super(),this.callSetDisabledState=ie,this.submitted=!1,this._directives=new Set,this.ngSubmit=new r.bkB,this.form=new qe({},Ie(C),de(j))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(C){bi.then(()=>{const j=this._findContainer(C.path);C.control=j.registerControl(C.name,C.control),gn(C.control,C,this.callSetDisabledState),C.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(C)})}getControl(C){return this.form.get(C.path)}removeControl(C){bi.then(()=>{const j=this._findContainer(C.path);j&&j.removeControl(C.name),this._directives.delete(C)})}addFormGroup(C){bi.then(()=>{const j=this._findContainer(C.path),ie=new qe({});Mt(ie,C),j.registerControl(C.name,ie),ie.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(C){bi.then(()=>{const j=this._findContainer(C.path);j&&j.removeControl(C.name)})}getFormGroup(C){return this.form.get(C.path)}updateModel(C,j){bi.then(()=>{this.form.get(C.path).setValue(j)})}setValue(C){this.control.setValue(C)}onSubmit(C){return this.submitted=!0,Tn(this.form,this._directives),this.ngSubmit.emit(C),"dialog"===C?.target?.method}onReset(){this.resetForm()}resetForm(C=void 0){this.form.reset(C),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(C){return C.pop(),C.length?this.form.get(C):this.form}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(Qe,10),r.rXU(it,10),r.rXU(Ct,8))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(j,ie){1&j&&r.bIt("submit",function(an){return ie.onSubmit(an)})("reset",function(){return ie.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[r.Jv_([ti]),r.Vt3]})}}return x})();function Si(x,L){const C=x.indexOf(L);C>-1&&x.splice(C,1)}function Ai(x){return"object"==typeof x&&null!==x&&2===Object.keys(x).length&&"value"in x&&"disabled"in x}const Kn=class extends mr{constructor(L=null,C,j){super(ai(C),Yn(j,C)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(L),this._setUpdateStrategy(C),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),li(C)&&(C.nonNullable||C.initialValueIsDefault)&&(this.defaultValue=Ai(L)?L.value:L)}setValue(L,C={}){this.value=this._pendingValue=L,this._onChange.length&&!1!==C.emitModelToViewChange&&this._onChange.forEach(j=>j(this.value,!1!==C.emitViewToModelChange)),this.updateValueAndValidity(C)}patchValue(L,C={}){this.setValue(L,C)}reset(L=this.defaultValue,C={}){this._applyFormState(L),this.markAsPristine(C),this.markAsUntouched(C),this.setValue(this.value,C),this._pendingChange=!1}_updateValue(){}_anyControls(L){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(L){this._onChange.push(L)}_unregisterOnChange(L){Si(this._onChange,L)}registerOnDisabledChange(L){this._onDisabledChange.push(L)}_unregisterOnDisabledChange(L){Si(this._onDisabledChange,L)}_forEachChild(L){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(L){Ai(L)?(this.value=this._pendingValue=L.value,L.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=L}},rs={provide:Lt,useExisting:(0,r.Rfq)(()=>Hi)},ss=(()=>Promise.resolve())();let Hi=(()=>{class x extends Lt{constructor(C,j,ie,xt,an,zi){super(),this._changeDetectorRef=an,this.callSetDisabledState=zi,this.control=new Kn,this._registered=!1,this.name="",this.update=new r.bkB,this._parent=C,this._setValidators(j),this._setAsyncValidators(ie),this.valueAccessor=Mn(0,xt)}ngOnChanges(C){if(this._checkForErrors(),!this._registered||"name"in C){if(this._registered&&(this._checkName(),this.formDirective)){const j=C.name.previousValue;this.formDirective.removeControl({name:j,path:this._getPath(j)})}this._setUpControl()}"isDisabled"in C&&this._updateDisabled(C),Bi(C,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(C){this.viewModel=C,this.update.emit(C)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){gn(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(C){ss.then(()=>{this.control.setValue(C,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(C){const j=C.isDisabled.currentValue,ie=0!==j&&(0,r.L39)(j);ss.then(()=>{ie&&!this.control.disabled?this.control.disable():!ie&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(C){return this._parent?qt(C,this._parent):[C]}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(tn,9),r.rXU(Qe,10),r.rXU(it,10),r.rXU(W,10),r.rXU(r.gRc,8),r.rXU(Ct,8))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[r.Jv_([rs]),r.Vt3,r.OA$]})}}return x})(),ys=(()=>{class x{static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275dir=r.FsC({type:x,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}}return x})();const zr={provide:W,useExisting:(0,r.Rfq)(()=>as),multi:!0};let os=(()=>{class x{static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275mod=r.$C({type:x})}static{this.\u0275inj=r.G2t({})}}return x})(),Kr=(()=>{class x{constructor(){this._accessors=[]}add(C,j){this._accessors.push([C,j])}remove(C){for(let j=this._accessors.length-1;j>=0;--j)if(this._accessors[j][1]===C)return void this._accessors.splice(j,1)}select(C){this._accessors.forEach(j=>{this._isSameGroup(j,C)&&j[1]!==C&&j[1].fireUncheck(C.value)})}_isSameGroup(C,j){return!!C[0].control&&C[0]._parent===j._control._parent&&C[1].name===j.name}static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275prov=r.jDH({token:x,factory:x.\u0275fac,providedIn:os})}}return x})(),as=(()=>{class x extends le{constructor(C,j,ie,xt){super(C,j),this._registry=ie,this._injector=xt,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=(0,r.WQX)(Ct,{optional:!0})??Bt}ngOnInit(){this._control=this._injector.get(Lt),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(C){this._state=C===this.value,this.setProperty("checked",this._state)}registerOnChange(C){this._fn=C,this.onChange=()=>{C(this.value),this._registry.select(this)}}setDisabledState(C){(this.setDisabledStateFired||C||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",C),this.setDisabledStateFired=!0}fireUncheck(C){this.writeValue(C)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(r.sFG),r.rXU(r.aKT),r.rXU(Kr),r.rXU(r.zZn))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(j,ie){1&j&&r.bIt("change",function(){return ie.onChange()})("blur",function(){return ie.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[r.Jv_([zr]),r.Vt3]})}}return x})();const Yi=new r.nKC("NgModelWithFormControlWarning"),Mr={provide:Lt,useExisting:(0,r.Rfq)(()=>Pr)};let Pr=(()=>{class x extends Lt{set isDisabled(C){}static{this._ngModelWarningSentOnce=!1}constructor(C,j,ie,xt,an){super(),this._ngModelWarningConfig=xt,this.callSetDisabledState=an,this.update=new r.bkB,this._ngModelWarningSent=!1,this._setValidators(C),this._setAsyncValidators(j),this.valueAccessor=Mn(0,ie)}ngOnChanges(C){if(this._isControlChanged(C)){const j=C.form.previousValue;j&&$t(j,this,!1),gn(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Bi(C,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&$t(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(C){this.viewModel=C,this.update.emit(C)}_isControlChanged(C){return C.hasOwnProperty("form")}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(Qe,10),r.rXU(it,10),r.rXU(W,10),r.rXU(Yi,8),r.rXU(Ct,8))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[r.Jv_([Mr]),r.Vt3,r.OA$]})}}return x})();const Es={provide:tn,useExisting:(0,r.Rfq)(()=>dn)};let dn=(()=>{class x extends tn{constructor(C,j,ie){super(),this.callSetDisabledState=ie,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new r.bkB,this._setValidators(C),this._setAsyncValidators(j)}ngOnChanges(C){this._checkFormPresent(),C.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(q(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(C){const j=this.form.get(C.path);return gn(j,C,this.callSetDisabledState),j.updateValueAndValidity({emitEvent:!1}),this.directives.push(C),j}getControl(C){return this.form.get(C.path)}removeControl(C){$t(C.control||null,C,!1),function ui(x,L){const C=x.indexOf(L);C>-1&&x.splice(C,1)}(this.directives,C)}addFormGroup(C){this._setUpFormContainer(C)}removeFormGroup(C){this._cleanUpFormContainer(C)}getFormGroup(C){return this.form.get(C.path)}addFormArray(C){this._setUpFormContainer(C)}removeFormArray(C){this._cleanUpFormContainer(C)}getFormArray(C){return this.form.get(C.path)}updateModel(C,j){this.form.get(C.path).setValue(j)}onSubmit(C){return this.submitted=!0,Tn(this.form,this.directives),this.ngSubmit.emit(C),"dialog"===C?.target?.method}onReset(){this.resetForm()}resetForm(C=void 0){this.form.reset(C),this.submitted=!1}_updateDomValue(){this.directives.forEach(C=>{const j=C.control,ie=this.form.get(C.path);j!==ie&&($t(j||null,C),(x=>x instanceof Kn)(ie)&&(gn(ie,C,this.callSetDisabledState),C.control=ie))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(C){const j=this.form.get(C.path);Mt(j,C),j.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(C){if(this.form){const j=this.form.get(C.path);j&&function Fn(x,L){return q(x,L)}(j,C)&&j.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Le(this.form,this),this._oldForm&&q(this._oldForm,this)}_checkFormPresent(){}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(Qe,10),r.rXU(it,10),r.rXU(Ct,8))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["","formGroup",""]],hostBindings:function(j,ie){1&j&&r.bIt("submit",function(an){return ie.onSubmit(an)})("reset",function(){return ie.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[r.Jv_([Es]),r.Vt3,r.OA$]})}}return x})();const Qr={provide:Lt,useExisting:(0,r.Rfq)(()=>Ir)};let Ir=(()=>{class x extends Lt{set isDisabled(C){}static{this._ngModelWarningSentOnce=!1}constructor(C,j,ie,xt,an){super(),this._ngModelWarningConfig=an,this._added=!1,this.name=null,this.update=new r.bkB,this._ngModelWarningSent=!1,this._parent=C,this._setValidators(j),this._setAsyncValidators(ie),this.valueAccessor=Mn(0,xt)}ngOnChanges(C){this._added||this._setUpControl(),Bi(C,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(C){this.viewModel=C,this.update.emit(C)}get path(){return qt(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(tn,13),r.rXU(Qe,10),r.rXU(it,10),r.rXU(W,10),r.rXU(Yi,8))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[r.Jv_([Qr]),r.Vt3,r.OA$]})}}return x})();const Yr={provide:W,useExisting:(0,r.Rfq)(()=>Ot),multi:!0};function Fr(x,L){return null==x?`${L}`:(L&&"object"==typeof L&&(L="Object"),`${x}: ${L}`.slice(0,50))}let Ot=(()=>{class x extends le{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(C){this._compareWith=C}writeValue(C){this.value=C;const ie=Fr(this._getOptionId(C),C);this.setProperty("value",ie)}registerOnChange(C){this.onChange=j=>{this.value=this._getOptionValue(j),C(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(C){for(const j of this._optionMap.keys())if(this._compareWith(this._optionMap.get(j),C))return j;return null}_getOptionValue(C){const j=function Ln(x){return x.split(":")[0]}(C);return this._optionMap.has(j)?this._optionMap.get(j):C}static{this.\u0275fac=function(){let C;return function(ie){return(C||(C=r.xGo(x)))(ie||x)}}()}static{this.\u0275dir=r.FsC({type:x,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(j,ie){1&j&&r.bIt("change",function(an){return ie.onChange(an.target.value)})("blur",function(){return ie.onTouched()})},inputs:{compareWith:"compareWith"},features:[r.Jv_([Yr]),r.Vt3]})}}return x})(),Jt=(()=>{class x{constructor(C,j,ie){this._element=C,this._renderer=j,this._select=ie,this._select&&(this.id=this._select._registerOption())}set ngValue(C){null!=this._select&&(this._select._optionMap.set(this.id,C),this._setElementValue(Fr(this.id,C)),this._select.writeValue(this._select.value))}set value(C){this._setElementValue(C),this._select&&this._select.writeValue(this._select.value)}_setElementValue(C){this._renderer.setProperty(this._element.nativeElement,"value",C)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(r.aKT),r.rXU(r.sFG),r.rXU(Ot,9))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}}return x})();const Bn={provide:W,useExisting:(0,r.Rfq)(()=>Wi),multi:!0};function Ui(x,L){return null==x?`${L}`:("string"==typeof L&&(L=`'${L}'`),L&&"object"==typeof L&&(L="Object"),`${x}: ${L}`.slice(0,50))}let Wi=(()=>{class x extends le{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(C){this._compareWith=C}writeValue(C){let j;if(this.value=C,Array.isArray(C)){const ie=C.map(xt=>this._getOptionId(xt));j=(xt,an)=>{xt._setSelected(ie.indexOf(an.toString())>-1)}}else j=(ie,xt)=>{ie._setSelected(!1)};this._optionMap.forEach(j)}registerOnChange(C){this.onChange=j=>{const ie=[],xt=j.selectedOptions;if(void 0!==xt){const an=xt;for(let zi=0;zi{class x{constructor(C,j,ie){this._element=C,this._renderer=j,this._select=ie,this._select&&(this.id=this._select._registerOption(this))}set ngValue(C){null!=this._select&&(this._value=C,this._setElementValue(Ui(this.id,C)),this._select.writeValue(this._select.value))}set value(C){this._select?(this._value=C,this._setElementValue(Ui(this.id,C)),this._select.writeValue(this._select.value)):this._setElementValue(C)}_setElementValue(C){this._renderer.setProperty(this._element.nativeElement,"value",C)}_setSelected(C){this._renderer.setProperty(this._element.nativeElement,"selected",C)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static{this.\u0275fac=function(j){return new(j||x)(r.rXU(r.aKT),r.rXU(r.sFG),r.rXU(Wi,9))}}static{this.\u0275dir=r.FsC({type:x,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}}return x})(),Ji=(()=>{class x{static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275mod=r.$C({type:x})}static{this.\u0275inj=r.G2t({imports:[os]})}}return x})();class Br extends mr{constructor(L,C,j){super(ai(C),Yn(j,C)),this.controls=L,this._initObservables(),this._setUpdateStrategy(C),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(L){return this.controls[this._adjustIndex(L)]}push(L,C={}){this.controls.push(L),this._registerControl(L),this.updateValueAndValidity({emitEvent:C.emitEvent}),this._onCollectionChange()}insert(L,C,j={}){this.controls.splice(L,0,C),this._registerControl(C),this.updateValueAndValidity({emitEvent:j.emitEvent})}removeAt(L,C={}){let j=this._adjustIndex(L);j<0&&(j=0),this.controls[j]&&this.controls[j]._registerOnCollectionChange(()=>{}),this.controls.splice(j,1),this.updateValueAndValidity({emitEvent:C.emitEvent})}setControl(L,C,j={}){let ie=this._adjustIndex(L);ie<0&&(ie=0),this.controls[ie]&&this.controls[ie]._registerOnCollectionChange(()=>{}),this.controls.splice(ie,1),C&&(this.controls.splice(ie,0,C),this._registerControl(C)),this.updateValueAndValidity({emitEvent:j.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(L,C={}){Li(this,0,L),L.forEach((j,ie)=>{yi(this,!1,ie),this.at(ie).setValue(j,{onlySelf:!0,emitEvent:C.emitEvent})}),this.updateValueAndValidity(C)}patchValue(L,C={}){null!=L&&(L.forEach((j,ie)=>{this.at(ie)&&this.at(ie).patchValue(j,{onlySelf:!0,emitEvent:C.emitEvent})}),this.updateValueAndValidity(C))}reset(L=[],C={}){this._forEachChild((j,ie)=>{j.reset(L[ie],{onlySelf:!0,emitEvent:C.emitEvent})}),this._updatePristine(C),this._updateTouched(C),this.updateValueAndValidity(C)}getRawValue(){return this.controls.map(L=>L.getRawValue())}clear(L={}){this.controls.length<1||(this._forEachChild(C=>C._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:L.emitEvent}))}_adjustIndex(L){return L<0?L+this.length:L}_syncPendingControls(){let L=this.controls.reduce((C,j)=>!!j._syncPendingControls()||C,!1);return L&&this.updateValueAndValidity({onlySelf:!0}),L}_forEachChild(L){this.controls.forEach((C,j)=>{L(C,j)})}_updateValue(){this.value=this.controls.filter(L=>L.enabled||this.disabled).map(L=>L.value)}_anyControls(L){return this.controls.some(C=>C.enabled&&L(C))}_setUpControls(){this._forEachChild(L=>this._registerControl(L))}_allControlsDisabled(){for(const L of this.controls)if(L.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(L){L.setParent(this),L._registerOnCollectionChange(this._onCollectionChange)}_find(L){return this.at(L)??null}}function gi(x){return!!x&&(void 0!==x.asyncValidators||void 0!==x.validators||void 0!==x.updateOn)}let Ii=(()=>{class x{constructor(){this.useNonNullable=!1}get nonNullable(){const C=new x;return C.useNonNullable=!0,C}group(C,j=null){const ie=this._reduceControls(C);let xt={};return gi(j)?xt=j:null!==j&&(xt.validators=j.validator,xt.asyncValidators=j.asyncValidator),new qe(ie,xt)}record(C,j=null){const ie=this._reduceControls(C);return new ve(ie,j)}control(C,j,ie){let xt={};return this.useNonNullable?(gi(j)?xt=j:(xt.validators=j,xt.asyncValidators=ie),new Kn(C,{...xt,nonNullable:!0})):new Kn(C,j,ie)}array(C,j,ie){const xt=C.map(an=>this._createControl(an));return new Br(xt,j,ie)}_reduceControls(C){const j={};return Object.keys(C).forEach(ie=>{j[ie]=this._createControl(C[ie])}),j}_createControl(C){return C instanceof Kn||C instanceof mr?C:Array.isArray(C)?this.control(C[0],C.length>1?C[1]:null,C.length>2?C[2]:null):this.control(C)}static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275prov=r.jDH({token:x,factory:x.\u0275fac,providedIn:"root"})}}return x})(),sr=(()=>{class x{static withConfig(C){return{ngModule:x,providers:[{provide:Ct,useValue:C.callSetDisabledState??Bt}]}}static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275mod=r.$C({type:x})}static{this.\u0275inj=r.G2t({imports:[Ji]})}}return x})(),cs=(()=>{class x{static withConfig(C){return{ngModule:x,providers:[{provide:Yi,useValue:C.warnOnNgModelWithFormControl??"always"},{provide:Ct,useValue:C.callSetDisabledState??Bt}]}}static{this.\u0275fac=function(j){return new(j||x)}}static{this.\u0275mod=r.$C({type:x})}static{this.\u0275inj=r.G2t({imports:[Ji]})}}return x})()},4073:()=>{"use strict";const bt=":";Error;const tn=function(ge,...Ee){if(tn.translate){const w=tn.translate(ge,Ee);ge=w[0],Ee=w[1]}let F=Ft(ge[0],ge.raw[0]);for(let w=1;w{"use strict";O.d(Ae,{B7:()=>lt,Bb:()=>ge,hE:()=>$,sG:()=>ft,up:()=>oi});var r=O(8699),P=O(177);class se extends P.VF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class oe extends se{static makeCurrent(){(0,P.ZD)(new oe)}onAndCancel(Ge,ee,ve){return Ge.addEventListener(ee,ve),()=>{Ge.removeEventListener(ee,ve)}}dispatchEvent(Ge,ee){Ge.dispatchEvent(ee)}remove(Ge){Ge.parentNode&&Ge.parentNode.removeChild(Ge)}createElement(Ge,ee){return(ee=ee||this.getDefaultDocument()).createElement(Ge)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(Ge){return Ge.nodeType===Node.ELEMENT_NODE}isShadowRoot(Ge){return Ge instanceof DocumentFragment}getGlobalEventTarget(Ge,ee){return"window"===ee?window:"document"===ee?Ge:"body"===ee?Ge.body:null}getBaseHref(Ge){const ee=function Y(){return Q=Q||document.querySelector("base"),Q?Q.getAttribute("href"):null}();return null==ee?null:function W(qe){le=le||document.createElement("a"),le.setAttribute("href",qe);const Ge=le.pathname;return"/"===Ge.charAt(0)?Ge:`/${Ge}`}(ee)}resetBaseElement(){Q=null}getUserAgent(){return window.navigator.userAgent}getCookie(Ge){return(0,P._b)(document.cookie,Ge)}}let le,Q=null,ue=(()=>{class qe{build(){return new XMLHttpRequest}static{this.\u0275fac=function(ve){return new(ve||qe)}}static{this.\u0275prov=r.jDH({token:qe,factory:qe.\u0275fac})}}return qe})();const re=new r.nKC("EventManagerPlugins");let Ue=(()=>{class qe{constructor(ee,ve){this._zone=ve,this._eventNameToPlugin=new Map,ee.forEach(st=>{st.manager=this}),this._plugins=ee.slice().reverse()}addEventListener(ee,ve,st){return this._findPluginFor(ve).addEventListener(ee,ve,st)}getZone(){return this._zone}_findPluginFor(ee){let ve=this._eventNameToPlugin.get(ee);if(ve)return ve;if(ve=this._plugins.find(Ct=>Ct.supports(ee)),!ve)throw new r.wOt(5101,!1);return this._eventNameToPlugin.set(ee,ve),ve}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(re),r.KVO(r.SKi))}}static{this.\u0275prov=r.jDH({token:qe,factory:qe.\u0275fac})}}return qe})();class ae{constructor(Ge){this._doc=Ge}}const J="ng-app-id";let fe=(()=>{class qe{constructor(ee,ve,st,Ct={}){this.doc=ee,this.appId=ve,this.nonce=st,this.platformId=Ct,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,P.Vy)(Ct),this.resetHostNodes()}addStyles(ee){for(const ve of ee)1===this.changeUsageCount(ve,1)&&this.onStyleAdded(ve)}removeStyles(ee){for(const ve of ee)this.changeUsageCount(ve,-1)<=0&&this.onStyleRemoved(ve)}ngOnDestroy(){const ee=this.styleNodesInDOM;ee&&(ee.forEach(ve=>ve.remove()),ee.clear());for(const ve of this.getAllStyles())this.onStyleRemoved(ve);this.resetHostNodes()}addHost(ee){this.hostNodes.add(ee);for(const ve of this.getAllStyles())this.addStyleToHost(ee,ve)}removeHost(ee){this.hostNodes.delete(ee)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(ee){for(const ve of this.hostNodes)this.addStyleToHost(ve,ee)}onStyleRemoved(ee){const ve=this.styleRef;ve.get(ee)?.elements?.forEach(st=>st.remove()),ve.delete(ee)}collectServerRenderedStyles(){const ee=this.doc.head?.querySelectorAll(`style[${J}="${this.appId}"]`);if(ee?.length){const ve=new Map;return ee.forEach(st=>{null!=st.textContent&&ve.set(st.textContent,st)}),ve}return null}changeUsageCount(ee,ve){const st=this.styleRef;if(st.has(ee)){const Ct=st.get(ee);return Ct.usage+=ve,Ct.usage}return st.set(ee,{usage:ve,elements:[]}),ve}getStyleElement(ee,ve){const st=this.styleNodesInDOM,Ct=st?.get(ve);if(Ct?.parentNode===ee)return st.delete(ve),Ct.removeAttribute(J),Ct;{const Bt=this.doc.createElement("style");return this.nonce&&Bt.setAttribute("nonce",this.nonce),Bt.textContent=ve,this.platformIsServer&&Bt.setAttribute(J,this.appId),Bt}}addStyleToHost(ee,ve){const st=this.getStyleElement(ee,ve);ee.appendChild(st);const Ct=this.styleRef,Bt=Ct.get(ve)?.elements;Bt?Bt.push(st):Ct.set(ve,{elements:[st],usage:1})}resetHostNodes(){const ee=this.hostNodes;ee.clear(),ee.add(this.doc.head)}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(P.qQ),r.KVO(r.sZ2),r.KVO(r.BIS,8),r.KVO(r.Agw))}}static{this.\u0275prov=r.jDH({token:qe,factory:qe.\u0275fac})}}return qe})();const Ne={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Qe=/%COMP%/g,Be=new r.nKC("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function je(qe,Ge){return Ge.map(ee=>ee.replace(Qe,qe))}let lt=(()=>{class qe{constructor(ee,ve,st,Ct,Bt,qt,gn,$t=null){this.eventManager=ee,this.sharedStylesHost=ve,this.appId=st,this.removeStylesOnCompDestroy=Ct,this.doc=Bt,this.platformId=qt,this.ngZone=gn,this.nonce=$t,this.rendererByCompId=new Map,this.platformIsServer=(0,P.Vy)(qt),this.defaultRenderer=new Ve(ee,Bt,gn,this.platformIsServer)}createRenderer(ee,ve){if(!ee||!ve)return this.defaultRenderer;this.platformIsServer&&ve.encapsulation===r.gXe.ShadowDom&&(ve={...ve,encapsulation:r.gXe.Emulated});const st=this.getOrCreateRenderer(ee,ve);return st instanceof $e?st.applyToHost(ee):st instanceof De&&st.applyStyles(),st}getOrCreateRenderer(ee,ve){const st=this.rendererByCompId;let Ct=st.get(ve.id);if(!Ct){const Bt=this.doc,qt=this.ngZone,gn=this.eventManager,$t=this.sharedStylesHost,ei=this.removeStylesOnCompDestroy,Cn=this.platformIsServer;switch(ve.encapsulation){case r.gXe.Emulated:Ct=new $e(gn,$t,ve,this.appId,ei,Bt,qt,Cn);break;case r.gXe.ShadowDom:return new ne(gn,$t,ee,ve,Bt,qt,this.nonce,Cn);default:Ct=new De(gn,$t,ve,ei,Bt,qt,Cn)}st.set(ve.id,Ct)}return Ct}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(Ue),r.KVO(fe),r.KVO(r.sZ2),r.KVO(Be),r.KVO(P.qQ),r.KVO(r.Agw),r.KVO(r.SKi),r.KVO(r.BIS))}}static{this.\u0275prov=r.jDH({token:qe,factory:qe.\u0275fac})}}return qe})();class Ve{constructor(Ge,ee,ve,st){this.eventManager=Ge,this.doc=ee,this.ngZone=ve,this.platformIsServer=st,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(Ge,ee){return ee?this.doc.createElementNS(Ne[ee]||ee,Ge):this.doc.createElement(Ge)}createComment(Ge){return this.doc.createComment(Ge)}createText(Ge){return this.doc.createTextNode(Ge)}appendChild(Ge,ee){(Ye(Ge)?Ge.content:Ge).appendChild(ee)}insertBefore(Ge,ee,ve){Ge&&(Ye(Ge)?Ge.content:Ge).insertBefore(ee,ve)}removeChild(Ge,ee){Ge&&Ge.removeChild(ee)}selectRootElement(Ge,ee){let ve="string"==typeof Ge?this.doc.querySelector(Ge):Ge;if(!ve)throw new r.wOt(-5104,!1);return ee||(ve.textContent=""),ve}parentNode(Ge){return Ge.parentNode}nextSibling(Ge){return Ge.nextSibling}setAttribute(Ge,ee,ve,st){if(st){ee=st+":"+ee;const Ct=Ne[st];Ct?Ge.setAttributeNS(Ct,ee,ve):Ge.setAttribute(ee,ve)}else Ge.setAttribute(ee,ve)}removeAttribute(Ge,ee,ve){if(ve){const st=Ne[ve];st?Ge.removeAttributeNS(st,ee):Ge.removeAttribute(`${ve}:${ee}`)}else Ge.removeAttribute(ee)}addClass(Ge,ee){Ge.classList.add(ee)}removeClass(Ge,ee){Ge.classList.remove(ee)}setStyle(Ge,ee,ve,st){st&(r.czy.DashCase|r.czy.Important)?Ge.style.setProperty(ee,ve,st&r.czy.Important?"important":""):Ge.style[ee]=ve}removeStyle(Ge,ee,ve){ve&r.czy.DashCase?Ge.style.removeProperty(ee):Ge.style[ee]=""}setProperty(Ge,ee,ve){Ge[ee]=ve}setValue(Ge,ee){Ge.nodeValue=ee}listen(Ge,ee,ve){if("string"==typeof Ge&&!(Ge=(0,P.QT)().getGlobalEventTarget(this.doc,Ge)))throw new Error(`Unsupported event target ${Ge} for event ${ee}`);return this.eventManager.addEventListener(Ge,ee,this.decoratePreventDefault(ve))}decoratePreventDefault(Ge){return ee=>{if("__ngUnwrap__"===ee)return Ge;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>Ge(ee)):Ge(ee))&&ee.preventDefault()}}}function Ye(qe){return"TEMPLATE"===qe.tagName&&void 0!==qe.content}class ne extends Ve{constructor(Ge,ee,ve,st,Ct,Bt,qt,gn){super(Ge,Ct,Bt,gn),this.sharedStylesHost=ee,this.hostEl=ve,this.shadowRoot=ve.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const $t=je(st.id,st.styles);for(const ei of $t){const Cn=document.createElement("style");qt&&Cn.setAttribute("nonce",qt),Cn.textContent=ei,this.shadowRoot.appendChild(Cn)}}nodeOrShadowRoot(Ge){return Ge===this.hostEl?this.shadowRoot:Ge}appendChild(Ge,ee){return super.appendChild(this.nodeOrShadowRoot(Ge),ee)}insertBefore(Ge,ee,ve){return super.insertBefore(this.nodeOrShadowRoot(Ge),ee,ve)}removeChild(Ge,ee){return super.removeChild(this.nodeOrShadowRoot(Ge),ee)}parentNode(Ge){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(Ge)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class De extends Ve{constructor(Ge,ee,ve,st,Ct,Bt,qt,gn){super(Ge,Ct,Bt,qt),this.sharedStylesHost=ee,this.removeStylesOnCompDestroy=st,this.styles=gn?je(gn,ve.styles):ve.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class $e extends De{constructor(Ge,ee,ve,st,Ct,Bt,qt,gn){const $t=st+"-"+ve.id;super(Ge,ee,ve,Ct,Bt,qt,gn,$t),this.contentAttr=function et(qe){return"_ngcontent-%COMP%".replace(Qe,qe)}($t),this.hostAttr=function ht(qe){return"_nghost-%COMP%".replace(Qe,qe)}($t)}applyToHost(Ge){this.applyStyles(),this.setAttribute(Ge,this.hostAttr,"")}createElement(Ge,ee){const ve=super.createElement(Ge,ee);return super.setAttribute(ve,this.contentAttr,""),ve}}let mt=(()=>{class qe extends ae{constructor(ee){super(ee)}supports(ee){return!0}addEventListener(ee,ve,st){return ee.addEventListener(ve,st,!1),()=>this.removeEventListener(ee,ve,st)}removeEventListener(ee,ve,st){return ee.removeEventListener(ve,st)}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(P.qQ))}}static{this.\u0275prov=r.jDH({token:qe,factory:qe.\u0275fac})}}return qe})();const It=["alt","control","meta","shift"],Ce={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ie={alt:qe=>qe.altKey,control:qe=>qe.ctrlKey,meta:qe=>qe.metaKey,shift:qe=>qe.shiftKey};let Oe=(()=>{class qe extends ae{constructor(ee){super(ee)}supports(ee){return null!=qe.parseEventName(ee)}addEventListener(ee,ve,st){const Ct=qe.parseEventName(ve),Bt=qe.eventCallback(Ct.fullKey,st,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,P.QT)().onAndCancel(ee,Ct.domEventName,Bt))}static parseEventName(ee){const ve=ee.toLowerCase().split("."),st=ve.shift();if(0===ve.length||"keydown"!==st&&"keyup"!==st)return null;const Ct=qe._normalizeKey(ve.pop());let Bt="",qt=ve.indexOf("code");if(qt>-1&&(ve.splice(qt,1),Bt="code."),It.forEach($t=>{const ei=ve.indexOf($t);ei>-1&&(ve.splice(ei,1),Bt+=$t+".")}),Bt+=Ct,0!=ve.length||0===Ct.length)return null;const gn={};return gn.domEventName=st,gn.fullKey=Bt,gn}static matchEventFullKeyCode(ee,ve){let st=Ce[ee.key]||ee.key,Ct="";return ve.indexOf("code.")>-1&&(st=ee.code,Ct="code."),!(null==st||!st)&&(st=st.toLowerCase()," "===st?st="space":"."===st&&(st="dot"),It.forEach(Bt=>{Bt!==st&&(0,Ie[Bt])(ee)&&(Ct+=Bt+".")}),Ct+=st,Ct===ve)}static eventCallback(ee,ve,st){return Ct=>{qe.matchEventFullKeyCode(Ct,ee)&&st.runGuarded(()=>ve(Ct))}}static _normalizeKey(ee){return"esc"===ee?"escape":ee}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(P.qQ))}}static{this.\u0275prov=r.jDH({token:qe,factory:qe.\u0275fac})}}return qe})();const ft=(0,r.oH4)(r.fpN,"browser",[{provide:r.Agw,useValue:P.AJ},{provide:r.PLl,useValue:function tt(){oe.makeCurrent()},multi:!0},{provide:P.qQ,useFactory:function ct(){return(0,r.TL$)(document),document},deps:[]}]),tn=new r.nKC(""),Lt=[{provide:r.e01,useClass:class Re{addToWindow(Ge){r.JZv.getAngularTestability=(ve,st=!0)=>{const Ct=Ge.findTestabilityInTree(ve,st);if(null==Ct)throw new r.wOt(5103,!1);return Ct},r.JZv.getAllAngularTestabilities=()=>Ge.getAllTestabilities(),r.JZv.getAllAngularRootElements=()=>Ge.getAllRootElements(),r.JZv.frameworkStabilizers||(r.JZv.frameworkStabilizers=[]),r.JZv.frameworkStabilizers.push(ve=>{const st=r.JZv.getAllAngularTestabilities();let Ct=st.length,Bt=!1;const qt=function(gn){Bt=Bt||gn,Ct--,0==Ct&&ve(Bt)};st.forEach(gn=>{gn.whenStable(qt)})})}findTestabilityInTree(Ge,ee,ve){return null==ee?null:Ge.getTestability(ee)??(ve?(0,P.QT)().isShadowRoot(ee)?this.findTestabilityInTree(Ge,ee.host,!0):this.findTestabilityInTree(Ge,ee.parentElement,!0):null)}},deps:[]},{provide:r.WHO,useClass:r.NYb,deps:[r.SKi,r.giA,r.e01]},{provide:r.NYb,useClass:r.NYb,deps:[r.SKi,r.giA,r.e01]}],Ft=[{provide:r.H8p,useValue:"root"},{provide:r.zcH,useFactory:function rt(){return new r.zcH},deps:[]},{provide:re,useClass:mt,multi:!0,deps:[P.qQ,r.SKi,r.Agw]},{provide:re,useClass:Oe,multi:!0,deps:[P.qQ]},lt,fe,Ue,{provide:r._9s,useExisting:lt},{provide:P.N0,useClass:ue,deps:[]},[]];let ge=(()=>{class qe{constructor(ee){}static withServerTransition(ee){return{ngModule:qe,providers:[{provide:r.sZ2,useValue:ee.appId}]}}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(tn,12))}}static{this.\u0275mod=r.$C({type:qe})}static{this.\u0275inj=r.G2t({providers:[...Ft,...Lt],imports:[P.MD,r.Hbi]})}}return qe})(),$=(()=>{class qe{constructor(ee){this._doc=ee}getTitle(){return this._doc.title}setTitle(ee){this._doc.title=ee||""}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(P.qQ))}}static{this.\u0275prov=r.jDH({token:qe,factory:function(ve){let st=null;return st=ve?new ve:function M(){return new $((0,r.KVO)(P.qQ))}(),st},providedIn:"root"})}}return qe})();typeof window<"u"&&window;let oi=(()=>{class qe{static{this.\u0275fac=function(ve){return new(ve||qe)}}static{this.\u0275prov=r.jDH({token:qe,factory:function(ve){let st=null;return st=ve?new(ve||qe):r.KVO(Hn),st},providedIn:"root"})}}return qe})(),Hn=(()=>{class qe extends oi{constructor(ee){super(),this._doc=ee}sanitize(ee,ve){if(null==ve)return null;switch(ee){case r.WPN.NONE:return ve;case r.WPN.HTML:return(0,r.ZF7)(ve,"HTML")?(0,r.rcV)(ve):(0,r.h9k)(this._doc,String(ve)).toString();case r.WPN.STYLE:return(0,r.ZF7)(ve,"Style")?(0,r.rcV)(ve):ve;case r.WPN.SCRIPT:if((0,r.ZF7)(ve,"Script"))return(0,r.rcV)(ve);throw new r.wOt(5200,!1);case r.WPN.URL:return(0,r.ZF7)(ve,"URL")?(0,r.rcV)(ve):(0,r.$MX)(String(ve));case r.WPN.RESOURCE_URL:if((0,r.ZF7)(ve,"ResourceURL"))return(0,r.rcV)(ve);throw new r.wOt(5201,!1);default:throw new r.wOt(5202,!1)}}bypassSecurityTrustHtml(ee){return(0,r.Kcf)(ee)}bypassSecurityTrustStyle(ee){return(0,r.cWb)(ee)}bypassSecurityTrustScript(ee){return(0,r.UyX)(ee)}bypassSecurityTrustUrl(ee){return(0,r.osQ)(ee)}bypassSecurityTrustResourceUrl(ee){return(0,r.e5t)(ee)}static{this.\u0275fac=function(ve){return new(ve||qe)(r.KVO(P.qQ))}}static{this.\u0275prov=r.jDH({token:qe,factory:function(ve){let st=null;return st=ve?new ve:function Mi(qe){return new Hn(qe.get(P.qQ))}(r.KVO(r.zZn)),st},providedIn:"root"})}}return qe})()},8185:(bt,Ae,O)=>{"use strict";O.d(Ae,{nX:()=>jn,Ix:()=>Xi,Wk:()=>jt,wQ:()=>Zt,iI:()=>ic,n3:()=>Ln});var r=O(8699),P=O(1985),se=O(8071),Q=O(6648),Y=O(7673),le=O(4412),W=O(4572),Re=O(9350),ue=O(8793),re=O(9030),Ue=O(1203),ae=O(8810),J=O(983),fe=O(8359),Ne=O(9974),Qe=O(4360);function it(){return(0,Ne.N)((m,b)=>{let p=null;m._refCount++;const D=(0,Qe._)(b,void 0,void 0,void 0,()=>{if(!m||m._refCount<=0||0<--m._refCount)return void(p=null);const R=m._connection,U=p;p=null,R&&(!U||R===U)&&R.unsubscribe(),b.unsubscribe()});m.subscribe(D),D.closed||(p=m.connect())})}class _t extends P.c{constructor(b,p){super(),this.source=b,this.subjectFactory=p,this._subject=null,this._refCount=0,this._connection=null,(0,Ne.S)(b)&&(this.lift=b.lift)}_subscribe(b){return this.getSubject().subscribe(b)}getSubject(){const b=this._subject;return(!b||b.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:b}=this;this._subject=this._connection=null,b?.unsubscribe()}connect(){let b=this._connection;if(!b){b=this._connection=new fe.yU;const p=this.getSubject();b.add(this.source.subscribe((0,Qe._)(p,void 0,()=>{this._teardown(),p.complete()},D=>{this._teardown(),p.error(D)},()=>this._teardown()))),b.closed&&(this._connection=null,b=fe.yU.EMPTY)}return b}refCount(){return it()(this)}}var We=O(1413),_e=O(177),Be=O(6354),et=O(5558),ht=O(6697),je=O(9172),lt=O(5964),Ve=O(1397),He=O(1594),Fe=O(274),Ye=O(8141),ne=O(9437);var mt=O(9901);function It(m){return m<=0?()=>J.w:(0,Ne.N)((b,p)=>{let D=[];b.subscribe((0,Qe._)(p,R=>{D.push(R),m{for(const R of D)p.next(R);p.complete()},void 0,()=>{D=null}))})}var Ce=O(3774),Ie=O(3669),de=O(3703),xe=O(980),te=O(6977),Te=O(6365),tt=O(345);const rt="primary",ct=Symbol("RouteTitle");class Pt{constructor(b){this.params=b||{}}has(b){return Object.prototype.hasOwnProperty.call(this.params,b)}get(b){if(this.has(b)){const p=this.params[b];return Array.isArray(p)?p[0]:p}return null}getAll(b){if(this.has(b)){const p=this.params[b];return Array.isArray(p)?p:[p]}return[]}get keys(){return Object.keys(this.params)}}function ft(m){return new Pt(m)}function tn(m,b,p){const D=p.path.split("/");if(D.length>m.length||"full"===p.pathMatch&&(b.hasChildren()||D.lengthD[U]===R)}return m===b}function Ee(m){return m.length>0?m[m.length-1]:null}function F(m){return function oe(m){return!!m&&(m instanceof P.c||(0,se.T)(m.lift)&&(0,se.T)(m.subscribe))}(m)?m:(0,r.jNT)(m)?(0,Q.H)(Promise.resolve(m)):(0,Y.of)(m)}const w={exact:function z(m,b,p){if(!pn(m.segments,b.segments)||!Vt(m.segments,b.segments,p)||m.numberOfChildren!==b.numberOfChildren)return!1;for(const D in b.children)if(!m.children[D]||!z(m.children[D],b.children[D],p))return!1;return!0},subset:Je},M={exact:function Me(m,b){return Ft(m,b)},subset:function pe(m,b){return Object.keys(b).length<=Object.keys(m).length&&Object.keys(b).every(p=>ge(m[p],b[p]))},ignored:()=>!0};function $(m,b,p){return w[p.paths](m.root,b.root,p.matrixParams)&&M[p.queryParams](m.queryParams,b.queryParams)&&!("exact"===p.fragment&&m.fragment!==b.fragment)}function Je(m,b,p){return nt(m,b,b.segments,p)}function nt(m,b,p,D){if(m.segments.length>p.length){const R=m.segments.slice(0,p.length);return!(!pn(R,p)||b.hasChildren()||!Vt(R,p,D))}if(m.segments.length===p.length){if(!pn(m.segments,p)||!Vt(m.segments,p,D))return!1;for(const R in b.children)if(!m.children[R]||!Je(m.children[R],b.children[R],D))return!1;return!0}{const R=p.slice(0,m.segments.length),U=p.slice(m.segments.length);return!!(pn(m.segments,R)&&Vt(m.segments,R,D)&&m.children[rt])&&nt(m.children[rt],b,U,D)}}function Vt(m,b,p){return b.every((D,R)=>M[p](m[R].parameters,D.parameters))}class Dt{constructor(b=new St([],{}),p={},D=null){this.root=b,this.queryParams=p,this.fragment=D}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ft(this.queryParams)),this._queryParamMap}toString(){return ki.serialize(this)}}class St{constructor(b,p){this.segments=b,this.children=p,this.parent=null,Object.values(p).forEach(D=>D.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Yt(this)}}class wn{constructor(b,p){this.path=b,this.parameters=p}get parameterMap(){return this._parameterMap||(this._parameterMap=ft(this.parameters)),this._parameterMap}toString(){return li(this)}}function pn(m,b){return m.length===b.length&&m.every((p,D)=>p.path===b[D].path)}let Nn=(()=>{class m{static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:function(){return new vn},providedIn:"root"})}}return m})();class vn{parse(b){const p=new qt(b);return new Dt(p.parseRootSegment(),p.parseQueryParams(),p.parseFragment())}serialize(b){const p=`/${oi(b.root,!0)}`,D=function Li(m){const b=Object.keys(m).map(p=>{const D=m[p];return Array.isArray(D)?D.map(R=>`${Hn(p)}=${Hn(R)}`).join("&"):`${Hn(p)}=${Hn(D)}`}).filter(p=>!!p);return b.length?`?${b.join("&")}`:""}(b.queryParams);return`${p}${D}${"string"==typeof b.fragment?`#${function ai(m){return encodeURI(m)}(b.fragment)}`:""}`}}const ki=new vn;function Yt(m){return m.segments.map(b=>li(b)).join("/")}function oi(m,b){if(!m.hasChildren())return Yt(m);if(b){const p=m.children[rt]?oi(m.children[rt],!1):"",D=[];return Object.entries(m.children).forEach(([R,U])=>{R!==rt&&D.push(`${R}:${oi(U,!1)}`)}),D.length>0?`${p}(${D.join("//")})`:p}{const p=function bn(m,b){let p=[];return Object.entries(m.children).forEach(([D,R])=>{D===rt&&(p=p.concat(b(R,D)))}),Object.entries(m.children).forEach(([D,R])=>{D!==rt&&(p=p.concat(b(R,D)))}),p}(m,(D,R)=>R===rt?[oi(m.children[rt],!1)]:[`${R}:${oi(D,!1)}`]);return 1===Object.keys(m.children).length&&null!=m.children[rt]?`${Yt(m)}/${p[0]}`:`${Yt(m)}/(${p.join("//")})`}}function Mi(m){return encodeURIComponent(m).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Hn(m){return Mi(m).replace(/%3B/gi,";")}function Qn(m){return Mi(m).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Yn(m){return decodeURIComponent(m)}function Un(m){return Yn(m.replace(/\+/g,"%20"))}function li(m){return`${Qn(m.path)}${function yi(m){return Object.keys(m).map(b=>`;${Qn(b)}=${Qn(m[b])}`).join("")}(m.parameters)}`}const mr=/^[^\/()?;#]+/;function qe(m){const b=m.match(mr);return b?b[0]:""}const Ge=/^[^\/()?;=#]+/,ve=/^[^=?&#]+/,Ct=/^[^&#]+/;class qt{constructor(b){this.url=b,this.remaining=b}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new St([],{}):new St([],this.parseChildren())}parseQueryParams(){const b={};if(this.consumeOptional("?"))do{this.parseQueryParam(b)}while(this.consumeOptional("&"));return b}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const b=[];for(this.peekStartsWith("(")||b.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),b.push(this.parseSegment());let p={};this.peekStartsWith("/(")&&(this.capture("/"),p=this.parseParens(!0));let D={};return this.peekStartsWith("(")&&(D=this.parseParens(!1)),(b.length>0||Object.keys(p).length>0)&&(D[rt]=new St(b,p)),D}parseSegment(){const b=qe(this.remaining);if(""===b&&this.peekStartsWith(";"))throw new r.wOt(4009,!1);return this.capture(b),new wn(Yn(b),this.parseMatrixParams())}parseMatrixParams(){const b={};for(;this.consumeOptional(";");)this.parseParam(b);return b}parseParam(b){const p=function ee(m){const b=m.match(Ge);return b?b[0]:""}(this.remaining);if(!p)return;this.capture(p);let D="";if(this.consumeOptional("=")){const R=qe(this.remaining);R&&(D=R,this.capture(D))}b[Yn(p)]=Yn(D)}parseQueryParam(b){const p=function st(m){const b=m.match(ve);return b?b[0]:""}(this.remaining);if(!p)return;this.capture(p);let D="";if(this.consumeOptional("=")){const Z=function Bt(m){const b=m.match(Ct);return b?b[0]:""}(this.remaining);Z&&(D=Z,this.capture(D))}const R=Un(p),U=Un(D);if(b.hasOwnProperty(R)){let Z=b[R];Array.isArray(Z)||(Z=[Z],b[R]=Z),Z.push(U)}else b[R]=U}parseParens(b){const p={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const D=qe(this.remaining),R=this.remaining[D.length];if("/"!==R&&")"!==R&&";"!==R)throw new r.wOt(4010,!1);let U;D.indexOf(":")>-1?(U=D.slice(0,D.indexOf(":")),this.capture(U),this.capture(":")):b&&(U=rt);const Z=this.parseChildren();p[U]=1===Object.keys(Z).length?Z[rt]:new St([],Z),this.consumeOptional("//")}return p}peekStartsWith(b){return this.remaining.startsWith(b)}consumeOptional(b){return!!this.peekStartsWith(b)&&(this.remaining=this.remaining.substring(b.length),!0)}capture(b){if(!this.consumeOptional(b))throw new r.wOt(4011,!1)}}function gn(m){return m.segments.length>0?new St([],{[rt]:m}):m}function $t(m){const b={};for(const D of Object.keys(m.children)){const U=$t(m.children[D]);if(D===rt&&0===U.segments.length&&U.hasChildren())for(const[Z,Ze]of Object.entries(U.children))b[Z]=Ze;else(U.segments.length>0||U.hasChildren())&&(b[D]=U)}return function ei(m){if(1===m.numberOfChildren&&m.children[rt]){const b=m.children[rt];return new St(m.segments.concat(b.segments),b.children)}return m}(new St(m.segments,b))}function Cn(m){return m instanceof Dt}function q(m){let b;const R=gn(function p(U){const Z={};for(const Ke of U.children){const At=p(Ke);Z[Ke.outlet]=At}const Ze=new St(U.url,Z);return U===m&&(b=Ze),Ze}(m.root));return b??R}function ye(m,b,p,D){let R=m;for(;R.parent;)R=R.parent;if(0===b.length)return Tt(R,R,R,p,D);const U=function Gt(m){if("string"==typeof m[0]&&1===m.length&&"/"===m[0])return new Fn(!0,0,m);let b=0,p=!1;const D=m.reduce((R,U,Z)=>{if("object"==typeof U&&null!=U){if(U.outlets){const Ze={};return Object.entries(U.outlets).forEach(([Ke,At])=>{Ze[Ke]="string"==typeof At?At.split("/"):At}),[...R,{outlets:Ze}]}if(U.segmentPath)return[...R,U.segmentPath]}return"string"!=typeof U?[...R,U]:0===Z?(U.split("/").forEach((Ze,Ke)=>{0==Ke&&"."===Ze||(0==Ke&&""===Ze?p=!0:".."===Ze?b++:""!=Ze&&R.push(Ze))}),R):[...R,U]},[]);return new Fn(p,b,D)}(b);if(U.toRoot())return Tt(R,R,new St([],{}),p,D);const Z=function zn(m,b,p){if(m.isAbsolute)return new kn(b,!0,0);if(!p)return new kn(b,!1,NaN);if(null===p.parent)return new kn(p,!0,0);const D=at(m.commands[0])?0:1;return function $n(m,b,p){let D=m,R=b,U=p;for(;U>R;){if(U-=R,D=D.parent,!D)throw new r.wOt(4005,!1);R=D.segments.length}return new kn(D,!1,R-U)}(p,p.segments.length-1+D,m.numberOfDoubleDots)}(U,R,m),Ze=Z.processChildren?ci(Z.segmentGroup,Z.index,U.commands):Bi(Z.segmentGroup,Z.index,U.commands);return Tt(R,Z.segmentGroup,Ze,p,D)}function at(m){return"object"==typeof m&&null!=m&&!m.outlets&&!m.segmentPath}function yt(m){return"object"==typeof m&&null!=m&&m.outlets}function Tt(m,b,p,D,R){let Z,U={};D&&Object.entries(D).forEach(([Ke,At])=>{U[Ke]=Array.isArray(At)?At.map(un=>`${un}`):`${At}`}),Z=m===b?p:Mt(m,b,p);const Ze=gn($t(Z));return new Dt(Ze,U,R)}function Mt(m,b,p){const D={};return Object.entries(m.children).forEach(([R,U])=>{D[R]=U===b?p:Mt(U,b,p)}),new St(m.segments,D)}class Fn{constructor(b,p,D){if(this.isAbsolute=b,this.numberOfDoubleDots=p,this.commands=D,b&&D.length>0&&at(D[0]))throw new r.wOt(4003,!1);const R=D.find(yt);if(R&&R!==Ee(D))throw new r.wOt(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class kn{constructor(b,p,D){this.segmentGroup=b,this.processChildren=p,this.index=D}}function Bi(m,b,p){if(m||(m=new St([],{})),0===m.segments.length&&m.hasChildren())return ci(m,b,p);const D=function Tn(m,b,p){let D=0,R=b;const U={match:!1,pathIndex:0,commandIndex:0};for(;R=p.length)return U;const Z=m.segments[R],Ze=p[D];if(yt(Ze))break;const Ke=`${Ze}`,At=D0&&void 0===Ke)break;if(Ke&&At&&"object"==typeof At&&void 0===At.outlets){if(!ti(Ke,At,Z))return U;D+=2}else{if(!ti(Ke,{},Z))return U;D++}R++}return{match:!0,pathIndex:R,commandIndex:D}}(m,b,p),R=p.slice(D.commandIndex);if(D.match&&D.pathIndexU!==rt)&&m.children[rt]&&1===m.numberOfChildren&&0===m.children[rt].segments.length){const U=ci(m.children[rt],b,p);return new St(m.segments,U.children)}return Object.entries(D).forEach(([U,Z])=>{"string"==typeof Z&&(Z=[Z]),null!==Z&&(R[U]=Bi(m.children[U],b,Z))}),Object.entries(m.children).forEach(([U,Z])=>{void 0===D[U]&&(R[U]=Z)}),new St(m.segments,R)}}function Mn(m,b,p){const D=m.segments.slice(0,b);let R=0;for(;R{"string"==typeof D&&(D=[D]),null!==D&&(b[p]=Mn(new St([],{}),0,D))}),b}function Gi(m){const b={};return Object.entries(m).forEach(([p,D])=>b[p]=`${D}`),b}function ti(m,b,p){return m==p.path&&Ft(b,p.parameters)}const bi="imperative";class ni{constructor(b,p){this.id=b,this.url=p}}class Si extends ni{constructor(b,p,D="imperative",R=null){super(b,p),this.type=0,this.navigationTrigger=D,this.restoredState=R}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ai extends ni{constructor(b,p,D){super(b,p),this.urlAfterRedirects=D,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Kn extends ni{constructor(b,p,D,R){super(b,p),this.reason=D,this.code=R,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class tr extends ni{constructor(b,p,D,R){super(b,p),this.reason=D,this.code=R,this.type=16}}class dr extends ni{constructor(b,p,D,R){super(b,p),this.error=D,this.target=R,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Wr extends ni{constructor(b,p,D,R){super(b,p),this.urlAfterRedirects=D,this.state=R,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Us extends ni{constructor(b,p,D,R){super(b,p),this.urlAfterRedirects=D,this.state=R,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class to extends ni{constructor(b,p,D,R,U){super(b,p),this.urlAfterRedirects=D,this.state=R,this.shouldActivate=U,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class Ao extends ni{constructor(b,p,D,R){super(b,p),this.urlAfterRedirects=D,this.state=R,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Vi extends ni{constructor(b,p,D,R){super(b,p),this.urlAfterRedirects=D,this.state=R,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class js{constructor(b){this.route=b,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Cr{constructor(b){this.route=b,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class rs{constructor(b){this.snapshot=b,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ss{constructor(b){this.snapshot=b,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Hi{constructor(b){this.snapshot=b,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ys{constructor(b){this.snapshot=b,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class bs{constructor(b,p,D){this.routerEvent=b,this.position=p,this.anchor=D,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Ds{}class zr{constructor(b){this.url=b}}class os{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new Kr,this.attachRef=null}}let Kr=(()=>{class m{constructor(){this.contexts=new Map}onChildOutletCreated(p,D){const R=this.getOrCreateContext(p);R.outlet=D,this.contexts.set(p,R)}onChildOutletDestroyed(p){const D=this.getContext(p);D&&(D.outlet=null,D.attachRef=null)}onOutletDeactivated(){const p=this.contexts;return this.contexts=new Map,p}onOutletReAttached(p){this.contexts=p}getOrCreateContext(p){let D=this.getContext(p);return D||(D=new os,this.contexts.set(p,D)),D}getContext(p){return this.contexts.get(p)||null}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();class as{constructor(b){this._root=b}get root(){return this._root.value}parent(b){const p=this.pathFromRoot(b);return p.length>1?p[p.length-2]:null}children(b){const p=_r(b,this._root);return p?p.children.map(D=>D.value):[]}firstChild(b){const p=_r(b,this._root);return p&&p.children.length>0?p.children[0].value:null}siblings(b){const p=Tr(b,this._root);return p.length<2?[]:p[p.length-2].children.map(R=>R.value).filter(R=>R!==b)}pathFromRoot(b){return Tr(b,this._root).map(p=>p.value)}}function _r(m,b){if(m===b.value)return b;for(const p of b.children){const D=_r(m,p);if(D)return D}return null}function Tr(m,b){if(m===b.value)return[b];for(const p of b.children){const D=Tr(m,p);if(D.length)return D.unshift(b),D}return[]}class Yi{constructor(b,p){this.value=b,this.children=p}toString(){return`TreeNode(${this.value})`}}function Mr(m){const b={};return m&&m.children.forEach(p=>b[p.value.outlet]=p),b}class Pr extends as{constructor(b,p){super(b),this.snapshot=p,Qr(this,b)}toString(){return this.snapshot.toString()}}function Es(m,b){const p=function dn(m,b){const Z=new hi([],{},{},"",{},rt,b,null,{});return new Xr("",new Yi(Z,[]))}(0,b),D=new le.t([new wn("",{})]),R=new le.t({}),U=new le.t({}),Z=new le.t({}),Ze=new le.t(""),Ke=new jn(D,R,Z,Ze,U,rt,b,p.root);return Ke.snapshot=p.root,new Pr(new Yi(Ke,[]),p)}class jn{constructor(b,p,D,R,U,Z,Ze,Ke){this.urlSubject=b,this.paramsSubject=p,this.queryParamsSubject=D,this.fragmentSubject=R,this.dataSubject=U,this.outlet=Z,this.component=Ze,this._futureSnapshot=Ke,this.title=this.dataSubject?.pipe((0,Be.T)(At=>At[ct]))??(0,Y.of)(void 0),this.url=b,this.params=p,this.queryParams=D,this.fragment=R,this.data=U}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,Be.T)(b=>ft(b)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,Be.T)(b=>ft(b)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function di(m,b="emptyOnly"){const p=m.pathFromRoot;let D=0;if("always"!==b)for(D=p.length-1;D>=1;){const R=p[D],U=p[D-1];if(R.routeConfig&&""===R.routeConfig.path)D--;else{if(U.component)break;D--}}return function Sr(m){return m.reduce((b,p)=>({params:{...b.params,...p.params},data:{...b.data,...p.data},resolve:{...p.data,...b.resolve,...p.routeConfig?.data,...p._resolvedData}}),{params:{},data:{},resolve:{}})}(p.slice(D))}class hi{get title(){return this.data?.[ct]}constructor(b,p,D,R,U,Z,Ze,Ke,At){this.url=b,this.params=p,this.queryParams=D,this.fragment=R,this.data=U,this.outlet=Z,this.component=Ze,this.routeConfig=Ke,this._resolve=At}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=ft(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=ft(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(D=>D.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Xr extends as{constructor(b,p){super(p),this.url=b,Qr(this,p)}toString(){return Ir(this._root)}}function Qr(m,b){b.value._routerState=m,b.children.forEach(p=>Qr(m,p))}function Ir(m){const b=m.children.length>0?` { ${m.children.map(Ir).join(", ")} } `:"";return`${m.value}${b}`}function Yr(m){if(m.snapshot){const b=m.snapshot,p=m._futureSnapshot;m.snapshot=p,Ft(b.queryParams,p.queryParams)||m.queryParamsSubject.next(p.queryParams),b.fragment!==p.fragment&&m.fragmentSubject.next(p.fragment),Ft(b.params,p.params)||m.paramsSubject.next(p.params),function Lt(m,b){if(m.length!==b.length)return!1;for(let p=0;pFt(p.parameters,b[D].parameters))}(m.url,b.url);return p&&!(!m.parent!=!b.parent)&&(!m.parent||Fr(m.parent,b.parent))}let Ln=(()=>{class m{constructor(){this.activated=null,this._activatedRoute=null,this.name=rt,this.activateEvents=new r.bkB,this.deactivateEvents=new r.bkB,this.attachEvents=new r.bkB,this.detachEvents=new r.bkB,this.parentContexts=(0,r.WQX)(Kr),this.location=(0,r.WQX)(r.c1b),this.changeDetector=(0,r.WQX)(r.gRc),this.environmentInjector=(0,r.WQX)(r.uvJ),this.inputBinder=(0,r.WQX)(Jt,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(p){if(p.name){const{firstChange:D,previousValue:R}=p.name;if(D)return;this.isTrackedInParentContexts(R)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(R)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(p){return this.parentContexts.getContext(p)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const p=this.parentContexts.getContext(this.name);p?.route&&(p.attachRef?this.attach(p.attachRef,p.route):this.activateWith(p.route,p.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new r.wOt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new r.wOt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new r.wOt(4012,!1);this.location.detach();const p=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(p.instance),p}attach(p,D){this.activated=p,this._activatedRoute=D,this.location.insert(p.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(p.instance)}deactivate(){if(this.activated){const p=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(p)}}activateWith(p,D){if(this.isActivated)throw new r.wOt(4013,!1);this._activatedRoute=p;const R=this.location,Z=p.snapshot.component,Ze=this.parentContexts.getOrCreateContext(this.name).children,Ke=new Ot(p,Ze,R.injector);this.activated=R.createComponent(Z,{index:R.length,injector:Ke,environmentInjector:D??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275dir=r.FsC({type:m,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[r.OA$]})}}return m})();class Ot{constructor(b,p,D){this.route=b,this.childContexts=p,this.parent=D}get(b,p){return b===jn?this.route:b===Kr?this.childContexts:this.parent.get(b,p)}}const Jt=new r.nKC("");let Bn=(()=>{class m{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(p){this.unsubscribeFromRouteData(p),this.subscribeToRouteData(p)}unsubscribeFromRouteData(p){this.outletDataSubscriptions.get(p)?.unsubscribe(),this.outletDataSubscriptions.delete(p)}subscribeToRouteData(p){const{activatedRoute:D}=p,R=(0,W.z)([D.queryParams,D.params,D.data]).pipe((0,et.n)(([U,Z,Ze],Ke)=>(Ze={...U,...Z,...Ze},0===Ke?(0,Y.of)(Ze):Promise.resolve(Ze)))).subscribe(U=>{if(!p.isActivated||!p.activatedComponentRef||p.activatedRoute!==D||null===D.component)return void this.unsubscribeFromRouteData(p);const Z=(0,r.HJs)(D.component);if(Z)for(const{templateName:Ze}of Z.inputs)p.activatedComponentRef.setInput(Ze,U[Ze]);else this.unsubscribeFromRouteData(p)});this.outletDataSubscriptions.set(p,R)}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac})}}return m})();function ii(m,b,p){if(p&&m.shouldReuseRoute(b.value,p.value.snapshot)){const D=p.value;D._futureSnapshot=b.value;const R=function Di(m,b,p){return b.children.map(D=>{for(const R of p.children)if(m.shouldReuseRoute(D.value,R.value.snapshot))return ii(m,D,R);return ii(m,D)})}(m,b,p);return new Yi(D,R)}{if(m.shouldAttach(b.value)){const U=m.retrieve(b.value);if(null!==U){const Z=U.route;return Z.value._futureSnapshot=b.value,Z.children=b.children.map(Ze=>ii(m,Ze)),Z}}const D=function Wi(m){return new jn(new le.t(m.url),new le.t(m.params),new le.t(m.queryParams),new le.t(m.fragment),new le.t(m.data),m.outlet,m.component,m)}(b.value),R=b.children.map(U=>ii(m,U));return new Yi(D,R)}}const Vn="ngNavigationCancelingError";function nr(m,b){const{redirectTo:p,navigationBehaviorOptions:D}=Cn(b)?{redirectTo:b,navigationBehaviorOptions:void 0}:b,R=ir(!1,0,b);return R.url=p,R.navigationBehaviorOptions=D,R}function ir(m,b,p){const D=new Error("NavigationCancelingError: "+(m||""));return D[Vn]=!0,D.cancellationCode=b,p&&(D.url=p),D}function Zr(m){return m&&m[Vn]}let ws=(()=>{class m{static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275cmp=r.VBU({type:m,selectors:[["ng-component"]],standalone:!0,features:[r.aNF],decls:1,vars:0,template:function(D,R){1&D&&r.nrm(0,"router-outlet")},dependencies:[Ln],encapsulation:2})}}return m})();function pr(m){const b=m.children&&m.children.map(pr),p=b?{...m,children:b}:{...m};return!p.component&&!p.loadComponent&&(b||p.loadChildren)&&p.outlet&&p.outlet!==rt&&(p.component=ws),p}function fi(m){return m.outlet||rt}function Lr(m){if(!m)return null;if(m.routeConfig?._injector)return m.routeConfig._injector;for(let b=m.parent;b;b=b.parent){const p=b.routeConfig;if(p?._loadedInjector)return p._loadedInjector;if(p?._injector)return p._injector}return null}class rr{constructor(b,p,D,R,U){this.routeReuseStrategy=b,this.futureState=p,this.currState=D,this.forwardEvent=R,this.inputBindingEnabled=U}activate(b){const p=this.futureState._root,D=this.currState?this.currState._root:null;this.deactivateChildRoutes(p,D,b),Yr(this.futureState.root),this.activateChildRoutes(p,D,b)}deactivateChildRoutes(b,p,D){const R=Mr(p);b.children.forEach(U=>{const Z=U.value.outlet;this.deactivateRoutes(U,R[Z],D),delete R[Z]}),Object.values(R).forEach(U=>{this.deactivateRouteAndItsChildren(U,D)})}deactivateRoutes(b,p,D){const R=b.value,U=p?p.value:null;if(R===U)if(R.component){const Z=D.getContext(R.outlet);Z&&this.deactivateChildRoutes(b,p,Z.children)}else this.deactivateChildRoutes(b,p,D);else U&&this.deactivateRouteAndItsChildren(p,D)}deactivateRouteAndItsChildren(b,p){b.value.component&&this.routeReuseStrategy.shouldDetach(b.value.snapshot)?this.detachAndStoreRouteSubtree(b,p):this.deactivateRouteAndOutlet(b,p)}detachAndStoreRouteSubtree(b,p){const D=p.getContext(b.value.outlet),R=D&&b.value.component?D.children:p,U=Mr(b);for(const Z of Object.keys(U))this.deactivateRouteAndItsChildren(U[Z],R);if(D&&D.outlet){const Z=D.outlet.detach(),Ze=D.children.onOutletDeactivated();this.routeReuseStrategy.store(b.value.snapshot,{componentRef:Z,route:b,contexts:Ze})}}deactivateRouteAndOutlet(b,p){const D=p.getContext(b.value.outlet),R=D&&b.value.component?D.children:p,U=Mr(b);for(const Z of Object.keys(U))this.deactivateRouteAndItsChildren(U[Z],R);D&&(D.outlet&&(D.outlet.deactivate(),D.children.onOutletDeactivated()),D.attachRef=null,D.route=null)}activateChildRoutes(b,p,D){const R=Mr(p);b.children.forEach(U=>{this.activateRoutes(U,R[U.value.outlet],D),this.forwardEvent(new ys(U.value.snapshot))}),b.children.length&&this.forwardEvent(new ss(b.value.snapshot))}activateRoutes(b,p,D){const R=b.value,U=p?p.value:null;if(Yr(R),R===U)if(R.component){const Z=D.getOrCreateContext(R.outlet);this.activateChildRoutes(b,p,Z.children)}else this.activateChildRoutes(b,p,D);else if(R.component){const Z=D.getOrCreateContext(R.outlet);if(this.routeReuseStrategy.shouldAttach(R.snapshot)){const Ze=this.routeReuseStrategy.retrieve(R.snapshot);this.routeReuseStrategy.store(R.snapshot,null),Z.children.onOutletReAttached(Ze.contexts),Z.attachRef=Ze.componentRef,Z.route=Ze.route.value,Z.outlet&&Z.outlet.attach(Ze.componentRef,Ze.route.value),Yr(Ze.route.value),this.activateChildRoutes(b,null,Z.children)}else{const Ze=Lr(R.snapshot);Z.attachRef=null,Z.route=R,Z.injector=Ze,Z.outlet&&Z.outlet.activateWith(R,Z.injector),this.activateChildRoutes(b,null,Z.children)}}else this.activateChildRoutes(b,null,D)}}class Ts{constructor(b){this.path=b,this.route=this.path[this.path.length-1]}}class Ji{constructor(b,p){this.component=b,this.route=p}}function Br(m,b,p){const D=m._root;return gi(D,b?b._root:null,p,[D.value])}function Ms(m,b){const p=Symbol(),D=b.get(m,p);return D===p?"function"!=typeof m||(0,r.LfX)(m)?b.get(m):m:D}function gi(m,b,p,D,R={canDeactivateChecks:[],canActivateChecks:[]}){const U=Mr(b);return m.children.forEach(Z=>{(function Ii(m,b,p,D,R={canDeactivateChecks:[],canActivateChecks:[]}){const U=m.value,Z=b?b.value:null,Ze=p?p.getContext(m.value.outlet):null;if(Z&&U.routeConfig===Z.routeConfig){const Ke=function Ss(m,b,p){if("function"==typeof p)return p(m,b);switch(p){case"pathParamsChange":return!pn(m.url,b.url);case"pathParamsOrQueryParamsChange":return!pn(m.url,b.url)||!Ft(m.queryParams,b.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Fr(m,b)||!Ft(m.queryParams,b.queryParams);default:return!Fr(m,b)}}(Z,U,U.routeConfig.runGuardsAndResolvers);Ke?R.canActivateChecks.push(new Ts(D)):(U.data=Z.data,U._resolvedData=Z._resolvedData),gi(m,b,U.component?Ze?Ze.children:null:p,D,R),Ke&&Ze&&Ze.outlet&&Ze.outlet.isActivated&&R.canDeactivateChecks.push(new Ji(Ze.outlet.component,Z))}else Z&&ji(b,Ze,R),R.canActivateChecks.push(new Ts(D)),gi(m,null,U.component?Ze?Ze.children:null:p,D,R)})(Z,U[Z.value.outlet],p,D.concat([Z.value]),R),delete U[Z.value.outlet]}),Object.entries(U).forEach(([Z,Ze])=>ji(Ze,p.getContext(Z),R)),R}function ji(m,b,p){const D=Mr(m),R=m.value;Object.entries(D).forEach(([U,Z])=>{ji(Z,R.component?b?b.children.getContext(U):null:b,p)}),p.canDeactivateChecks.push(new Ji(R.component&&b&&b.outlet&&b.outlet.isActivated?b.outlet.component:null,R))}function Or(m){return"function"==typeof m}function an(m){return m instanceof Re.G||"EmptyError"===m?.name}const zi=Symbol("INITIAL_VALUE");function yr(){return(0,et.n)(m=>(0,W.z)(m.map(b=>b.pipe((0,ht.s)(1),(0,je.Z)(zi)))).pipe((0,Be.T)(b=>{for(const p of b)if(!0!==p){if(p===zi)return zi;if(!1===p||p instanceof Dt)return p}return!0}),(0,lt.p)(b=>b!==zi),(0,ht.s)(1)))}function Ws(m){return(0,Ue.F)((0,Ye.M)(b=>{if(Cn(b))throw nr(0,b)}),(0,Be.T)(b=>!0===b))}class qr{constructor(b){this.segmentGroup=b||null}}class Zo{constructor(b){this.urlTree=b}}function Ki(m){return(0,ae.$)(new qr(m))}function or(m){return(0,ae.$)(new Zo(m))}class Ni{constructor(b,p){this.urlSerializer=b,this.urlTree=p}noMatchError(b){return new r.wOt(4002,!1)}lineralizeSegments(b,p){let D=[],R=p.root;for(;;){if(D=D.concat(R.segments),0===R.numberOfChildren)return(0,Y.of)(D);if(R.numberOfChildren>1||!R.children[rt])return(0,ae.$)(new r.wOt(4e3,!1));R=R.children[rt]}}applyRedirectCommands(b,p,D){return this.applyRedirectCreateUrlTree(p,this.urlSerializer.parse(p),b,D)}applyRedirectCreateUrlTree(b,p,D,R){const U=this.createSegmentGroup(b,p.root,D,R);return new Dt(U,this.createQueryParams(p.queryParams,this.urlTree.queryParams),p.fragment)}createQueryParams(b,p){const D={};return Object.entries(b).forEach(([R,U])=>{if("string"==typeof U&&U.startsWith(":")){const Ze=U.substring(1);D[R]=p[Ze]}else D[R]=U}),D}createSegmentGroup(b,p,D,R){const U=this.createSegments(b,p.segments,D,R);let Z={};return Object.entries(p.children).forEach(([Ze,Ke])=>{Z[Ze]=this.createSegmentGroup(b,Ke,D,R)}),new St(U,Z)}createSegments(b,p,D,R){return p.map(U=>U.path.startsWith(":")?this.findPosParam(b,U,R):this.findOrReturn(U,D))}findPosParam(b,p,D){const R=D[p.path.substring(1)];if(!R)throw new r.wOt(4001,!1);return R}findOrReturn(b,p){let D=0;for(const R of p){if(R.path===b.path)return p.splice(D),R;D++}return b}}const us={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function qi(m,b,p,D,R){const U=ks(m,b,p);return U.matched?(D=function vr(m,b){return m.providers&&!m._injector&&(m._injector=(0,r.Ol2)(m.providers,b,`Route: ${m.path}`)),m._injector??b}(b,D),function so(m,b,p,D){const R=b.canMatch;if(!R||0===R.length)return(0,Y.of)(!0);const U=R.map(Z=>{const Ze=Ms(Z,m);return F(function j(m){return m&&Or(m.canMatch)}(Ze)?Ze.canMatch(b,p):m.runInContext(()=>Ze(b,p)))});return(0,Y.of)(U).pipe(yr(),Ws())}(D,b,p).pipe((0,Be.T)(Z=>!0===Z?U:{...us}))):(0,Y.of)(U)}function ks(m,b,p){if(""===b.path)return"full"===b.pathMatch&&(m.hasChildren()||p.length>0)?{...us}:{matched:!0,consumedSegments:[],remainingSegments:p,parameters:{},positionalParamSegments:{}};const R=(b.matcher||tn)(p,m,b);if(!R)return{...us};const U={};Object.entries(R.posParams??{}).forEach(([Ze,Ke])=>{U[Ze]=Ke.path});const Z=R.consumed.length>0?{...U,...R.consumed[R.consumed.length-1].parameters}:U;return{matched:!0,consumedSegments:R.consumed,remainingSegments:p.slice(R.consumed.length),parameters:Z,positionalParamSegments:R.posParams??{}}}function oo(m,b,p,D){return p.length>0&&function lo(m,b,p){return p.some(D=>Is(m,b,D)&&fi(D)!==rt)}(m,p,D)?{segmentGroup:new St(b,xo(D,new St(p,m.children))),slicedSegments:[]}:0===p.length&&function Po(m,b,p){return p.some(D=>Is(m,b,D))}(m,p,D)?{segmentGroup:new St(m.segments,ao(m,0,p,D,m.children)),slicedSegments:p}:{segmentGroup:new St(m.segments,m.children),slicedSegments:p}}function ao(m,b,p,D,R){const U={};for(const Z of D)if(Is(m,p,Z)&&!R[fi(Z)]){const Ze=new St([],{});U[fi(Z)]=Ze}return{...R,...U}}function xo(m,b){const p={};p[rt]=b;for(const D of m)if(""===D.path&&fi(D)!==rt){const R=new St([],{});p[fi(D)]=R}return p}function Is(m,b,p){return(!(m.hasChildren()||b.length>0)||"full"!==p.pathMatch)&&""===p.path}class co{constructor(b,p,D,R,U,Z,Ze){this.injector=b,this.configLoader=p,this.rootComponentType=D,this.config=R,this.urlTree=U,this.paramsInheritanceStrategy=Z,this.urlSerializer=Ze,this.allowRedirects=!0,this.applyRedirects=new Ni(this.urlSerializer,this.urlTree)}noMatchError(b){return new r.wOt(4002,!1)}recognize(){const b=oo(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,b,rt).pipe((0,ne.W)(p=>{if(p instanceof Zo)return this.allowRedirects=!1,this.urlTree=p.urlTree,this.match(p.urlTree);throw p instanceof qr?this.noMatchError(p):p}),(0,Be.T)(p=>{const D=new hi([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},rt,this.rootComponentType,null,{}),R=new Yi(D,p),U=new Xr("",R),Z=function Le(m,b,p=null,D=null){return ye(q(m),b,p,D)}(D,[],this.urlTree.queryParams,this.urlTree.fragment);return Z.queryParams=this.urlTree.queryParams,U.url=this.urlSerializer.serialize(Z),this.inheritParamsAndData(U._root),{state:U,tree:Z}}))}match(b){return this.processSegmentGroup(this.injector,this.config,b.root,rt).pipe((0,ne.W)(D=>{throw D instanceof qr?this.noMatchError(D):D}))}inheritParamsAndData(b){const p=b.value,D=di(p,this.paramsInheritanceStrategy);p.params=Object.freeze(D.params),p.data=Object.freeze(D.data),b.children.forEach(R=>this.inheritParamsAndData(R))}processSegmentGroup(b,p,D,R){return 0===D.segments.length&&D.hasChildren()?this.processChildren(b,p,D):this.processSegment(b,p,D,D.segments,R,!0)}processChildren(b,p,D){const R=[];for(const U of Object.keys(D.children))"primary"===U?R.unshift(U):R.push(U);return(0,Q.H)(R).pipe((0,Fe.H)(U=>{const Z=D.children[U],Ze=function on(m,b){const p=m.filter(D=>fi(D)===b);return p.push(...m.filter(D=>fi(D)!==b)),p}(p,U);return this.processSegmentGroup(b,Ze,Z,U)}),function $e(m,b){return(0,Ne.N)(function De(m,b,p,D,R){return(U,Z)=>{let Ze=p,Ke=b,At=0;U.subscribe((0,Qe._)(Z,un=>{const Xn=At++;Ke=Ze?m(Ke,un,Xn):(Ze=!0,un),D&&Z.next(Ke)},R&&(()=>{Ze&&Z.next(Ke),Z.complete()})))}}(m,b,arguments.length>=2,!0))}((U,Z)=>(U.push(...Z),U)),(0,mt.U)(null),function Oe(m,b){const p=arguments.length>=2;return D=>D.pipe(m?(0,lt.p)((R,U)=>m(R,U,D)):Ie.D,It(1),p?(0,mt.U)(b):(0,Ce.v)(()=>new Re.G))}(),(0,Ve.Z)(U=>{if(null===U)return Ki(D);const Z=Os(U);return function zs(m){m.sort((b,p)=>b.value.outlet===rt?-1:p.value.outlet===rt?1:b.value.outlet.localeCompare(p.value.outlet))}(Z),(0,Y.of)(Z)}))}processSegment(b,p,D,R,U,Z){return(0,Q.H)(p).pipe((0,Fe.H)(Ze=>this.processSegmentAgainstRoute(Ze._injector??b,p,Ze,D,R,U,Z).pipe((0,ne.W)(Ke=>{if(Ke instanceof qr)return(0,Y.of)(null);throw Ke}))),(0,He.$)(Ze=>!!Ze),(0,ne.W)(Ze=>{if(an(Ze))return function ko(m,b,p){return 0===b.length&&!m.children[p]}(D,R,U)?(0,Y.of)([]):Ki(D);throw Ze}))}processSegmentAgainstRoute(b,p,D,R,U,Z,Ze){return function Fo(m,b,p,D){return!!(fi(m)===D||D!==rt&&Is(b,p,m))&&("**"===m.path||ks(b,m,p).matched)}(D,R,U,Z)?void 0===D.redirectTo?this.matchSegmentAgainstRoute(b,R,D,U,Z,Ze):Ze&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(b,R,p,D,U,Z):Ki(R):Ki(R)}expandSegmentAgainstRouteUsingRedirect(b,p,D,R,U,Z){return"**"===R.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(b,D,R,Z):this.expandRegularSegmentAgainstRouteUsingRedirect(b,p,D,R,U,Z)}expandWildCardWithParamsAgainstRouteUsingRedirect(b,p,D,R){const U=this.applyRedirects.applyRedirectCommands([],D.redirectTo,{});return D.redirectTo.startsWith("/")?or(U):this.applyRedirects.lineralizeSegments(D,U).pipe((0,Ve.Z)(Z=>{const Ze=new St(Z,{});return this.processSegment(b,p,Ze,Z,R,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(b,p,D,R,U,Z){const{matched:Ze,consumedSegments:Ke,remainingSegments:At,positionalParamSegments:un}=ks(p,R,U);if(!Ze)return Ki(p);const Xn=this.applyRedirects.applyRedirectCommands(Ke,R.redirectTo,un);return R.redirectTo.startsWith("/")?or(Xn):this.applyRedirects.lineralizeSegments(R,Xn).pipe((0,Ve.Z)(xn=>this.processSegment(b,D,p,xn.concat(At),Z,!1)))}matchSegmentAgainstRoute(b,p,D,R,U,Z){let Ze;if("**"===D.path){const Ke=R.length>0?Ee(R).parameters:{},At=new hi(R,Ke,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,_a(D),fi(D),D.component??D._loadedComponent??null,D,B(D));Ze=(0,Y.of)({snapshot:At,consumedSegments:[],remainingSegments:[]}),p.children={}}else Ze=qi(p,D,R,b).pipe((0,Be.T)(({matched:Ke,consumedSegments:At,remainingSegments:un,parameters:Xn})=>Ke?{snapshot:new hi(At,Xn,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,_a(D),fi(D),D.component??D._loadedComponent??null,D,B(D)),consumedSegments:At,remainingSegments:un}:null));return Ze.pipe((0,et.n)(Ke=>null===Ke?Ki(p):this.getChildConfig(b=D._injector??b,D,R).pipe((0,et.n)(({routes:At})=>{const un=D._loadedInjector??b,{snapshot:Xn,consumedSegments:xn,remainingSegments:Ns}=Ke,{segmentGroup:fo,slicedSegments:Xs}=oo(p,xn,Ns,At);if(0===Xs.length&&fo.hasChildren())return this.processChildren(un,At,fo).pipe((0,Be.T)(ds=>null===ds?null:[new Yi(Xn,ds)]));if(0===At.length&&0===Xs.length)return(0,Y.of)([new Yi(Xn,[])]);const Bo=fi(D)===U;return this.processSegment(un,At,fo,Xs,Bo?rt:U,!0).pipe((0,Be.T)(ds=>[new Yi(Xn,ds)]))}))))}getChildConfig(b,p,D){return p.children?(0,Y.of)({routes:p.children,injector:b}):p.loadChildren?void 0!==p._loadedRoutes?(0,Y.of)({routes:p._loadedRoutes,injector:p._loadedInjector}):function No(m,b,p,D){const R=b.canLoad;if(void 0===R||0===R.length)return(0,Y.of)(!0);const U=R.map(Z=>{const Ze=Ms(Z,m);return F(function cs(m){return m&&Or(m.canLoad)}(Ze)?Ze.canLoad(b,p):m.runInContext(()=>Ze(b,p)))});return(0,Y.of)(U).pipe(yr(),Ws())}(b,p,D).pipe((0,Ve.Z)(R=>R?this.configLoader.loadChildren(b,p).pipe((0,Ye.M)(U=>{p._loadedRoutes=U.routes,p._loadedInjector=U.injector})):function br(m){return(0,ae.$)(ir(!1,3))}())):(0,Y.of)({routes:[],injector:b})}}function Ks(m){const b=m.value.routeConfig;return b&&""===b.path}function Os(m){const b=[],p=new Set;for(const D of m){if(!Ks(D)){b.push(D);continue}const R=b.find(U=>D.value.routeConfig===U.value.routeConfig);void 0!==R?(R.children.push(...D.children),p.add(R)):b.push(D)}for(const D of p){const R=Os(D.children);b.push(new Yi(D.value,R))}return b.filter(D=>!p.has(D))}function _a(m){return m.data||{}}function B(m){return m.resolve||{}}function me(m){return"string"==typeof m.title||null===m.title}function h(m){return(0,et.n)(b=>{const p=m(b);return p?(0,Q.H)(p).pipe((0,Be.T)(()=>b)):(0,Y.of)(b)})}const I=new r.nKC("ROUTES");let E=(()=>{class m{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,r.WQX)(r.Ql9)}loadComponent(p){if(this.componentLoaders.get(p))return this.componentLoaders.get(p);if(p._loadedComponent)return(0,Y.of)(p._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(p);const D=F(p.loadComponent()).pipe((0,Be.T)(Se),(0,Ye.M)(U=>{this.onLoadEndListener&&this.onLoadEndListener(p),p._loadedComponent=U}),(0,xe.j)(()=>{this.componentLoaders.delete(p)})),R=new _t(D,()=>new We.B).pipe(it());return this.componentLoaders.set(p,R),R}loadChildren(p,D){if(this.childrenLoaders.get(D))return this.childrenLoaders.get(D);if(D._loadedRoutes)return(0,Y.of)({routes:D._loadedRoutes,injector:D._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(D);const U=function A(m,b,p,D){return F(m.loadChildren()).pipe((0,Be.T)(Se),(0,Ve.Z)(R=>R instanceof r.Co$||Array.isArray(R)?(0,Y.of)(R):(0,Q.H)(b.compileModuleAsync(R))),(0,Be.T)(R=>{D&&D(m);let U,Z,Ze=!1;return Array.isArray(R)?(Z=R,!0):(U=R.create(p).injector,Z=U.get(I,[],{optional:!0,self:!0}).flat()),{routes:Z.map(pr),injector:U}}))}(D,this.compiler,p,this.onLoadEndListener).pipe((0,xe.j)(()=>{this.childrenLoaders.delete(D)})),Z=new _t(U,()=>new We.B).pipe(it());return this.childrenLoaders.set(D,Z),Z}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();function Se(m){return function K(m){return m&&"object"==typeof m&&"default"in m}(m)?m.default:m}let ke=(()=>{class m{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new We.B,this.transitionAbortSubject=new We.B,this.configLoader=(0,r.WQX)(E),this.environmentInjector=(0,r.WQX)(r.uvJ),this.urlSerializer=(0,r.WQX)(Nn),this.rootContexts=(0,r.WQX)(Kr),this.inputBindingEnabled=null!==(0,r.WQX)(Jt,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,Y.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=R=>this.events.next(new Cr(R)),this.configLoader.onLoadStartListener=R=>this.events.next(new js(R))}complete(){this.transitions?.complete()}handleNavigationRequest(p){const D=++this.navigationId;this.transitions?.next({...this.transitions.value,...p,id:D})}setupNavigations(p,D,R){return this.transitions=new le.t({id:0,currentUrlTree:D,currentRawUrl:D,currentBrowserUrl:D,extractedUrl:p.urlHandlingStrategy.extract(D),urlAfterRedirects:p.urlHandlingStrategy.extract(D),rawUrl:D,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:bi,restoredState:null,currentSnapshot:R.snapshot,targetSnapshot:null,currentRouterState:R,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,lt.p)(U=>0!==U.id),(0,Be.T)(U=>({...U,extractedUrl:p.urlHandlingStrategy.extract(U.rawUrl)})),(0,et.n)(U=>{this.currentTransition=U;let Z=!1,Ze=!1;return(0,Y.of)(U).pipe((0,Ye.M)(Ke=>{this.currentNavigation={id:Ke.id,initialUrl:Ke.rawUrl,extractedUrl:Ke.extractedUrl,trigger:Ke.source,extras:Ke.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),(0,et.n)(Ke=>{const At=Ke.currentBrowserUrl.toString(),un=!p.navigated||Ke.extractedUrl.toString()!==At||At!==Ke.currentUrlTree.toString();if(!un&&"reload"!==(Ke.extras.onSameUrlNavigation??p.onSameUrlNavigation)){const xn="";return this.events.next(new tr(Ke.id,this.urlSerializer.serialize(Ke.rawUrl),xn,0)),Ke.resolve(null),J.w}if(p.urlHandlingStrategy.shouldProcessUrl(Ke.rawUrl))return(0,Y.of)(Ke).pipe((0,et.n)(xn=>{const Ns=this.transitions?.getValue();return this.events.next(new Si(xn.id,this.urlSerializer.serialize(xn.extractedUrl),xn.source,xn.restoredState)),Ns!==this.transitions?.getValue()?J.w:Promise.resolve(xn)}),function f(m,b,p,D,R,U){return(0,Ve.Z)(Z=>function Jo(m,b,p,D,R,U,Z="emptyOnly"){return new co(m,b,p,D,R,Z,U).recognize()}(m,b,p,D,Z.extractedUrl,R,U).pipe((0,Be.T)(({state:Ze,tree:Ke})=>({...Z,targetSnapshot:Ze,urlAfterRedirects:Ke}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,p.config,this.urlSerializer,p.paramsInheritanceStrategy),(0,Ye.M)(xn=>{U.targetSnapshot=xn.targetSnapshot,U.urlAfterRedirects=xn.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:xn.urlAfterRedirects};const Ns=new Wr(xn.id,this.urlSerializer.serialize(xn.extractedUrl),this.urlSerializer.serialize(xn.urlAfterRedirects),xn.targetSnapshot);this.events.next(Ns)}));if(un&&p.urlHandlingStrategy.shouldProcessUrl(Ke.currentRawUrl)){const{id:xn,extractedUrl:Ns,source:fo,restoredState:Xs,extras:Bo}=Ke,ds=new Si(xn,this.urlSerializer.serialize(Ns),fo,Xs);this.events.next(ds);const il=Es(0,this.rootComponentType).snapshot;return this.currentTransition=U={...Ke,targetSnapshot:il,urlAfterRedirects:Ns,extras:{...Bo,skipLocationChange:!1,replaceUrl:!1}},(0,Y.of)(U)}{const xn="";return this.events.next(new tr(Ke.id,this.urlSerializer.serialize(Ke.extractedUrl),xn,1)),Ke.resolve(null),J.w}}),(0,Ye.M)(Ke=>{const At=new Us(Ke.id,this.urlSerializer.serialize(Ke.extractedUrl),this.urlSerializer.serialize(Ke.urlAfterRedirects),Ke.targetSnapshot);this.events.next(At)}),(0,Be.T)(Ke=>(this.currentTransition=U={...Ke,guards:Br(Ke.targetSnapshot,Ke.currentSnapshot,this.rootContexts)},U)),function Gs(m,b){return(0,Ve.Z)(p=>{const{targetSnapshot:D,currentSnapshot:R,guards:{canActivateChecks:U,canDeactivateChecks:Z}}=p;return 0===Z.length&&0===U.length?(0,Y.of)({...p,guardsResult:!0}):function Ja(m,b,p,D){return(0,Q.H)(m).pipe((0,Ve.Z)(R=>function ro(m,b,p,D,R){const U=b&&b.routeConfig?b.routeConfig.canDeactivate:null;if(!U||0===U.length)return(0,Y.of)(!0);const Z=U.map(Ze=>{const Ke=Lr(b)??R,At=Ms(Ze,Ke);return F(function C(m){return m&&Or(m.canDeactivate)}(At)?At.canDeactivate(m,b,p,D):Ke.runInContext(()=>At(m,b,p,D))).pipe((0,He.$)())});return(0,Y.of)(Z).pipe(yr())}(R.component,R.route,p,b,D)),(0,He.$)(R=>!0!==R,!0))}(Z,D,R,m).pipe((0,Ve.Z)(Ze=>Ze&&function sr(m){return"boolean"==typeof m}(Ze)?function qa(m,b,p,D){return(0,Q.H)(b).pipe((0,Fe.H)(R=>(0,ue.x)(function Fs(m,b){return null!==m&&b&&b(new rs(m)),(0,Y.of)(!0)}(R.route.parent,D),function pa(m,b){return null!==m&&b&&b(new Hi(m)),(0,Y.of)(!0)}(R.route,D),function ga(m,b,p){const D=b[b.length-1],U=b.slice(0,b.length-1).reverse().map(Z=>function pi(m){const b=m.routeConfig?m.routeConfig.canActivateChild:null;return b&&0!==b.length?{node:m,guards:b}:null}(Z)).filter(Z=>null!==Z).map(Z=>(0,re.v)(()=>{const Ze=Z.guards.map(Ke=>{const At=Lr(Z.node)??p,un=Ms(Ke,At);return F(function L(m){return m&&Or(m.canActivateChild)}(un)?un.canActivateChild(D,m):At.runInContext(()=>un(D,m))).pipe((0,He.$)())});return(0,Y.of)(Ze).pipe(yr())}));return(0,Y.of)(U).pipe(yr())}(m,R.path,p),function io(m,b,p){const D=b.routeConfig?b.routeConfig.canActivate:null;if(!D||0===D.length)return(0,Y.of)(!0);const R=D.map(U=>(0,re.v)(()=>{const Z=Lr(b)??p,Ze=Ms(U,Z);return F(function x(m){return m&&Or(m.canActivate)}(Ze)?Ze.canActivate(b,m):Z.runInContext(()=>Ze(b,m))).pipe((0,He.$)())}));return(0,Y.of)(R).pipe(yr())}(m,R.route,p))),(0,He.$)(R=>!0!==R,!0))}(D,U,m,b):(0,Y.of)(Ze)),(0,Be.T)(Ze=>({...p,guardsResult:Ze})))})}(this.environmentInjector,Ke=>this.events.next(Ke)),(0,Ye.M)(Ke=>{if(U.guardsResult=Ke.guardsResult,Cn(Ke.guardsResult))throw nr(0,Ke.guardsResult);const At=new to(Ke.id,this.urlSerializer.serialize(Ke.extractedUrl),this.urlSerializer.serialize(Ke.urlAfterRedirects),Ke.targetSnapshot,!!Ke.guardsResult);this.events.next(At)}),(0,lt.p)(Ke=>!!Ke.guardsResult||(this.cancelNavigationTransition(Ke,"",3),!1)),h(Ke=>{if(Ke.guards.canActivateChecks.length)return(0,Y.of)(Ke).pipe((0,Ye.M)(At=>{const un=new Ao(At.id,this.urlSerializer.serialize(At.extractedUrl),this.urlSerializer.serialize(At.urlAfterRedirects),At.targetSnapshot);this.events.next(un)}),(0,et.n)(At=>{let un=!1;return(0,Y.of)(At).pipe(function _(m,b){return(0,Ve.Z)(p=>{const{targetSnapshot:D,guards:{canActivateChecks:R}}=p;if(!R.length)return(0,Y.of)(p);let U=0;return(0,Q.H)(R).pipe((0,Fe.H)(Z=>function T(m,b,p,D){const R=m.routeConfig,U=m._resolve;return void 0!==R?.title&&!me(R)&&(U[ct]=R.title),function V(m,b,p,D){const R=function G(m){return[...Object.keys(m),...Object.getOwnPropertySymbols(m)]}(m);if(0===R.length)return(0,Y.of)({});const U={};return(0,Q.H)(R).pipe((0,Ve.Z)(Z=>function he(m,b,p,D){const R=Lr(b)??D,U=Ms(m,R);return F(U.resolve?U.resolve(b,p):R.runInContext(()=>U(b,p)))}(m[Z],b,p,D).pipe((0,He.$)(),(0,Ye.M)(Ze=>{U[Z]=Ze}))),It(1),(0,de.u)(U),(0,ne.W)(Z=>an(Z)?J.w:(0,ae.$)(Z)))}(U,m,b,D).pipe((0,Be.T)(Z=>(m._resolvedData=Z,m.data=di(m,p).resolve,R&&me(R)&&(m.data[ct]=R.title),null)))}(Z.route,D,m,b)),(0,Ye.M)(()=>U++),It(1),(0,Ve.Z)(Z=>U===R.length?(0,Y.of)(p):J.w))})}(p.paramsInheritanceStrategy,this.environmentInjector),(0,Ye.M)({next:()=>un=!0,complete:()=>{un||this.cancelNavigationTransition(At,"",2)}}))}),(0,Ye.M)(At=>{const un=new Vi(At.id,this.urlSerializer.serialize(At.extractedUrl),this.urlSerializer.serialize(At.urlAfterRedirects),At.targetSnapshot);this.events.next(un)}))}),h(Ke=>{const At=un=>{const Xn=[];un.routeConfig?.loadComponent&&!un.routeConfig._loadedComponent&&Xn.push(this.configLoader.loadComponent(un.routeConfig).pipe((0,Ye.M)(xn=>{un.component=xn}),(0,Be.T)(()=>{})));for(const xn of un.children)Xn.push(...At(xn));return Xn};return(0,W.z)(At(Ke.targetSnapshot.root)).pipe((0,mt.U)(),(0,ht.s)(1))}),h(()=>this.afterPreactivation()),(0,Be.T)(Ke=>{const At=function Ui(m,b,p){const D=ii(m,b._root,p?p._root:void 0);return new Pr(D,b)}(p.routeReuseStrategy,Ke.targetSnapshot,Ke.currentRouterState);return this.currentTransition=U={...Ke,targetRouterState:At},U}),(0,Ye.M)(()=>{this.events.next(new Ds)}),((m,b,p,D)=>(0,Be.T)(R=>(new rr(b,R.targetRouterState,R.currentRouterState,p,D).activate(m),R)))(this.rootContexts,p.routeReuseStrategy,Ke=>this.events.next(Ke),this.inputBindingEnabled),(0,ht.s)(1),(0,Ye.M)({next:Ke=>{Z=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Ai(Ke.id,this.urlSerializer.serialize(Ke.extractedUrl),this.urlSerializer.serialize(Ke.urlAfterRedirects))),p.titleStrategy?.updateTitle(Ke.targetRouterState.snapshot),Ke.resolve(!0)},complete:()=>{Z=!0}}),(0,te.Q)(this.transitionAbortSubject.pipe((0,Ye.M)(Ke=>{throw Ke}))),(0,xe.j)(()=>{Z||Ze||this.cancelNavigationTransition(U,"",1),this.currentNavigation?.id===U.id&&(this.currentNavigation=null)}),(0,ne.W)(Ke=>{if(Ze=!0,Zr(Ke))this.events.next(new Kn(U.id,this.urlSerializer.serialize(U.extractedUrl),Ke.message,Ke.cancellationCode)),function Wt(m){return Zr(m)&&Cn(m.url)}(Ke)?this.events.next(new zr(Ke.url)):U.resolve(!1);else{this.events.next(new dr(U.id,this.urlSerializer.serialize(U.extractedUrl),Ke,U.targetSnapshot??void 0));try{U.resolve(p.errorHandler(Ke))}catch(At){U.reject(At)}}return J.w}))}))}cancelNavigationTransition(p,D,R){const U=new Kn(p.id,this.urlSerializer.serialize(p.extractedUrl),D,R);this.events.next(U),p.resolve(!1)}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();function dt(m){return m!==bi}let Xt=(()=>{class m{buildTitle(p){let D,R=p.root;for(;void 0!==R;)D=this.getResolvedTitleForRoute(R)??D,R=R.children.find(U=>U.outlet===rt);return D}getResolvedTitleForRoute(p){return p.data[ct]}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:function(){return(0,r.WQX)(nn)},providedIn:"root"})}}return m})(),nn=(()=>{class m extends Xt{constructor(p){super(),this.title=p}updateTitle(p){const D=this.buildTitle(p);void 0!==D&&this.title.setTitle(D)}static{this.\u0275fac=function(D){return new(D||m)(r.KVO(tt.hE))}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})(),kt=(()=>{class m{static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:function(){return(0,r.WQX)(mn)},providedIn:"root"})}}return m})();class Kt{shouldDetach(b){return!1}store(b,p){}shouldAttach(b){return!1}retrieve(b){return null}shouldReuseRoute(b,p){return b.routeConfig===p.routeConfig}}let mn=(()=>{class m extends Kt{static{this.\u0275fac=function(){let p;return function(R){return(p||(p=r.xGo(m)))(R||m)}}()}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();const ln=new r.nKC("",{providedIn:"root",factory:()=>({})});let sn=(()=>{class m{static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:function(){return(0,r.WQX)(_n)},providedIn:"root"})}}return m})(),_n=(()=>{class m{shouldProcessUrl(p){return!0}extract(p){return p}merge(p,D){return p}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();var Rn=function(m){return m[m.COMPLETE=0]="COMPLETE",m[m.FAILED=1]="FAILED",m[m.REDIRECTING=2]="REDIRECTING",m}(Rn||{});function Ri(m,b){m.events.pipe((0,lt.p)(p=>p instanceof Ai||p instanceof Kn||p instanceof dr||p instanceof tr),(0,Be.T)(p=>p instanceof Ai||p instanceof tr?Rn.COMPLETE:p instanceof Kn&&(0===p.code||1===p.code)?Rn.REDIRECTING:Rn.FAILED),(0,lt.p)(p=>p!==Rn.REDIRECTING),(0,ht.s)(1)).subscribe(()=>{b()})}function mi(m){throw m}function Vr(m,b,p){return b.parse("/")}const ar={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Ei={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Xi=(()=>{class m{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=(0,r.WQX)(r.H3F),this.isNgZoneEnabled=!1,this._events=new We.B,this.options=(0,r.WQX)(ln,{optional:!0})||{},this.pendingTasks=(0,r.WQX)(r.$K3),this.errorHandler=this.options.errorHandler||mi,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||Vr,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=(0,r.WQX)(sn),this.routeReuseStrategy=(0,r.WQX)(kt),this.titleStrategy=(0,r.WQX)(Xt),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=(0,r.WQX)(I,{optional:!0})?.flat()??[],this.navigationTransitions=(0,r.WQX)(ke),this.urlSerializer=(0,r.WQX)(Nn),this.location=(0,r.WQX)(_e.aZ),this.componentInputBindingEnabled=!!(0,r.WQX)(Jt,{optional:!0}),this.eventsSubscription=new fe.yU,this.isNgZoneEnabled=(0,r.WQX)(r.SKi)instanceof r.SKi&&r.SKi.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Dt,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=Es(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(p=>{this.lastSuccessfulId=p.id,this.currentPageId=this.browserPageId},p=>{this.console.warn(`Unhandled Navigation Error: ${p}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const p=this.navigationTransitions.events.subscribe(D=>{try{const{currentTransition:R}=this.navigationTransitions;if(null===R)return void(Rt(D)&&this._events.next(D));if(D instanceof Si)dt(R.source)&&(this.browserUrlTree=R.extractedUrl);else if(D instanceof tr)this.rawUrlTree=R.rawUrl;else if(D instanceof Wr){if("eager"===this.urlUpdateStrategy){if(!R.extras.skipLocationChange){const U=this.urlHandlingStrategy.merge(R.urlAfterRedirects,R.rawUrl);this.setBrowserUrl(U,R)}this.browserUrlTree=R.urlAfterRedirects}}else if(D instanceof Ds)this.currentUrlTree=R.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(R.urlAfterRedirects,R.rawUrl),this.routerState=R.targetRouterState,"deferred"===this.urlUpdateStrategy&&(R.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,R),this.browserUrlTree=R.urlAfterRedirects);else if(D instanceof Kn)0!==D.code&&1!==D.code&&(this.navigated=!0),(3===D.code||2===D.code)&&this.restoreHistory(R);else if(D instanceof zr){const U=this.urlHandlingStrategy.merge(D.url,R.currentRawUrl),Z={skipLocationChange:R.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||dt(R.source)};this.scheduleNavigation(U,bi,null,Z,{resolve:R.resolve,reject:R.reject,promise:R.promise})}D instanceof dr&&this.restoreHistory(R,!0),D instanceof Ai&&(this.navigated=!0),Rt(D)&&this._events.next(D)}catch(R){this.navigationTransitions.transitionAbortSubject.next(R)}});this.eventsSubscription.add(p)}resetRootComponentType(p){this.routerState.root.component=p,this.navigationTransitions.rootComponentType=p}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const p=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),bi,p)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(p=>{const D="popstate"===p.type?"popstate":"hashchange";"popstate"===D&&setTimeout(()=>{this.navigateToSyncWithBrowser(p.url,D,p.state)},0)}))}navigateToSyncWithBrowser(p,D,R){const U={replaceUrl:!0},Z=R?.navigationId?R:null;if(R){const Ke={...R};delete Ke.navigationId,delete Ke.\u0275routerPageId,0!==Object.keys(Ke).length&&(U.state=Ke)}const Ze=this.parseUrl(p);this.scheduleNavigation(Ze,D,Z,U)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(p){this.config=p.map(pr),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(p,D={}){const{relativeTo:R,queryParams:U,fragment:Z,queryParamsHandling:Ze,preserveFragment:Ke}=D,At=Ke?this.currentUrlTree.fragment:Z;let Xn,un=null;switch(Ze){case"merge":un={...this.currentUrlTree.queryParams,...U};break;case"preserve":un=this.currentUrlTree.queryParams;break;default:un=U||null}null!==un&&(un=this.removeEmptyProps(un));try{Xn=q(R?R.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof p[0]||!p[0].startsWith("/"))&&(p=[]),Xn=this.currentUrlTree.root}return ye(Xn,p,un,At??null)}navigateByUrl(p,D={skipLocationChange:!1}){const R=Cn(p)?p:this.parseUrl(p),U=this.urlHandlingStrategy.merge(R,this.rawUrlTree);return this.scheduleNavigation(U,bi,null,D)}navigate(p,D={skipLocationChange:!1}){return function va(m){for(let b=0;b{const U=p[R];return null!=U&&(D[R]=U),D},{})}scheduleNavigation(p,D,R,U,Z){if(this.disposed)return Promise.resolve(!1);let Ze,Ke,At;Z?(Ze=Z.resolve,Ke=Z.reject,At=Z.promise):At=new Promise((Xn,xn)=>{Ze=Xn,Ke=xn});const un=this.pendingTasks.add();return Ri(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(un))}),this.navigationTransitions.handleNavigationRequest({source:D,restoredState:R,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:p,extras:U,resolve:Ze,reject:Ke,promise:At,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),At.catch(Xn=>Promise.reject(Xn))}setBrowserUrl(p,D){const R=this.urlSerializer.serialize(p);if(this.location.isCurrentPathEqualTo(R)||D.extras.replaceUrl){const Z={...D.extras.state,...this.generateNgRouterState(D.id,this.browserPageId)};this.location.replaceState(R,"",Z)}else{const U={...D.extras.state,...this.generateNgRouterState(D.id,this.browserPageId+1)};this.location.go(R,"",U)}}restoreHistory(p,D=!1){if("computed"===this.canceledNavigationResolution){const U=this.currentPageId-this.browserPageId;0!==U?this.location.historyGo(U):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===U&&(this.resetState(p),this.browserUrlTree=p.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(D&&this.resetState(p),this.resetUrlToCurrentUrlTree())}resetState(p){this.routerState=p.currentRouterState,this.currentUrlTree=p.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,p.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(p,D){return"computed"===this.canceledNavigationResolution?{navigationId:p,\u0275routerPageId:D}:{navigationId:p}}static{this.\u0275fac=function(D){return new(D||m)}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();function Rt(m){return!(m instanceof Ds||m instanceof zr)}let jt=(()=>{class m{constructor(p,D,R,U,Z,Ze){this.router=p,this.route=D,this.tabIndexAttribute=R,this.renderer=U,this.el=Z,this.locationStrategy=Ze,this.href=null,this.commands=null,this.onChanges=new We.B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const Ke=Z.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===Ke||"area"===Ke,this.isAnchorElement?this.subscription=p.events.subscribe(At=>{At instanceof Ai&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(p){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",p)}ngOnChanges(p){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(p){null!=p?(this.commands=Array.isArray(p)?p:[p],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(p,D,R,U,Z){return!!(null===this.urlTree||this.isAnchorElement&&(0!==p||D||R||U||Z||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const p=null===this.href?null:(0,r.n$t)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",p)}applyAttributeValue(p,D){const R=this.renderer,U=this.el.nativeElement;null!==D?R.setAttribute(U,p,D):R.removeAttribute(U,p)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static{this.\u0275fac=function(D){return new(D||m)(r.rXU(Xi),r.rXU(jn),r.kS0("tabindex"),r.rXU(r.sFG),r.rXU(r.aKT),r.rXU(_e.hb))}}static{this.\u0275dir=r.FsC({type:m,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(D,R){1&D&&r.bIt("click",function(Z){return R.onClick(Z.button,Z.ctrlKey,Z.shiftKey,Z.altKey,Z.metaKey)}),2&D&&r.BMQ("target",R.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:["preserveFragment","preserveFragment",r.L39],skipLocationChange:["skipLocationChange","skipLocationChange",r.L39],replaceUrl:["replaceUrl","replaceUrl",r.L39],routerLink:"routerLink"},standalone:!0,features:[r.GFd,r.OA$]})}}return m})(),Zt=(()=>{class m{get isActive(){return this._isActive}constructor(p,D,R,U,Z){this.router=p,this.element=D,this.renderer=R,this.cdr=U,this.link=Z,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new r.bkB,this.routerEventsSubscription=p.events.subscribe(Ze=>{Ze instanceof Ai&&this.update()})}ngAfterContentInit(){(0,Y.of)(this.links.changes,(0,Y.of)(null)).pipe((0,Te.U)()).subscribe(p=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const p=[...this.links.toArray(),this.link].filter(D=>!!D).map(D=>D.onChanges);this.linkInputChangesSubscription=(0,Q.H)(p).pipe((0,Te.U)()).subscribe(D=>{this._isActive!==this.isLinkActive(this.router)(D)&&this.update()})}set routerLinkActive(p){const D=Array.isArray(p)?p:p.split(" ");this.classes=D.filter(R=>!!R)}ngOnChanges(p){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const p=this.hasActiveLinks();this._isActive!==p&&(this._isActive=p,this.cdr.markForCheck(),this.classes.forEach(D=>{p?this.renderer.addClass(this.element.nativeElement,D):this.renderer.removeClass(this.element.nativeElement,D)}),p&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(p))})}isLinkActive(p){const D=function Ht(m){return!!m.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return R=>!!R.urlTree&&p.isActive(R.urlTree,D)}hasActiveLinks(){const p=this.isLinkActive(this.router);return this.link&&p(this.link)||this.links.some(p)}static{this.\u0275fac=function(D){return new(D||m)(r.rXU(Xi),r.rXU(r.aKT),r.rXU(r.sFG),r.rXU(r.gRc),r.rXU(jt,8))}}static{this.\u0275dir=r.FsC({type:m,selectors:[["","routerLinkActive",""]],contentQueries:function(D,R,U){if(1&D&&r.wni(U,jt,5),2&D){let Z;r.mGM(Z=r.lsd())&&(R.links=Z)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[r.OA$]})}}return m})();class wi{}let As=(()=>{class m{constructor(p,D,R,U,Z){this.router=p,this.injector=R,this.preloadingStrategy=U,this.loader=Z}setUpPreloading(){this.subscription=this.router.events.pipe((0,lt.p)(p=>p instanceof Ai),(0,Fe.H)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(p,D){const R=[];for(const U of D){U.providers&&!U._injector&&(U._injector=(0,r.Ol2)(U.providers,p,`Route: ${U.path}`));const Z=U._injector??p,Ze=U._loadedInjector??Z;(U.loadChildren&&!U._loadedRoutes&&void 0===U.canLoad||U.loadComponent&&!U._loadedComponent)&&R.push(this.preloadConfig(Z,U)),(U.children||U._loadedRoutes)&&R.push(this.processRoutes(Ze,U.children??U._loadedRoutes))}return(0,Q.H)(R).pipe((0,Te.U)())}preloadConfig(p,D){return this.preloadingStrategy.preload(D,()=>{let R;R=D.loadChildren&&void 0===D.canLoad?this.loader.loadChildren(p,D):(0,Y.of)(null);const U=R.pipe((0,Ve.Z)(Z=>null===Z?(0,Y.of)(void 0):(D._loadedRoutes=Z.routes,D._loadedInjector=Z.injector,this.processRoutes(Z.injector??p,Z.routes))));if(D.loadComponent&&!D._loadedComponent){const Z=this.loader.loadComponent(D);return(0,Q.H)([U,Z]).pipe((0,Te.U)())}return U})}static{this.\u0275fac=function(D){return new(D||m)(r.KVO(Xi),r.KVO(r.Ql9),r.KVO(r.uvJ),r.KVO(wi),r.KVO(E))}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac,providedIn:"root"})}}return m})();const Wn=new r.nKC("");let Hr=(()=>{class m{constructor(p,D,R,U,Z={}){this.urlSerializer=p,this.transitions=D,this.viewportScroller=R,this.zone=U,this.options=Z,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},Z.scrollPositionRestoration=Z.scrollPositionRestoration||"disabled",Z.anchorScrolling=Z.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(p=>{p instanceof Si?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=p.navigationTrigger,this.restoredId=p.restoredState?p.restoredState.navigationId:0):p instanceof Ai?(this.lastId=p.id,this.scheduleScrollEvent(p,this.urlSerializer.parse(p.urlAfterRedirects).fragment)):p instanceof tr&&0===p.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(p,this.urlSerializer.parse(p.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(p=>{p instanceof bs&&(p.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(p.position):p.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(p.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(p,D){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new bs(p,"popstate"===this.lastSource?this.store[this.restoredId]:null,D))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static{this.\u0275fac=function(D){r.QTQ()}}static{this.\u0275prov=r.jDH({token:m,factory:m.\u0275fac})}}return m})();function er(m,b){return{\u0275kind:m,\u0275providers:b}}function ya(){const m=(0,r.WQX)(r.zZn);return b=>{const p=m.get(r.o8S);if(b!==p.components[0])return;const D=m.get(Xi),R=m.get(qo);1===m.get(Lo)&&D.initialNavigation(),m.get(tl,null,r.$GK.Optional)?.setUpPreloading(),m.get(Wn,null,r.$GK.Optional)?.init(),D.resetRootComponentType(p.componentTypes[0]),R.closed||(R.next(),R.complete(),R.unsubscribe())}}const qo=new r.nKC("",{factory:()=>new We.B}),Lo=new r.nKC("",{providedIn:"root",factory:()=>1}),tl=new r.nKC("");function ba(m){return er(0,[{provide:tl,useExisting:As},{provide:wi,useExisting:m}])}const tc=new r.nKC("ROUTER_FORROOT_GUARD"),Ea=[_e.aZ,{provide:Nn,useClass:vn},Xi,Kr,{provide:jn,useFactory:function Pi(m){return m.routerState.root},deps:[Xi]},E,[]];function nc(){return new r.NEm("Router",Xi)}let ic=(()=>{class m{constructor(p){}static forRoot(p,D){return{ngModule:m,providers:[Ea,[],{provide:I,multi:!0,useValue:p},{provide:tc,useFactory:Ca,deps:[[Xi,new r.Xx1,new r.kdw]]},{provide:ln,useValue:D||{}},D?.useHash?{provide:_e.hb,useClass:_e.fw}:{provide:_e.hb,useClass:_e.Sm},{provide:Wn,useFactory:()=>{const m=(0,r.WQX)(_e.Xr),b=(0,r.WQX)(r.SKi),p=(0,r.WQX)(ln),D=(0,r.WQX)(ke),R=(0,r.WQX)(Nn);return p.scrollOffset&&m.setOffset(p.scrollOffset),new Hr(R,D,m,b,p)}},D?.preloadingStrategy?ba(D.preloadingStrategy).\u0275providers:[],{provide:r.NEm,multi:!0,useFactory:nc},D?.initialNavigation?Oi(D):[],D?.bindToComponentInputs?er(8,[Bn,{provide:Jt,useExisting:Bn}]).\u0275providers:[],[{provide:ho,useFactory:ya},{provide:r.iLQ,multi:!0,useExisting:ho}]]}}static forChild(p){return{ngModule:m,providers:[{provide:I,multi:!0,useValue:p}]}}static{this.\u0275fac=function(D){return new(D||m)(r.KVO(tc,8))}}static{this.\u0275mod=r.$C({type:m})}static{this.\u0275inj=r.G2t({})}}return m})();function Ca(m){return"guarded"}function Oi(m){return["disabled"===m.initialNavigation?er(3,[{provide:r.hnV,multi:!0,useFactory:()=>{const b=(0,r.WQX)(Xi);return()=>{b.setUpLocationChangeListener()}}},{provide:Lo,useValue:2}]).\u0275providers:[],"enabledBlocking"===m.initialNavigation?er(2,[{provide:Lo,useValue:0},{provide:r.hnV,multi:!0,deps:[r.zZn],useFactory:b=>{const p=b.get(_e.hj,Promise.resolve());return()=>p.then(()=>new Promise(D=>{const R=b.get(Xi),U=b.get(qo);Ri(R,()=>{D(!0)}),b.get(ke).afterPreactivation=()=>(D(!0),U.closed?(0,Y.of)(void 0):U),R.initialNavigation()}))}}]).\u0275providers:[]]}const ho=new r.nKC("")},7552:(bt,Ae,O)=>{"use strict";O.d(Ae,{QU:()=>Ue,X7:()=>Re});var r=O(8699),P=O(177),se=O(6354),oe=O(1397),Q=O(9030),Y=O(7673),le=O(1626);const W=new r.nKC("JWT_OPTIONS");let Re=(()=>{class ae{constructor(fe=null){this.tokenGetter=fe&&fe.tokenGetter||function(){}}urlBase64Decode(fe){let Ne=fe.replace(/-/g,"+").replace(/_/g,"/");switch(Ne.length%4){case 0:break;case 2:Ne+="==";break;case 3:Ne+="=";break;default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(Ne)}b64decode(fe){let Qe="";if((fe=String(fe).replace(/=+$/,"")).length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let _t,We,it=0,_e=0;We=fe.charAt(_e++);~We&&(_t=it%4?64*_t+We:We,it++%4)?Qe+=String.fromCharCode(255&_t>>(-2*it&6)):0)We="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(We);return Qe}b64DecodeUnicode(fe){return decodeURIComponent(Array.prototype.map.call(this.b64decode(fe),Ne=>"%"+("00"+Ne.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(fe=this.tokenGetter()){return fe instanceof Promise?fe.then(Ne=>this._decodeToken(Ne)):this._decodeToken(fe)}_decodeToken(fe){if(!fe||""===fe)return null;const Ne=fe.split(".");if(3!==Ne.length)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");const Qe=this.urlBase64Decode(Ne[1]);if(!Qe)throw new Error("Cannot decode the token.");return JSON.parse(Qe)}getTokenExpirationDate(fe=this.tokenGetter()){return fe instanceof Promise?fe.then(Ne=>this._getTokenExpirationDate(Ne)):this._getTokenExpirationDate(fe)}_getTokenExpirationDate(fe){let Ne;if(Ne=this.decodeToken(fe),!Ne||!Ne.hasOwnProperty("exp"))return null;const Qe=new Date(0);return Qe.setUTCSeconds(Ne.exp),Qe}isTokenExpired(fe=this.tokenGetter(),Ne){return fe instanceof Promise?fe.then(Qe=>this._isTokenExpired(Qe,Ne)):this._isTokenExpired(fe,Ne)}_isTokenExpired(fe,Ne){if(!fe||""===fe)return!0;const Qe=this.getTokenExpirationDate(fe);return Ne=Ne||0,null!==Qe&&!(Qe.valueOf()>(new Date).valueOf()+1e3*Ne)}getAuthScheme(fe,Ne){return"function"==typeof fe?fe(Ne):fe}}return ae.\u0275fac=function(fe){return new(fe||ae)(r.KVO(W))},ae.\u0275prov=r.jDH({token:ae,factory:ae.\u0275fac}),ae})();const ue=ae=>ae instanceof Promise?(0,Q.v)(()=>ae):(0,Y.of)(ae);let re=(()=>{class ae{constructor(fe,Ne,Qe){this.jwtHelper=Ne,this.document=Qe,this.standardPorts=["80","443"],this.tokenGetter=fe.tokenGetter,this.headerName=fe.headerName||"Authorization",this.authScheme=fe.authScheme||""===fe.authScheme?fe.authScheme:"Bearer ",this.allowedDomains=fe.allowedDomains||[],this.disallowedRoutes=fe.disallowedRoutes||[],this.throwNoTokenError=fe.throwNoTokenError||!1,this.skipWhenExpired=fe.skipWhenExpired}isAllowedDomain(fe){const Ne=new URL(fe.url,this.document.location.origin);if(Ne.host===this.document.location.host)return!0;const Qe=`${Ne.hostname}${Ne.port&&!this.standardPorts.includes(Ne.port)?":"+Ne.port:""}`;return this.allowedDomains.findIndex(it=>"string"==typeof it?it===Qe:it instanceof RegExp&&it.test(Qe))>-1}isDisallowedRoute(fe){const Ne=new URL(fe.url,this.document.location.origin);return this.disallowedRoutes.findIndex(Qe=>{if("string"==typeof Qe){const it=new URL(Qe,this.document.location.origin);return it.hostname===Ne.hostname&&it.pathname===Ne.pathname}return Qe instanceof RegExp&&Qe.test(fe.url)})>-1}handleInterception(fe,Ne,Qe){const it=this.jwtHelper.getAuthScheme(this.authScheme,Ne);if(!fe&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let _t=(0,Y.of)(!1);return this.skipWhenExpired&&(_t=fe?ue(this.jwtHelper.isTokenExpired(fe)):(0,Y.of)(!0)),fe?_t.pipe((0,se.T)(We=>We&&this.skipWhenExpired?Ne.clone():Ne.clone({setHeaders:{[this.headerName]:`${it}${fe}`}})),(0,oe.Z)(We=>Qe.handle(We))):Qe.handle(Ne)}intercept(fe,Ne){if(!this.isAllowedDomain(fe)||this.isDisallowedRoute(fe))return Ne.handle(fe);const Qe=this.tokenGetter(fe);return ue(Qe).pipe((0,oe.Z)(it=>this.handleInterception(it,fe,Ne)))}}return ae.\u0275fac=function(fe){return new(fe||ae)(r.KVO(W),r.KVO(Re),r.KVO(P.qQ))},ae.\u0275prov=r.jDH({token:ae,factory:ae.\u0275fac}),ae})(),Ue=(()=>{class ae{constructor(fe){if(fe)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(fe){return{ngModule:ae,providers:[{provide:le.a7,useClass:re,multi:!0},fe.jwtOptionsProvider||{provide:W,useValue:fe.config},Re]}}}return ae.\u0275fac=function(fe){return new(fe||ae)(r.KVO(ae,12))},ae.\u0275mod=r.$C({type:ae}),ae.\u0275inj=r.G2t({}),ae})()},6803:(bt,Ae,O)=>{"use strict";O.d(Ae,{PQ:()=>yo,UA:()=>tl,WP:()=>ec,$R:()=>ba,r6:()=>Da,x7:()=>nl,tW:()=>Nr,_f:()=>Ea,Lw:()=>hl,Cv:()=>pt,oi:()=>Sn,iF:()=>ta,$G:()=>en,HC:()=>b,yB:()=>Ho,IQ:()=>yc,tg:()=>La,_H:()=>Fa,U0:()=>sa,zH:()=>Dc,do:()=>ka,cw:()=>Aa,Bq:()=>gh,LY:()=>wu,UN:()=>Xu,X9:()=>aa,Um:()=>pl,sy:()=>Go,Gx:()=>Mu,WA:()=>la,RI:()=>_h,Pv:()=>Ou,m_:()=>bh,RS:()=>wg,J0:()=>ua,s5:()=>Tc,c9:()=>bo,VR:()=>Do,md:()=>vl,n8:()=>Nc});var r=O(8699),P=O(1985),se=O(983),oe=O(7673),Q=O(1413),Y=O(8750),le=O(1397),W=O(7441),Re=O(8071),ue=O(6450);const re=["addListener","removeListener"],Ue=["addEventListener","removeEventListener"],ae=["on","off"];function J(a,v,s,l){if((0,Re.T)(s)&&(l=s,s=void 0),l)return J(a,v,s).pipe((0,ue.I)(l));const[u,S]=function it(a){return(0,Re.T)(a.addEventListener)&&(0,Re.T)(a.removeEventListener)}(a)?Ue.map(k=>ce=>a[k](v,ce,s)):function Ne(a){return(0,Re.T)(a.addListener)&&(0,Re.T)(a.removeListener)}(a)?re.map(fe(a,v)):function Qe(a){return(0,Re.T)(a.on)&&(0,Re.T)(a.off)}(a)?ae.map(fe(a,v)):[];if(!u&&(0,W.X)(a))return(0,le.Z)(k=>J(k,v,s))((0,Y.Tg)(a));if(!u)throw new TypeError("Invalid event target");return new P.c(k=>{const ce=(...we)=>k.next(1S(ce)})}function fe(a,v){return s=>l=>a[s](v,l)}var _t=O(1584);const{isArray:We}=Array;function _e(a){return 1===a.length&&We(a[0])?a[0]:a}var Be=O(4360);function et(...a){return 1===(a=_e(a)).length?(0,Y.Tg)(a[0]):new P.c(function ht(a){return v=>{let s=[];for(let l=0;s&&!v.closed&&l{if(s){for(let S=0;S{let u=s.map(()=>[]),S=s.map(()=>!1);l.add(()=>{u=S=null});for(let k=0;!l.closed&&k{if(u[k].push(ce),u.every(we=>we.length)){const we=u.map(Xe=>Xe.shift());l.next(v?v(...we):we),u.some((Xe,ze)=>!Xe.length&&S[ze])&&l.complete()}},()=>{S[k]=!0,!u[k].length&&l.complete()}));return()=>{u=S=null}}):se.w}var He=O(8793),Ye=O(6977),ne=O(5964),De=O(6697),$e=O(8141),mt=O(6354),It=O(9974),Ce=O(3669),Ie=O(5343);function Oe(...a){const v=(0,lt.ms)(a);return(0,It.N)((s,l)=>{const u=a.length,S=new Array(u);let k=a.map(()=>!1),ce=!1;for(let we=0;we{S[we]=Xe,!ce&&!k[we]&&(k[we]=!0,(ce=k.every(Ce.D))&&(k=null))},Ie.l));s.subscribe((0,Be._)(l,we=>{if(ce){const Xe=[we,...S];l.next(v?v(...Xe):Xe)}}))})}var de=O(1986),xe=O(5558),te=O(9172),Te=O(3294),tt=O(5245),rt=O(980),ct=O(177),Pt=O(9079),ft=O(9417),tn={left:"right",right:"left",bottom:"top",top:"bottom"};function Lt(a){return a.replace(/left|right|bottom|top/g,function(v){return tn[v]})}function Ft(a){return a.split("-")[0]}var ge={start:"end",end:"start"};function Ee(a){return a.replace(/start|end/g,function(v){return ge[v]})}var F="top",w="bottom",M="right",$="left",Me="auto",z=[F,w,M,$],pe="start",Je="end",Vt="viewport",Dt="popper",wn=z.reduce(function(a,v){return a.concat([v+"-"+pe,v+"-"+Je])},[]),rn=[].concat(z,[Me]).reduce(function(a,v){return a.concat([v,v+"-"+pe,v+"-"+Je])},[]),ai=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Qn(a){if(null==a)return window;if("[object Window]"!==a.toString()){var v=a.ownerDocument;return v&&v.defaultView||window}return a}function Yn(a){return a instanceof Qn(a).Element||a instanceof Element}function Un(a){return a instanceof Qn(a).HTMLElement||a instanceof HTMLElement}function li(a){return!(typeof ShadowRoot>"u")&&(a instanceof Qn(a).ShadowRoot||a instanceof ShadowRoot)}function yi(a){return((Yn(a)?a.ownerDocument:a.document)||window.document).documentElement}var Li=Math.max,mr=Math.min,qe=Math.round;function Ge(){var a=navigator.userAgentData;return null!=a&&a.brands&&Array.isArray(a.brands)?a.brands.map(function(v){return v.brand+"/"+v.version}).join(" "):navigator.userAgent}function ee(){return!/^((?!chrome|android).)*safari/i.test(Ge())}function ve(a,v,s){void 0===v&&(v=!1),void 0===s&&(s=!1);var l=a.getBoundingClientRect(),u=1,S=1;v&&Un(a)&&(u=a.offsetWidth>0&&qe(l.width)/a.offsetWidth||1,S=a.offsetHeight>0&&qe(l.height)/a.offsetHeight||1);var ce=(Yn(a)?Qn(a):window).visualViewport,we=!ee()&&s,Xe=(l.left+(we&&ce?ce.offsetLeft:0))/u,ze=(l.top+(we&&ce?ce.offsetTop:0))/S,Et=l.width/u,vt=l.height/S;return{width:Et,height:vt,top:ze,right:Xe+Et,bottom:ze+vt,left:Xe,x:Xe,y:ze}}function st(a){var v=Qn(a);return{scrollLeft:v.pageXOffset,scrollTop:v.pageYOffset}}function Ct(a){return ve(yi(a)).left+st(a).scrollLeft}function qt(a){return Qn(a).getComputedStyle(a)}function $t(a){return a?(a.nodeName||"").toLowerCase():null}function ei(a){return"html"===$t(a)?a:a.assignedSlot||a.parentNode||(li(a)?a.host:null)||yi(a)}function Cn(a){var v=qt(a);return/auto|scroll|overlay|hidden/.test(v.overflow+v.overflowY+v.overflowX)}function Le(a){return["html","body","#document"].indexOf($t(a))>=0?a.ownerDocument.body:Un(a)&&Cn(a)?a:Le(ei(a))}function q(a,v){var s;void 0===v&&(v=[]);var l=Le(a),u=l===(null==(s=a.ownerDocument)?void 0:s.body),S=Qn(l),k=u?[S].concat(S.visualViewport||[],Cn(l)?l:[]):l,ce=v.concat(k);return u?ce:ce.concat(q(ei(k)))}function ye(a){return["table","td","th"].indexOf($t(a))>=0}function at(a){return Un(a)&&"fixed"!==qt(a).position?a.offsetParent:null}function Tt(a){for(var v=Qn(a),s=at(a);s&&ye(s)&&"static"===qt(s).position;)s=at(s);return s&&("html"===$t(s)||"body"===$t(s)&&"static"===qt(s).position)?v:s||function yt(a){var v=/firefox/i.test(Ge());if(/Trident/i.test(Ge())&&Un(a)&&"fixed"===qt(a).position)return null;var u=ei(a);for(li(u)&&(u=u.host);Un(u)&&["html","body"].indexOf($t(u))<0;){var S=qt(u);if("none"!==S.transform||"none"!==S.perspective||"paint"===S.contain||-1!==["transform","perspective"].indexOf(S.willChange)||v&&"filter"===S.willChange||v&&S.filter&&"none"!==S.filter)return u;u=u.parentNode}return null}(a)||v}function Mt(a,v){var s=v.getRootNode&&v.getRootNode();if(a.contains(v))return!0;if(s&&li(s)){var l=v;do{if(l&&a.isSameNode(l))return!0;l=l.parentNode||l.host}while(l)}return!1}function Fn(a){return Object.assign({},a,{left:a.x,top:a.y,right:a.x+a.width,bottom:a.y+a.height})}function kn(a,v,s){return v===Vt?Fn(function Bt(a,v){var s=Qn(a),l=yi(a),u=s.visualViewport,S=l.clientWidth,k=l.clientHeight,ce=0,we=0;if(u){S=u.width,k=u.height;var Xe=ee();(Xe||!Xe&&"fixed"===v)&&(ce=u.offsetLeft,we=u.offsetTop)}return{width:S,height:k,x:ce+Ct(a),y:we}}(a,s)):Yn(v)?function Gt(a,v){var s=ve(a,!1,"fixed"===v);return s.top=s.top+a.clientTop,s.left=s.left+a.clientLeft,s.bottom=s.top+a.clientHeight,s.right=s.left+a.clientWidth,s.width=a.clientWidth,s.height=a.clientHeight,s.x=s.left,s.y=s.top,s}(v,s):Fn(function gn(a){var v,s=yi(a),l=st(a),u=null==(v=a.ownerDocument)?void 0:v.body,S=Li(s.scrollWidth,s.clientWidth,u?u.scrollWidth:0,u?u.clientWidth:0),k=Li(s.scrollHeight,s.clientHeight,u?u.scrollHeight:0,u?u.clientHeight:0),ce=-l.scrollLeft+Ct(a),we=-l.scrollTop;return"rtl"===qt(u||s).direction&&(ce+=Li(s.clientWidth,u?u.clientWidth:0)-S),{width:S,height:k,x:ce,y:we}}(yi(a)))}function zt(a){return a.split("-")[1]}function Bi(a){return["top","bottom"].indexOf(a)>=0?"x":"y"}function ci(a){var we,v=a.reference,s=a.element,l=a.placement,u=l?Ft(l):null,S=l?zt(l):null,k=v.x+v.width/2-s.width/2,ce=v.y+v.height/2-s.height/2;switch(u){case F:we={x:k,y:v.y-s.height};break;case w:we={x:k,y:v.y+v.height};break;case M:we={x:v.x+v.width,y:ce};break;case $:we={x:v.x-s.width,y:ce};break;default:we={x:v.x,y:v.y}}var Xe=u?Bi(u):null;if(null!=Xe){var ze="y"===Xe?"height":"width";switch(S){case pe:we[Xe]=we[Xe]-(v[ze]/2-s[ze]/2);break;case Je:we[Xe]=we[Xe]+(v[ze]/2-s[ze]/2)}}return we}function Mn(a){return Object.assign({},{top:0,right:0,bottom:0,left:0},a)}function ui(a,v){return v.reduce(function(s,l){return s[l]=a,s},{})}function Gi(a,v){void 0===v&&(v={});var l=v.placement,u=void 0===l?a.placement:l,S=v.strategy,k=void 0===S?a.strategy:S,ce=v.boundary,we=void 0===ce?"clippingParents":ce,Xe=v.rootBoundary,ze=void 0===Xe?Vt:Xe,Et=v.elementContext,vt=void 0===Et?Dt:Et,wt=v.altBoundary,hn=void 0!==wt&&wt,Dn=v.padding,Qt=void 0===Dn?0:Dn,Pn=Mn("number"!=typeof Qt?Qt:ui(Qt,z)),qn=a.rects.popper,En=a.elements[hn?vt===Dt?"reference":Dt:vt],On=function $n(a,v,s,l){var u="clippingParents"===v?function zn(a){var v=q(ei(a)),l=["absolute","fixed"].indexOf(qt(a).position)>=0&&Un(a)?Tt(a):a;return Yn(l)?v.filter(function(u){return Yn(u)&&Mt(u,l)&&"body"!==$t(u)}):[]}(a):[].concat(v),S=[].concat(u,[s]),ce=S.reduce(function(we,Xe){var ze=kn(a,Xe,l);return we.top=Li(ze.top,we.top),we.right=mr(ze.right,we.right),we.bottom=mr(ze.bottom,we.bottom),we.left=Li(ze.left,we.left),we},kn(a,S[0],l));return ce.width=ce.right-ce.left,ce.height=ce.bottom-ce.top,ce.x=ce.left,ce.y=ce.top,ce}(Yn(En)?En:En.contextElement||yi(a.elements.popper),we,ze,k),Gn=ve(a.elements.reference),Ci=ci({reference:Gn,element:qn,strategy:"absolute",placement:u}),Ti=Fn(Object.assign({},qn,Ci)),cr=vt===Dt?Ti:Gn,$i={top:On.top-cr.top+Pn.top,bottom:cr.bottom-On.bottom+Pn.bottom,left:On.left-cr.left+Pn.left,right:cr.right-On.right+Pn.right},Dr=a.modifiersData.offset;if(vt===Dt&&Dr){var Er=Dr[u];Object.keys($i).forEach(function(ur){var Ys=[M,w].indexOf(ur)>=0?1:-1,Eo=[F,w].indexOf(ur)>=0?"y":"x";$i[ur]+=Er[Eo]*Ys})}return $i}const Si={name:"flip",enabled:!0,phase:"main",fn:function ni(a){var v=a.state,s=a.options,l=a.name;if(!v.modifiersData[l]._skip){for(var u=s.mainAxis,S=void 0===u||u,k=s.altAxis,ce=void 0===k||k,we=s.fallbackPlacements,Xe=s.padding,ze=s.boundary,Et=s.rootBoundary,vt=s.altBoundary,wt=s.flipVariations,hn=void 0===wt||wt,Dn=s.allowedAutoPlacements,Qt=v.options.placement,Pn=Ft(Qt),qn=we||(Pn!==Qt&&hn?function bi(a){if(Ft(a)===Me)return[];var v=Lt(a);return[Ee(a),v,Ee(v)]}(Qt):[Lt(Qt)]),En=[Qt].concat(qn).reduce(function($r,ns){return $r.concat(Ft(ns)===Me?function ti(a,v){void 0===v&&(v={});var u=v.boundary,S=v.rootBoundary,k=v.padding,ce=v.flipVariations,we=v.allowedAutoPlacements,Xe=void 0===we?rn:we,ze=zt(v.placement),Et=ze?ce?wn:wn.filter(function(hn){return zt(hn)===ze}):z,vt=Et.filter(function(hn){return Xe.indexOf(hn)>=0});0===vt.length&&(vt=Et);var wt=vt.reduce(function(hn,Dn){return hn[Dn]=Gi(a,{placement:Dn,boundary:u,rootBoundary:S,padding:k})[Ft(Dn)],hn},{});return Object.keys(wt).sort(function(hn,Dn){return wt[hn]-wt[Dn]})}(v,{placement:ns,boundary:ze,rootBoundary:Et,padding:Xe,flipVariations:hn,allowedAutoPlacements:Dn}):ns)},[]),On=v.rects.reference,Gn=v.rects.popper,Ci=new Map,Ti=!0,cr=En[0],$i=0;$i=0,Eo=Ys?"width":"height",jr=Gi(v,{placement:Dr,boundary:ze,rootBoundary:Et,altBoundary:vt,padding:Xe}),gs=Ys?ur?M:$:ur?w:F;On[Eo]>Gn[Eo]&&(gs=Lt(gs));var Vs=Lt(gs),zo=[];if(S&&zo.push(jr[Er]<=0),ce&&zo.push(jr[gs]<=0,jr[Vs]<=0),zo.every(function($r){return $r})){cr=Dr,Ti=!1;break}Ci.set(Dr,zo)}if(Ti)for(var Pc=function(ns){var Ua=En.find(function(El){var Ko=Ci.get(El);if(Ko)return Ko.slice(0,ns).every(function(Fc){return Fc})});if(Ua)return cr=Ua,"break"},Ha=hn?3:1;Ha>0&&"break"!==Pc(Ha);Ha--);v.placement!==cr&&(v.modifiersData[l]._skip=!0,v.placement=cr,v.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Kn(a,v,s){return Li(a,mr(v,s))}function dr(a){var v=ve(a),s=a.offsetWidth,l=a.offsetHeight;return Math.abs(v.width-s)<=1&&(s=v.width),Math.abs(v.height-l)<=1&&(l=v.height),{x:a.offsetLeft,y:a.offsetTop,width:s,height:l}}const Us={name:"preventOverflow",enabled:!0,phase:"main",fn:function Wr(a){var v=a.state,s=a.options,l=a.name,u=s.mainAxis,S=void 0===u||u,k=s.altAxis,ce=void 0!==k&&k,vt=s.tether,wt=void 0===vt||vt,hn=s.tetherOffset,Dn=void 0===hn?0:hn,Qt=Gi(v,{boundary:s.boundary,rootBoundary:s.rootBoundary,padding:s.padding,altBoundary:s.altBoundary}),Pn=Ft(v.placement),In=zt(v.placement),qn=!In,En=Bi(Pn),On=function Ai(a){return"x"===a?"y":"x"}(En),Gn=v.modifiersData.popperOffsets,Ci=v.rects.reference,Ti=v.rects.popper,cr="function"==typeof Dn?Dn(Object.assign({},v.rects,{placement:v.placement})):Dn,$i="number"==typeof cr?{mainAxis:cr,altAxis:cr}:Object.assign({mainAxis:0,altAxis:0},cr),Dr=v.modifiersData.offset?v.modifiersData.offset[v.placement]:null,Er={x:0,y:0};if(Gn){if(S){var ur,Ys="y"===En?F:$,Eo="y"===En?w:M,jr="y"===En?"height":"width",gs=Gn[En],Vs=gs+Qt[Ys],zo=gs-Qt[Eo],bl=wt?-Ti[jr]/2:0,Pc=In===pe?Ci[jr]:Ti[jr],Ha=In===pe?-Ti[jr]:-Ci[jr],Dl=v.elements.arrow,$r=wt&&Dl?dr(Dl):{width:0,height:0},ns=v.modifiersData["arrow#persistent"]?v.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Ua=ns[Ys],El=ns[Eo],Ko=Kn(0,Ci[jr],$r[jr]),Fc=qn?Ci[jr]/2-bl-Ko-Ua-$i.mainAxis:Pc-Ko-Ua-$i.mainAxis,Hh=qn?-Ci[jr]/2+bl+Ko+El+$i.mainAxis:Ha+Ko+El+$i.mainAxis,kc=v.elements.arrow&&Tt(v.elements.arrow),Qu=kc?"y"===En?kc.clientTop||0:kc.clientLeft||0:0,Yu=null!=(ur=Dr?.[En])?ur:0,jh=gs+Hh-Yu,Zu=Kn(wt?mr(Vs,gs+Fc-Yu-Qu):Vs,gs,wt?Li(zo,jh):zo);Gn[En]=Zu,Er[En]=Zu-gs}if(ce){var ja,wo=Gn[On],Ga="y"===On?"height":"width",Lc=wo+Qt["x"===En?F:$],$h=wo-Qt["x"===En?w:M],Ju=-1!==[F,$].indexOf(Pn),Gh=null!=(ja=Dr?.[On])?ja:0,wl=Ju?Lc:wo-Ci[Ga]-Ti[Ga]-Gh+$i.altAxis,Cl=Ju?wo+Ci[Ga]+Ti[Ga]-Gh-$i.altAxis:$h,Wh=wt&&Ju?function tr(a,v,s){var l=Kn(a,v,s);return l>s?s:l}(wl,wo,Cl):Kn(wt?wl:Lc,wo,wt?Cl:$h);Gn[On]=Wh,Er[On]=Wh-wo}v.modifiersData[l]=Er}},requiresIfExists:["offset"]},js={name:"arrow",enabled:!0,phase:"main",fn:function Ao(a){var v,s=a.state,l=a.name,u=a.options,S=s.elements.arrow,k=s.modifiersData.popperOffsets,ce=Ft(s.placement),we=Bi(ce),ze=[$,M].indexOf(ce)>=0?"height":"width";if(S&&k){var Et=function(v,s){return Mn("number"!=typeof(v="function"==typeof v?v(Object.assign({},s.rects,{placement:s.placement})):v)?v:ui(v,z))}(u.padding,s),vt=dr(S),wt="y"===we?F:$,hn="y"===we?w:M,Dn=s.rects.reference[ze]+s.rects.reference[we]-k[we]-s.rects.popper[ze],Qt=k[we]-s.rects.reference[we],Pn=Tt(S),In=Pn?"y"===we?Pn.clientHeight||0:Pn.clientWidth||0:0,Gn=In/2-vt[ze]/2+(Dn/2-Qt/2),Ci=Kn(Et[wt],Gn,In-vt[ze]-Et[hn]);s.modifiersData[l]=((v={})[we]=Ci,v.centerOffset=Ci-Gn,v)}},effect:function Vi(a){var v=a.state,l=a.options.element,u=void 0===l?"[data-popper-arrow]":l;null!=u&&("string"==typeof u&&!(u=v.elements.popper.querySelector(u))||Mt(v.elements.popper,u)&&(v.elements.arrow=u))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Hi(a,v,s){void 0===s&&(s=!1);var l=Un(v),u=Un(v)&&function ss(a){var v=a.getBoundingClientRect(),s=qe(v.width)/a.offsetWidth||1,l=qe(v.height)/a.offsetHeight||1;return 1!==s||1!==l}(v),S=yi(v),k=ve(a,u,s),ce={scrollLeft:0,scrollTop:0},we={x:0,y:0};return(l||!l&&!s)&&(("body"!==$t(v)||Cn(S))&&(ce=function rs(a){return a!==Qn(a)&&Un(a)?function Cr(a){return{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}}(a):st(a)}(v)),Un(v)?((we=ve(v,!0)).x+=v.clientLeft,we.y+=v.clientTop):S&&(we.x=Ct(S))),{x:k.left+ce.scrollLeft-we.x,y:k.top+ce.scrollTop-we.y,width:k.width,height:k.height}}function ys(a){var v=new Map,s=new Set,l=[];function u(S){s.add(S.name),[].concat(S.requires||[],S.requiresIfExists||[]).forEach(function(ce){if(!s.has(ce)){var we=v.get(ce);we&&u(we)}}),l.push(S)}return a.forEach(function(S){v.set(S.name,S)}),a.forEach(function(S){s.has(S.name)||u(S)}),l}function Ds(a){var v;return function(){return v||(v=new Promise(function(s){Promise.resolve().then(function(){v=void 0,s(a())})})),v}}var no={placement:"bottom",modifiers:[],strategy:"absolute"};function os(){for(var a=arguments.length,v=new Array(a),s=0;s=0?-1:1,S="function"==typeof s?s(Object.assign({},v,{placement:a})):s,k=S[0],ce=S[1];return k=k||0,ce=(ce||0)*u,[$,M].indexOf(l)>=0?{x:ce,y:k}:{x:k,y:ce}}(Et,v.rects,S),ze},{}),ce=k[v.placement],Xe=ce.y;null!=v.modifiersData.popperOffsets&&(v.modifiersData.popperOffsets.x+=ce.x,v.modifiersData.popperOffsets.y+=Xe),v.modifiersData[l]=k}};function nr(a,v){if(1&a){const s=r.RV6();r.j41(0,"button",1),r.bIt("click",function(){r.eBV(s);const u=r.XpG();return r.Njj(u.close())}),r.k0s()}}const ir=["*"],ls=["ngbDatepickerDayView",""],kr=["month"],Zi=["year"];function ri(a,v){if(1&a&&(r.j41(0,"option",5),r.EFF(1),r.k0s()),2&a){const s=v.$implicit,l=r.XpG();r.Y8G("value",s),r.BMQ("aria-label",l.i18n.getMonthFullName(s,l.date.year)),r.R7$(1),r.JRh(l.i18n.getMonthShortName(s,l.date.year))}}function Jr(a,v){if(1&a&&(r.j41(0,"option",5),r.EFF(1),r.k0s()),2&a){const s=v.$implicit,l=r.XpG();r.Y8G("value",s),r.R7$(1),r.JRh(l.i18n.getYearNumerals(s))}}function hr(a,v){if(1&a){const s=r.RV6();r.j41(0,"ngb-datepicker-navigation-select",7),r.bIt("select",function(u){r.eBV(s);const S=r.XpG();return r.Njj(S.select.emit(u))}),r.k0s()}if(2&a){const s=r.XpG();r.Y8G("date",s.date)("disabled",s.disabled)("months",s.selectBoxes.months)("years",s.selectBoxes.years)}}function fr(a,v){1&a&&r.nrm(0,"div",11)}function pr(a,v){1&a&&r.nrm(0,"div",11)}function fi(a,v){if(1&a&&(r.DNE(0,fr,1,0,"div",9),r.j41(1,"div",10),r.EFF(2),r.k0s(),r.DNE(3,pr,1,0,"div",9)),2&a){const s=v.$implicit,l=v.index,u=r.XpG(2);r.Y8G("ngIf",l>0),r.R7$(2),r.SpI(" ",u.i18n.getMonthLabel(s.firstDate)," "),r.R7$(1),r.Y8G("ngIf",l!==u.months.length-1)}}function on(a,v){if(1&a&&r.DNE(0,fi,4,3,"ng-template",8),2&a){const s=r.XpG();r.Y8G("ngForOf",s.months)}}function Lr(a,v){if(1&a&&(r.j41(0,"div",5),r.EFF(1),r.k0s()),2&a){const s=r.XpG(2);r.R7$(1),r.JRh(s.i18n.getWeekLabel())}}function Cs(a,v){if(1&a&&(r.j41(0,"div",6),r.EFF(1),r.k0s()),2&a){const s=v.$implicit;r.R7$(1),r.JRh(s)}}function $s(a,v){if(1&a&&(r.j41(0,"div",2),r.DNE(1,Lr,2,1,"div",3),r.DNE(2,Cs,2,1,"div",4),r.k0s()),2&a){const s=r.XpG();r.R7$(1),r.Y8G("ngIf",s.datepicker.showWeekNumbers),r.R7$(1),r.Y8G("ngForOf",s.viewModel.weekdays)}}function rr(a,v){if(1&a&&(r.j41(0,"div",11),r.EFF(1),r.k0s()),2&a){const s=r.XpG(2).$implicit,l=r.XpG();r.R7$(1),r.JRh(l.i18n.getWeekNumerals(s.number))}}function Ts(a,v){}function Ji(a,v){if(1&a&&r.DNE(0,Ts,0,0,"ng-template",14),2&a){const s=r.XpG().$implicit,l=r.XpG(3);r.Y8G("ngTemplateOutlet",l.datepicker.dayTemplate)("ngTemplateOutletContext",s.context)}}function Br(a,v){if(1&a){const s=r.RV6();r.j41(0,"div",12),r.bIt("click",function(u){const k=r.eBV(s).$implicit;return r.XpG(3).doSelect(k),r.Njj(u.preventDefault())}),r.DNE(1,Ji,1,2,"ng-template",13),r.k0s()}if(2&a){const s=v.$implicit;r.AVh("disabled",s.context.disabled)("hidden",s.hidden)("ngb-dp-today",s.context.today),r.Y8G("tabindex",s.tabindex),r.BMQ("aria-label",s.ariaLabel),r.R7$(1),r.Y8G("ngIf",!s.hidden)}}function pi(a,v){if(1&a&&(r.j41(0,"div",8),r.DNE(1,rr,2,1,"div",9),r.DNE(2,Br,2,9,"div",10),r.k0s()),2&a){const s=r.XpG().$implicit,l=r.XpG();r.R7$(1),r.Y8G("ngIf",l.datepicker.showWeekNumbers),r.R7$(1),r.Y8G("ngForOf",s.days)}}function Ms(a,v){1&a&&r.DNE(0,pi,3,2,"div",7),2&a&&r.Y8G("ngIf",!v.$implicit.collapsed)}const gi=["defaultDayTemplate"],Ii=["content"];function Ss(a,v){if(1&a&&r.nrm(0,"div",8),2&a){const l=v.currentMonth,u=v.selected,S=v.disabled,k=v.focused;r.Y8G("date",v.date)("currentMonth",l)("selected",u)("disabled",S)("focused",k)}}function ji(a,v){if(1&a&&(r.j41(0,"div",13),r.EFF(1),r.k0s()),2&a){const s=r.XpG().$implicit,l=r.XpG(2);r.R7$(1),r.SpI(" ",l.i18n.getMonthLabel(s.firstDate)," ")}}function Or(a,v){if(1&a&&(r.j41(0,"div",10),r.DNE(1,ji,2,1,"div",11),r.nrm(2,"ngb-datepicker-month",12),r.k0s()),2&a){const s=v.$implicit,l=r.XpG(2);r.R7$(1),r.Y8G("ngIf","none"===l.navigation||l.displayMonths>1&&"select"===l.navigation),r.R7$(1),r.Y8G("month",s.firstDate)}}function sr(a,v){if(1&a&&r.DNE(0,Or,3,2,"div",9),2&a){const s=r.XpG();r.Y8G("ngForOf",s.model.months)}}function cs(a,v){if(1&a){const s=r.RV6();r.j41(0,"ngb-datepicker-navigation",14),r.bIt("navigate",function(u){r.eBV(s);const S=r.XpG();return r.Njj(S.onNavigateEvent(u))})("select",function(u){r.eBV(s);const S=r.XpG();return r.Njj(S.onNavigateDateSelect(u))}),r.k0s()}if(2&a){const s=r.XpG();r.Y8G("date",s.model.firstDate)("months",s.model.months)("disabled",s.model.disabled)("showSelect","select"===s.model.navigation)("prevDisabled",s.model.prevDisabled)("nextDisabled",s.model.nextDisabled)("selectBoxes",s.model.selectBoxes)}}function x(a,v){}function L(a,v){}const C=function(a){return{$implicit:a}},j=["dialog"],ie=["ngbNavOutlet",""];function xt(a,v){}function an(a,v){if(1&a&&(r.j41(0,"div",2),r.DNE(1,xt,0,0,"ng-template",3),r.k0s()),2&a){const s=r.XpG().$implicit,l=r.XpG();r.Y8G("item",s)("nav",l.nav)("role",l.paneRole),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==s.contentTpl?null:s.contentTpl.templateRef)||null)("ngTemplateOutletContext",r.eq3(5,C,s.active||l.isPanelTransitioning(s)))}}function zi(a,v){if(1&a&&r.DNE(0,an,2,7,"div",1),2&a){const s=v.$implicit,l=r.XpG();r.Y8G("ngIf",s.isPanelInDom()||l.isPanelTransitioning(s))}}function yr(a,v){1&a&&(r.j41(0,"span",9),r.pXf(1,10),r.k0s())}function Gs(a,v){1&a&&(r.j41(0,"span",9),r.pXf(1,11),r.k0s())}function Ja(a,v){1&a&&(r.j41(0,"span",9),r.pXf(1,12),r.k0s())}function qa(a,v){1&a&&(r.j41(0,"span",9),r.pXf(1,13),r.k0s())}function pa(a,v){1&a&&r.EFF(0,"...")}function Fs(a,v){1&a&&r.EFF(0),2&a&&r.JRh(v.$implicit)}function io(a,v){}const ga=function(a){return{disabled:!0,currentPage:a}};function ro(a,v){if(1&a&&(r.j41(0,"a",18),r.DNE(1,io,0,0,"ng-template",8),r.k0s()),2&a){const s=r.XpG(2).$implicit,l=r.XpG(),u=r.sdS(9);r.R7$(1),r.Y8G("ngTemplateOutlet",(null==l.tplEllipsis?null:l.tplEllipsis.templateRef)||u)("ngTemplateOutletContext",r.eq3(2,ga,s))}}function No(a,v){}const Ws=function(a,v,s){return{disabled:a,$implicit:v,currentPage:s}};function so(a,v){if(1&a){const s=r.RV6();r.j41(0,"a",19),r.bIt("click",function(u){r.eBV(s);const S=r.XpG().$implicit;return r.XpG(2).selectPage(S),r.Njj(u.preventDefault())}),r.DNE(1,No,0,0,"ng-template",8),r.k0s()}if(2&a){const s=r.XpG().$implicit,l=r.XpG(),u=l.disabled,S=l.$implicit,k=r.XpG(),ce=r.sdS(11);r.BMQ("tabindex",u?"-1":null)("aria-disabled",u?"true":null),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==k.tplNumber?null:k.tplNumber.templateRef)||ce)("ngTemplateOutletContext",r.sMw(4,Ws,u,s,S))}}function qr(a,v){if(1&a&&(r.j41(0,"li",15),r.DNE(1,ro,2,4,"a",16),r.DNE(2,so,2,8,"a",17),r.k0s()),2&a){const s=v.$implicit,l=r.XpG(),u=l.$implicit,S=l.disabled,k=r.XpG();r.AVh("active",s===u)("disabled",k.isEllipsis(s)||S),r.BMQ("aria-current",s===u?"page":null),r.R7$(1),r.Y8G("ngIf",k.isEllipsis(s)),r.R7$(1),r.Y8G("ngIf",!k.isEllipsis(s))}}function Zo(a,v){1&a&&r.DNE(0,qr,3,7,"li",14),2&a&&r.Y8G("ngForOf",v.pages)}function Ki(a,v){}const or=function(a,v){return{disabled:a,currentPage:v}};function Ro(a,v){if(1&a){const s=r.RV6();r.j41(0,"li",15)(1,"a",20),r.bIt("click",function(u){return r.eBV(s),r.XpG().selectPage(1),r.Njj(u.preventDefault())}),r.DNE(2,Ki,0,0,"ng-template",8),r.k0s()()}if(2&a){const s=r.XpG(),l=r.sdS(1);r.AVh("disabled",s.previousDisabled()),r.R7$(1),r.BMQ("tabindex",s.previousDisabled()?"-1":null)("aria-disabled",s.previousDisabled()?"true":null),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==s.tplFirst?null:s.tplFirst.templateRef)||l)("ngTemplateOutletContext",r.l_i(6,or,s.previousDisabled(),s.page))}}function br(a,v){}const Ni=function(a){return{disabled:a}};function us(a,v){if(1&a){const s=r.RV6();r.j41(0,"li",15)(1,"a",21),r.bIt("click",function(u){r.eBV(s);const S=r.XpG();return S.selectPage(S.page-1),r.Njj(u.preventDefault())}),r.DNE(2,br,0,0,"ng-template",8),r.k0s()()}if(2&a){const s=r.XpG(),l=r.sdS(3);r.AVh("disabled",s.previousDisabled()),r.R7$(1),r.BMQ("tabindex",s.previousDisabled()?"-1":null)("aria-disabled",s.previousDisabled()?"true":null),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==s.tplPrevious?null:s.tplPrevious.templateRef)||l)("ngTemplateOutletContext",r.eq3(6,Ni,s.previousDisabled()))}}function qi(a,v){}function ks(a,v){}function oo(a,v){if(1&a){const s=r.RV6();r.j41(0,"li",15)(1,"a",22),r.bIt("click",function(u){r.eBV(s);const S=r.XpG();return S.selectPage(S.page+1),r.Njj(u.preventDefault())}),r.DNE(2,ks,0,0,"ng-template",8),r.k0s()()}if(2&a){const s=r.XpG(),l=r.sdS(5);r.AVh("disabled",s.nextDisabled()),r.R7$(1),r.BMQ("tabindex",s.nextDisabled()?"-1":null)("aria-disabled",s.nextDisabled()?"true":null),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==s.tplNext?null:s.tplNext.templateRef)||l)("ngTemplateOutletContext",r.l_i(6,or,s.nextDisabled(),s.page))}}function ao(a,v){}function xo(a,v){if(1&a){const s=r.RV6();r.j41(0,"li",15)(1,"a",23),r.bIt("click",function(u){r.eBV(s);const S=r.XpG();return S.selectPage(S.pageCount),r.Njj(u.preventDefault())}),r.DNE(2,ao,0,0,"ng-template",8),r.k0s()()}if(2&a){const s=r.XpG(),l=r.sdS(7);r.AVh("disabled",s.nextDisabled()),r.R7$(1),r.BMQ("tabindex",s.nextDisabled()?"-1":null)("aria-disabled",s.nextDisabled()?"true":null),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==s.tplLast?null:s.tplLast.templateRef)||l)("ngTemplateOutletContext",r.l_i(6,or,s.nextDisabled(),s.page))}}const lo=function(a,v,s){return{$implicit:a,pages:v,disabled:s}};function kt(a){return parseInt(`${a}`,10)}function ln(a){return"string"==typeof a}function sn(a){return!isNaN(kt(a))}function _n(a){return"number"==typeof a&&isFinite(a)&&Math.floor(a)===a}function Rn(a){return null!=a}function Ri(a){return a&&a.then}function mi(a){return sn(a)?`0${a}`.slice(-2):""}function Ei(a){return(a||document.body).getBoundingClientRect()}function Rt(a=document){const v=a?.activeElement;return v?v.shadowRoot?Rt(v.shadowRoot):v:null}const Zt={animation:!0,transitionTimerDelayMs:5},Ht=()=>{},{transitionTimerDelayMs:wi}=Zt,Qi=new Map,cn=(a,v,s,l)=>{let u=l.context||{};const S=Qi.get(v);if(S)switch(l.runningTransition){case"continue":return se.w;case"stop":a.run(()=>S.transition$.complete()),u=Object.assign(S.context,u),Qi.delete(v)}const k=s(v,l.animation,u)||Ht;if(!l.animation||"none"===window.getComputedStyle(v).transitionProperty)return a.run(()=>k()),(0,oe.of)(void 0).pipe(function Xi(a){return v=>new P.c(s=>v.subscribe({next:k=>a.run(()=>s.next(k)),error:k=>a.run(()=>s.error(k)),complete:()=>a.run(()=>s.complete())}))}(a));const ce=new Q.B,we=new Q.B,Xe=ce.pipe(function Fe(...a){return v=>(0,He.x)(v,(0,oe.of)(...a))}(!0));Qi.set(v,{transition$:ce,complete:()=>{we.next(),we.complete()},context:u});const ze=function jt(a){const{transitionDelay:v,transitionDuration:s}=window.getComputedStyle(a);return 1e3*(parseFloat(v)+parseFloat(s))}(v);return a.runOutsideAngular(()=>{const Et=J(v,"transitionend").pipe((0,Ye.Q)(Xe),(0,ne.p)(({target:wt})=>wt===v));et((0,_t.O)(ze+wi).pipe((0,Ye.Q)(Xe)),Et,we).pipe((0,Ye.Q)(Xe)).subscribe(()=>{Qi.delete(v),a.run(()=>{k(),ce.next(),ce.complete()})})}),ce.asObservable()},Hr=(a,v,s)=>{let{direction:l,maxSize:u,dimension:S}=s;const{classList:k}=a;function ce(){k.add("collapse"),"show"===l?k.add("show"):k.remove("show")}if(v)return u||(u=function Wn(a,v){if(typeof navigator>"u")return"0px";const{classList:s}=a,l=s.contains("show");l||s.add("show"),a.style[v]="";const u=a.getBoundingClientRect()[v]+"px";return l||s.remove("show"),u}(a,S),s.maxSize=u,a.style[S]="show"!==l?u:"0px",k.remove("collapse"),k.remove("collapsing"),k.remove("show"),Ei(a),k.add("collapsing")),a.style[S]="show"===l?u:"0px",()=>{ce(),k.remove("collapsing"),a.style[S]=""};ce()};let xi=(()=>{class a{constructor(){this.animation=Zt.animation}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Pi=(()=>{class a{constructor(s){this._ngbConfig=s,this.closeOthers=!1,this.destroyOnHide=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Zl=(()=>{class a{constructor(s){this._ngbConfig=s,this.horizontal=!1}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),en=(()=>{class a{set collapsed(s){this._isCollapsed!==s&&(this._isCollapsed=s,this._afterInit&&this._runTransitionWithEvents(s,this.animation))}constructor(s,l,u){this._element=s,this._zone=u,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new r.bkB,this.shown=new r.bkB,this.hidden=new r.bkB,this.animation=l.animation,this.horizontal=l.horizontal}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(s=this._isCollapsed){this.collapsed=!s,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(s,l){return cn(this._zone,this._element.nativeElement,Hr,{animation:l,runningTransition:"stop",context:{direction:s?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(s,l){this._runTransition(s,l).subscribe(()=>{s?this.hidden.emit():this.shown.emit()})}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.aKT),r.rXU(Zl),r.rXU(r.SKi))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("collapse-horizontal",u.horizontal)},inputs:{animation:"animation",collapsed:["ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],standalone:!0})}}return a})(),Jl=0,tl=(()=>{class a{constructor(){this._appRef=(0,r.WQX)(r.o8S),this._element=(0,r.WQX)(r.aKT).nativeElement,this._item=(0,r.WQX)(Nr),this._viewRef=null}ngAfterContentChecked(){this._bodyTpl&&(this._item._shouldBeInDOM?this._createViewIfNotExists():this._destroyViewIfExists())}ngOnDestroy(){this._destroyViewIfExists()}_destroyViewIfExists(){this._viewRef&&(this._appRef.detachView(this._viewRef),this._viewRef.destroy(),this._viewRef=null)}_createViewIfNotExists(){if(!this._viewRef){this._viewRef=this._bodyTpl.createEmbeddedView(null),this._viewRef.detectChanges(),this._appRef.attachView(this._viewRef);for(const s of this._viewRef.rootNodes)this._element.appendChild(s)}}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbAccordionBody",""]],contentQueries:function(l,u,S){if(1&l&&r.wni(S,r.C4Q,7),2&l){let k;r.mGM(k=r.lsd())&&(u._bodyTpl=k.first)}},hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("accordion-body",!0)},standalone:!0})}}return a})(),ba=(()=>{class a{constructor(){this.item=(0,r.WQX)(Nr),this.ngbCollapse=(0,r.WQX)(en)}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbAccordionCollapse",""]],hostAttrs:["role","region"],hostVars:4,hostBindings:function(l,u){2&l&&(r.Mr5("id",u.item.collapseId),r.BMQ("aria-labelledby",u.item.toggleId),r.AVh("accordion-collapse",!0))},exportAs:["ngbAccordionCollapse"],standalone:!0,features:[r.nM4([en])]})}}return a})(),ql=(()=>{class a{constructor(){this.item=(0,r.WQX)(Nr),this.accordion=(0,r.WQX)(Da)}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbAccordionToggle",""]],hostVars:5,hostBindings:function(l,u){1&l&&r.bIt("click",function(){return!u.item.disabled&&u.accordion.toggle(u.item.id)}),2&l&&(r.Mr5("id",u.item.toggleId),r.BMQ("aria-controls",u.item.collapseId)("aria-expanded",!u.item.collapsed),r.AVh("collapsed",u.item.collapsed))},standalone:!0})}}return a})(),ec=(()=>{class a{constructor(){this.item=(0,r.WQX)(Nr)}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275dir=r.FsC({type:a,selectors:[["button","ngbAccordionButton",""]],hostAttrs:["type","button"],hostVars:3,hostBindings:function(l,u){2&l&&(r.Mr5("disabled",u.item.disabled),r.AVh("accordion-button",!0))},standalone:!0,features:[r.nM4([ql])]})}}return a})(),nl=(()=>{class a{constructor(){this.item=(0,r.WQX)(Nr)}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbAccordionHeader",""]],hostAttrs:["role","heading"],hostVars:4,hostBindings:function(l,u){2&l&&r.AVh("accordion-header",!0)("collapsed",u.item.collapsed)},standalone:!0})}}return a})(),Nr=(()=>{class a{constructor(){this._accordion=(0,r.WQX)(Da),this._cd=(0,r.WQX)(r.gRc),this._destroyRef=(0,r.WQX)(r.abz),this._collapsed=!0,this._id="ngb-accordion-item-"+Jl++,this._collapseAnimationRunning=!1,this.disabled=!1,this.show=new r.bkB,this.shown=new r.bkB,this.hide=new r.bkB,this.hidden=new r.bkB}set id(s){ln(s)&&""!==s&&(this._id=s)}set destroyOnHide(s){this._destroyOnHide=s}get destroyOnHide(){return void 0===this._destroyOnHide?this._accordion.destroyOnHide:this._destroyOnHide}set collapsed(s){s?this.collapse():this.expand()}get collapsed(){return this._collapsed}get id(){return`${this._id}`}get toggleId(){return`${this.id}-toggle`}get collapseId(){return`${this.id}-collapse`}get _shouldBeInDOM(){return!this.collapsed||this._collapseAnimationRunning||!this.destroyOnHide}ngAfterContentInit(){const{ngbCollapse:s}=this._collapse;s.animation=!1,s.collapsed=this.collapsed,s.animation=this._accordion.animation,s.hidden.pipe((0,Pt.pQ)(this._destroyRef)).subscribe(()=>{this._collapseAnimationRunning=!1,this.hidden.emit(),this._accordion.hidden.emit(this.id)}),s.shown.pipe((0,Pt.pQ)(this._destroyRef)).subscribe(()=>{this.shown.emit(),this._accordion.shown.emit(this.id)})}toggle(){this.collapsed=!this.collapsed}expand(){if(this.collapsed){if(!this._accordion._ensureCanExpand(this))return;this._collapsed=!1,this._cd.markForCheck(),this._cd.detectChanges(),this.show.emit(),this._accordion.show.emit(this.id),this._collapse.ngbCollapse.animation=this._accordion.animation,this._collapse.ngbCollapse.collapsed=!1}}collapse(){this.collapsed||(this._collapsed=!0,this._collapseAnimationRunning=!0,this._cd.markForCheck(),this.hide.emit(),this._accordion.hide.emit(this.id),this._collapse.ngbCollapse.animation=this._accordion.animation,this._collapse.ngbCollapse.collapsed=!0)}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbAccordionItem",""]],contentQueries:function(l,u,S){if(1&l&&r.wni(S,ba,7),2&l){let k;r.mGM(k=r.lsd())&&(u._collapse=k.first)}},hostVars:3,hostBindings:function(l,u){2&l&&(r.Mr5("id",u.id),r.AVh("accordion-item",!0))},inputs:{id:["ngbAccordionItem","id"],destroyOnHide:"destroyOnHide",disabled:"disabled",collapsed:"collapsed"},outputs:{show:"show",shown:"shown",hide:"hide",hidden:"hidden"},exportAs:["ngbAccordionItem"],standalone:!0})}}return a})(),Da=(()=>{class a{constructor(s){this.show=new r.bkB,this.shown=new r.bkB,this.hide=new r.bkB,this.hidden=new r.bkB,this._anItemWasAlreadyExpandedDuringInitialisation=!1,this.animation=s.animation,this.closeOthers=s.closeOthers,this.destroyOnHide=s.destroyOnHide}toggle(s){this._getItem(s)?.toggle()}expand(s){this._getItem(s)?.expand()}expandAll(){this._items&&(this.closeOthers?this._items.find(s=>!s.collapsed)||this._items.first.expand():this._items.forEach(s=>s.expand()))}collapse(s){this._getItem(s)?.collapse()}collapseAll(){this._items?.forEach(s=>s.collapse())}isExpanded(s){const l=this._getItem(s);return!!l&&!l.collapsed}_ensureCanExpand(s){return!(this.closeOthers&&(this._items?(this._items.find(l=>!l.collapsed&&s!==l)?.collapse(),0):this._anItemWasAlreadyExpandedDuringInitialisation||(this._anItemWasAlreadyExpandedDuringInitialisation=!0,0)))}_getItem(s){return this._items?.find(l=>l.id===s)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Pi))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbAccordion",""]],contentQueries:function(l,u,S){if(1&l&&r.wni(S,Nr,4),2&l){let k;r.mGM(k=r.lsd())&&(u._items=k)}},hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("accordion",!0)},inputs:{animation:"animation",closeOthers:"closeOthers",destroyOnHide:"destroyOnHide"},outputs:{show:"show",shown:"shown",hide:"hide",hidden:"hidden"},exportAs:["ngbAccordion"],standalone:!0})}}return a})(),Ea=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();const nc=({classList:a})=>{a.remove("show")};let ic=(()=>{class a{constructor(s){this._ngbConfig=s,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),pt=(()=>{class a{constructor(s,l,u){this._element=l,this._zone=u,this.closed=new r.bkB,this.dismissible=s.dismissible,this.type=s.type,this.animation=s.animation}close(){const s=cn(this._zone,this._element.nativeElement,nc,{animation:this.animation,runningTransition:"continue"});return s.subscribe(()=>this.closed.emit()),s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(ic),r.rXU(r.aKT),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-alert"]],hostAttrs:["role","alert"],hostVars:6,hostBindings:function(l,u){2&l&&(r.HbH("alert show"+(u.type?" alert-"+u.type:"")),r.AVh("fade",u.animation)("alert-dismissible",u.dismissible))},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[r.aNF],ngContentSelectors:ir,decls:2,vars:1,consts:function(){let s;return s=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",s,3,"click",4,"ngIf"],["type","button","aria-label",s,1,"btn-close",3,"click"]]},template:function(l,u){1&l&&(r.NAR(),r.SdG(0),r.DNE(1,nr,1,0,"button",0)),2&l&&(r.R7$(1),r.Y8G("ngIf",u.dismissible))},dependencies:[ct.bT],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0})}}return a})(),Sn=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),m=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),b=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();class p{static from(v){return v instanceof p?v:v?new p(v.year,v.month,v.day):null}constructor(v,s,l){this.year=_n(v)?v:null,this.month=_n(s)?s:null,this.day=_n(l)?l:null}equals(v){return null!=v&&this.year===v.year&&this.month===v.month&&this.day===v.day}before(v){return!!v&&(this.year===v.year?this.month===v.month?this.day!==v.day&&this.dayv.day:this.month>v.month:this.year>v.year)}}function D(a,v){return!function U(a,v){return!a&&!v||!!a&&!!v&&a.equals(v)}(a,v)}function R(a,v){return!(!a&&!v||a&&v&&a.year===v.year&&a.month===v.month)}function Ze(a,v,s){return a&&v&&a.before(v)?v:a&&s&&a.after(s)?s:a||null}function Ke(a,v){const{minDate:s,maxDate:l,disabled:u,markDisabled:S}=v;return!(null==a||u||S&&S(a,{year:a.year,month:a.month})||s&&a.before(s)||l&&a.after(l))}function Bo(a){return new p(a.getFullYear(),a.getMonth()+1,a.getDate())}function ds(a){const v=new Date(a.year,a.month-1,a.day,12);return isNaN(v.getTime())||v.setFullYear(a.year),v}let ta=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:function(){return function il(){return new ac}()},providedIn:"root"})}}return a})(),ac=(()=>{class a extends ta{getDaysPerWeek(){return 7}getMonths(){return[1,2,3,4,5,6,7,8,9,10,11,12]}getWeeksPerMonth(){return 6}getNext(s,l="d",u=1){let S=ds(s),k=!0,ce=S.getMonth();switch(l){case"y":S.setFullYear(S.getFullYear()+u);break;case"m":ce+=u,S.setMonth(ce),ce%=12,ce<0&&(ce+=12);break;case"d":S.setDate(S.getDate()+u),k=!1;break;default:return s}return k&&S.getMonth()!==ce&&S.setDate(0),Bo(S)}getPrev(s,l="d",u=1){return this.getNext(s,l,-u)}getWeekday(s){let u=ds(s).getDay();return 0===u?7:u}getWeekNumber(s,l){7===l&&(l=0);const k=ds(s[(11-l)%7]);k.setDate(k.getDate()+4-(k.getDay()||7));const ce=k.getTime();return k.setMonth(0),k.setDate(1),Math.floor(Math.round((ce-k.getTime())/864e5)/7)+1}getToday(){return Bo(new Date)}isValid(s){if(!(s&&_n(s.year)&&_n(s.month)&&_n(s.day)&&0!==s.year))return!1;const l=ds(s);return!isNaN(l.getTime())&&l.getFullYear()===s.year&&l.getMonth()+1===s.month&&l.getDate()===s.day}static{this.\u0275fac=function(){let s;return function(u){return(s||(s=r.xGo(a)))(u||a)}}()}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac})}}return a})(),Vo=(()=>{class a{getMonthLabel(s){return`${this.getMonthFullName(s.month,s.year)} ${this.getYearNumerals(s.year)}`}getDayNumerals(s){return`${s.day}`}getWeekNumerals(s){return`${s}`}getYearNumerals(s){return`${s}`}getWeekLabel(){return""}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:function(l){let u=null;return u=l?new l:function Gd(a){return new Rr(a)}(r.KVO(r.xe9)),u},providedIn:"root"})}}return a})(),Rr=(()=>{class a extends Vo{constructor(s){super(),this._locale=s,this._monthsShort=(0,ct.tL)(s,ct.oV.Standalone,ct.cH.Abbreviated),this._monthsFull=(0,ct.tL)(s,ct.oV.Standalone,ct.cH.Wide)}getWeekdayLabel(s,l){const u=(0,ct.XO)(this._locale,ct.oV.Standalone,void 0===l?ct.cH.Short:l);return u.map((k,ce)=>u[(ce+1)%7])[s-1]||""}getMonthShortName(s){return this._monthsShort[s-1]||""}getMonthFullName(s){return this._monthsFull[s-1]||""}getDayAriaLabel(s){const l=new Date(s.year,s.month-1,s.day);return(0,ct.Yq)(l,"fullDate",this._locale)}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(r.xe9))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac})}}return a})(),Qs=(()=>{class a{get model$(){return this._model$.pipe((0,ne.p)(s=>s.months.length>0))}get dateSelect$(){return this._dateSelect$.pipe((0,ne.p)(s=>null!==s))}set(s){let l=Object.keys(s).map(u=>this._VALIDATORS[u](s[u])).reduce((u,S)=>({...u,...S}),{});Object.keys(l).length>0&&this._nextState(l)}constructor(s,l){this._calendar=s,this._i18n=l,this._VALIDATORS={dayTemplateData:u=>{if(this._state.dayTemplateData!==u)return{dayTemplateData:u}},displayMonths:u=>{if(_n(u=kt(u))&&u>0&&this._state.displayMonths!==u)return{displayMonths:u}},disabled:u=>{if(this._state.disabled!==u)return{disabled:u}},firstDayOfWeek:u=>{if(_n(u=kt(u))&&u>=0&&this._state.firstDayOfWeek!==u)return{firstDayOfWeek:u}},focusVisible:u=>{if(this._state.focusVisible!==u&&!this._state.disabled)return{focusVisible:u}},markDisabled:u=>{if(this._state.markDisabled!==u)return{markDisabled:u}},maxDate:u=>{const S=this.toValidDate(u,null);if(D(this._state.maxDate,S))return{maxDate:S}},minDate:u=>{const S=this.toValidDate(u,null);if(D(this._state.minDate,S))return{minDate:S}},navigation:u=>{if(this._state.navigation!==u)return{navigation:u}},outsideDays:u=>{if(this._state.outsideDays!==u)return{outsideDays:u}},weekdays:u=>{const S=!0===u||!1===u?ct.cH.Short:u,k=!0!==u&&!1!==u||u;if(this._state.weekdayWidth!==S||this._state.weekdaysVisible!==k)return{weekdayWidth:S,weekdaysVisible:k}}},this._model$=new Q.B,this._dateSelect$=new Q.B,this._state={dayTemplateData:null,markDisabled:null,maxDate:null,minDate:null,disabled:!1,displayMonths:1,firstDate:null,firstDayOfWeek:1,lastDate:null,focusDate:null,focusVisible:!1,months:[],navigation:"select",outsideDays:"visible",prevDisabled:!1,nextDisabled:!1,selectedDate:null,selectBoxes:{years:[],months:[]},weekdayWidth:ct.cH.Short,weekdaysVisible:!0}}focus(s){const l=this.toValidDate(s,null);null!=l&&!this._state.disabled&&D(this._state.focusDate,l)&&this._nextState({focusDate:s})}focusSelect(){Ke(this._state.focusDate,this._state)&&this.select(this._state.focusDate,{emitEvent:!0})}open(s){const l=this.toValidDate(s,this._calendar.getToday());null!=l&&!this._state.disabled&&(!this._state.firstDate||R(this._state.firstDate,l))&&this._nextState({firstDate:l})}select(s,l={}){const u=this.toValidDate(s,null);null!=u&&!this._state.disabled&&(D(this._state.selectedDate,u)&&this._nextState({selectedDate:u}),l.emitEvent&&Ke(u,this._state)&&this._dateSelect$.next(u))}toValidDate(s,l){const u=p.from(s);return void 0===l&&(l=this._calendar.getToday()),this._calendar.isValid(u)?u:l}getMonth(s){for(let l of this._state.months)if(s.month===l.number&&s.year===l.year)return l;throw new Error(`month ${s.month} of year ${s.year} not found`)}_nextState(s){const l=this._updateState(s);this._patchContexts(l),this._state=l,this._model$.next(this._state)}_patchContexts(s){const{months:l,displayMonths:u,selectedDate:S,focusDate:k,focusVisible:ce,disabled:we,outsideDays:Xe}=s;s.months.forEach(ze=>{ze.weeks.forEach(Et=>{Et.days.forEach(vt=>{k&&(vt.context.focused=k.equals(vt.date)&&ce),vt.tabindex=!we&&k&&vt.date.equals(k)&&k.month===ze.number?0:-1,!0===we&&(vt.context.disabled=!0),void 0!==S&&(vt.context.selected=null!==S&&S.equals(vt.date)),ze.number!==vt.date.month&&(vt.hidden="hidden"===Xe||"collapsed"===Xe||u>1&&vt.date.after(l[0].firstDate)&&vt.date.before(l[u-1].lastDate))})})})}_updateState(s){const l=Object.assign({},this._state,s);let u=l.firstDate;if(("minDate"in s||"maxDate"in s)&&(function Z(a,v){if(v&&a&&v.before(a))throw new Error(`'maxDate' ${v} should be greater than 'minDate' ${a}`)}(l.minDate,l.maxDate),l.focusDate=Ze(l.focusDate,l.minDate,l.maxDate),l.firstDate=Ze(l.firstDate,l.minDate,l.maxDate),u=l.focusDate),"disabled"in s&&(l.focusVisible=!1),"selectedDate"in s&&0===this._state.months.length&&(u=l.selectedDate),"focusVisible"in s||"focusDate"in s&&(l.focusDate=Ze(l.focusDate,l.minDate,l.maxDate),u=l.focusDate,0!==l.months.length&&l.focusDate&&!l.focusDate.before(l.firstDate)&&!l.focusDate.after(l.lastDate)))return l;if("firstDate"in s&&(l.firstDate=Ze(l.firstDate,l.minDate,l.maxDate),u=l.firstDate),u){const k=function Ns(a,v,s,l,u){const{displayMonths:S,months:k}=s,ce=k.splice(0,k.length);return Array.from({length:S},(Xe,ze)=>{const Et=Object.assign(a.getNext(v,"m",ze),{day:1});if(k[ze]=null,!u){const vt=ce.findIndex(wt=>wt.firstDate.equals(Et));-1!==vt&&(k[ze]=ce.splice(vt,1)[0])}return Et}).forEach((Xe,ze)=>{null===k[ze]&&(k[ze]=function fo(a,v,s,l,u={}){const{dayTemplateData:S,minDate:k,maxDate:ce,firstDayOfWeek:we,markDisabled:Xe,outsideDays:ze,weekdayWidth:Et,weekdaysVisible:vt}=s,wt=a.getToday();u.firstDate=null,u.lastDate=null,u.number=v.month,u.year=v.year,u.weeks=u.weeks||[],u.weekdays=u.weekdays||[],v=function Xs(a,v,s){const l=a.getDaysPerWeek(),u=new p(v.year,v.month,1),S=a.getWeekday(u)%l;return a.getPrev(u,"d",(l+S-s)%l)}(a,v,we),vt||(u.weekdays.length=0);for(let hn=0;hnPn.date),we),Dn.collapsed="collapsed"===ze&&Qt[0].date.month!==u.number&&Qt[Qt.length-1].date.month!==u.number}return u}(a,Xe,s,l,ce.shift()||{}))}),k}(this._calendar,u,l,this._i18n,"dayTemplateData"in s||"firstDayOfWeek"in s||"markDisabled"in s||"minDate"in s||"maxDate"in s||"disabled"in s||"outsideDays"in s||"weekdaysVisible"in s);l.months=k,l.firstDate=k[0].firstDate,l.lastDate=k[k.length-1].lastDate,"selectedDate"in s&&!Ke(l.selectedDate,l)&&(l.selectedDate=null),"firstDate"in s&&(!l.focusDate||l.focusDate.before(l.firstDate)||l.focusDate.after(l.lastDate))&&(l.focusDate=u);const ce=!this._state.firstDate||this._state.firstDate.year!==l.firstDate.year,we=!this._state.firstDate||this._state.firstDate.month!==l.firstDate.month;"select"===l.navigation?(("minDate"in s||"maxDate"in s||0===l.selectBoxes.years.length||ce)&&(l.selectBoxes.years=function un(a,v,s){if(!a)return[];const l=v?Math.max(v.year,a.year-500):a.year-10,S=(s?Math.min(s.year,a.year+500):a.year+10)-l+1,k=Array(S);for(let ce=0;cek===s.month);u=u.slice(S)}if(l&&v.year===l.year){const S=u.findIndex(k=>k===l.month);u=u.slice(0,S+1)}return u}(this._calendar,l.firstDate,l.minDate,l.maxDate))):l.selectBoxes={years:[],months:[]},("arrows"===l.navigation||"select"===l.navigation)&&(we||ce||"minDate"in s||"maxDate"in s||"disabled"in s)&&(l.prevDisabled=l.disabled||function xn(a,v,s){const l=Object.assign(a.getPrev(v,"m"),{day:1});return null!=s&&(l.year===s.year&&l.month{class a{constructor(s){this.i18n=s}isMuted(){return!this.selected&&(this.date.month!==this.currentMonth||this.disabled)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Vo))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["","ngbDatepickerDayView",""]],hostAttrs:[1,"btn-light"],hostVars:10,hostBindings:function(l,u){2&l&&r.AVh("bg-primary",u.selected)("text-white",u.selected)("text-muted",u.isMuted())("outside",u.isMuted())("active",u.focused)},inputs:{currentMonth:"currentMonth",date:"date",disabled:"disabled",focused:"focused",selected:"selected"},standalone:!0,features:[r.aNF],attrs:ls,decls:1,vars:1,template:function(l,u){1&l&&r.EFF(0),2&l&&r.JRh(u.i18n.getDayNumerals(u.date))},styles:["[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:transparent}[ngbDatepickerDayView]:hover:not(.bg-primary),[ngbDatepickerDayView].active:not(.bg-primary){background-color:var(--bs-btn-bg);outline:1px solid var(--bs-border-color)}[ngbDatepickerDayView].outside{opacity:.5}\n"],encapsulation:2,changeDetection:0})}}return a})(),Wd=(()=>{class a{constructor(s,l){this.i18n=s,this._renderer=l,this.select=new r.bkB,this._month=-1,this._year=-1}changeMonth(s){this.select.emit(new p(this.date.year,kt(s),1))}changeYear(s){this.select.emit(new p(kt(s),this.date.month,1))}ngAfterViewChecked(){this.date&&(this.date.month!==this._month&&(this._month=this.date.month,this._renderer.setProperty(this.monthSelect.nativeElement,"value",this._month)),this.date.year!==this._year&&(this._year=this.date.year,this._renderer.setProperty(this.yearSelect.nativeElement,"value",this._year)))}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Vo),r.rXU(r.sFG))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-datepicker-navigation-select"]],viewQuery:function(l,u){if(1&l&&(r.GBs(kr,7,r.aKT),r.GBs(Zi,7,r.aKT)),2&l){let S;r.mGM(S=r.lsd())&&(u.monthSelect=S.first),r.mGM(S=r.lsd())&&(u.yearSelect=S.first)}},inputs:{date:"date",disabled:"disabled",months:"months",years:"years"},outputs:{select:"select"},standalone:!0,features:[r.aNF],decls:6,vars:4,consts:function(){let s,l,u,S;return s=$localize`:@@ngb.datepicker.select-month:Select month`,l=$localize`:@@ngb.datepicker.select-month:Select month`,u=$localize`:@@ngb.datepicker.select-year:Select year`,S=$localize`:@@ngb.datepicker.select-year:Select year`,[["aria-label",s,"title",l,1,"form-select",3,"disabled","change"],["month",""],[3,"value",4,"ngFor","ngForOf"],["aria-label",u,"title",S,1,"form-select",3,"disabled","change"],["year",""],[3,"value"]]},template:function(l,u){1&l&&(r.j41(0,"select",0,1),r.bIt("change",function(k){return u.changeMonth(k.target.value)}),r.DNE(2,ri,2,3,"option",2),r.k0s(),r.j41(3,"select",3,4),r.bIt("change",function(k){return u.changeYear(k.target.value)}),r.DNE(5,Jr,2,2,"option",2),r.k0s()),2&l&&(r.Y8G("disabled",u.disabled),r.R7$(2),r.Y8G("ngForOf",u.months),r.R7$(1),r.Y8G("disabled",u.disabled),r.R7$(2),r.Y8G("ngForOf",u.years))},dependencies:[ct.pM],styles:["ngb-datepicker-navigation-select>.form-select{flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}ngb-datepicker-navigation-select>.form-select:focus{z-index:1}ngb-datepicker-navigation-select>.form-select::-ms-value{background-color:transparent!important}\n"],encapsulation:2,changeDetection:0})}}return a})(),zd=(()=>{class a{constructor(s){this.i18n=s,this.navigation=_i,this.months=[],this.navigate=new r.bkB,this.select=new r.bkB}onClickPrev(s){s.currentTarget.focus(),this.navigate.emit(this.navigation.PREV)}onClickNext(s){s.currentTarget.focus(),this.navigate.emit(this.navigation.NEXT)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Vo))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-datepicker-navigation"]],inputs:{date:"date",disabled:"disabled",months:"months",showSelect:"showSelect",prevDisabled:"prevDisabled",nextDisabled:"nextDisabled",selectBoxes:"selectBoxes"},outputs:{navigate:"navigate",select:"select"},standalone:!0,features:[r.aNF],decls:8,vars:4,consts:function(){let s,l,u,S;return s=$localize`:@@ngb.datepicker.previous-month:Previous month`,l=$localize`:@@ngb.datepicker.previous-month:Previous month`,u=$localize`:@@ngb.datepicker.next-month:Next month`,S=$localize`:@@ngb.datepicker.next-month:Next month`,[[1,"ngb-dp-arrow","ngb-dp-arrow-prev"],["type","button","aria-label",s,"title",l,1,"btn","btn-link","ngb-dp-arrow-btn",3,"disabled","click"],[1,"ngb-dp-navigation-chevron"],["class","ngb-dp-navigation-select",3,"date","disabled","months","years","select",4,"ngIf"],[4,"ngIf"],[1,"ngb-dp-arrow","ngb-dp-arrow-next"],["type","button","aria-label",u,"title",S,1,"btn","btn-link","ngb-dp-arrow-btn",3,"disabled","click"],[1,"ngb-dp-navigation-select",3,"date","disabled","months","years","select"],["ngFor","",3,"ngForOf"],["class","ngb-dp-arrow",4,"ngIf"],[1,"ngb-dp-month-name"],[1,"ngb-dp-arrow"]]},template:function(l,u){1&l&&(r.j41(0,"div",0)(1,"button",1),r.bIt("click",function(k){return u.onClickPrev(k)}),r.nrm(2,"span",2),r.k0s()(),r.DNE(3,hr,1,4,"ngb-datepicker-navigation-select",3),r.DNE(4,on,1,1,null,4),r.j41(5,"div",5)(6,"button",6),r.bIt("click",function(k){return u.onClickNext(k)}),r.nrm(7,"span",2),r.k0s()()),2&l&&(r.R7$(1),r.Y8G("disabled",u.prevDisabled),r.R7$(2),r.Y8G("ngIf",u.showSelect),r.R7$(1),r.Y8G("ngIf",!u.showSelect),r.R7$(2),r.Y8G("disabled",u.nextDisabled))},dependencies:[ct.bT,ct.pM,Wd],styles:["ngb-datepicker-navigation{display:flex;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;transform:rotate(-135deg)}.ngb-dp-arrow{display:flex;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow-next{justify-content:flex-end}.ngb-dp-arrow-next .ngb-dp-navigation-chevron{transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:flex;flex:1 1 9rem}\n"],encapsulation:2,changeDetection:0})}}return a})();var Jn=function(a){return a[a.Tab=9]="Tab",a[a.Enter=13]="Enter",a[a.Escape=27]="Escape",a[a.Space=32]="Space",a[a.PageUp=33]="PageUp",a[a.PageDown=34]="PageDown",a[a.End=35]="End",a[a.Home=36]="Home",a[a.ArrowLeft=37]="ArrowLeft",a[a.ArrowUp=38]="ArrowUp",a[a.ArrowRight=39]="ArrowRight",a[a.ArrowDown=40]="ArrowDown",a}(Jn||{});let hu=(()=>{class a{processKey(s,l){const{state:u,calendar:S}=l;switch(s.which){case Jn.PageUp:l.focusDate(S.getPrev(u.focusedDate,s.shiftKey?"y":"m",1));break;case Jn.PageDown:l.focusDate(S.getNext(u.focusedDate,s.shiftKey?"y":"m",1));break;case Jn.End:l.focusDate(s.shiftKey?u.maxDate:u.lastDate);break;case Jn.Home:l.focusDate(s.shiftKey?u.minDate:u.firstDate);break;case Jn.ArrowLeft:l.focusDate(S.getPrev(u.focusedDate,"d",1));break;case Jn.ArrowUp:l.focusDate(S.getPrev(u.focusedDate,"d",S.getDaysPerWeek()));break;case Jn.ArrowRight:l.focusDate(S.getNext(u.focusedDate,"d",1));break;case Jn.ArrowDown:l.focusDate(S.getNext(u.focusedDate,"d",S.getDaysPerWeek()));break;case Jn.Enter:case Jn.Space:l.focusSelect();break;default:return}s.preventDefault(),s.stopPropagation()}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),rl=(()=>{class a{constructor(){this.displayMonths=1,this.firstDayOfWeek=1,this.navigation="select",this.outsideDays="visible",this.showWeekNumbers=!1,this.weekdays=ct.cH.Short}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Bs=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:function(){return function sl(){return new Kd}()},providedIn:"root"})}}return a})(),Kd=(()=>{class a extends Bs{fromModel(s){return s&&_n(s.year)&&_n(s.month)&&_n(s.day)?{year:s.year,month:s.month,day:s.day}:null}toModel(s){return s&&_n(s.year)&&_n(s.month)&&_n(s.day)?{year:s.year,month:s.month,day:s.day}:null}static{this.\u0275fac=function(){let s;return function(u){return(s||(s=r.xGo(a)))(u||a)}}()}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac})}}return a})(),Ta=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbDatepickerContent",""]],standalone:!0})}}return a})(),Ma=(()=>{class a{set month(s){this.viewModel=this._service.getMonth(s)}constructor(s,l,u,S){this.i18n=s,this.datepicker=l,this._keyboardService=u,this._service=S}onKeyDown(s){this._keyboardService.processKey(s,this.datepicker)}doSelect(s){!s.context.disabled&&!s.hidden&&this.datepicker.onDateSelect(s.date)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Vo),r.rXU((0,r.Rfq)(()=>Ho)),r.rXU(hu),r.rXU(Qs))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-datepicker-month"]],hostAttrs:["role","grid"],hostBindings:function(l,u){1&l&&r.bIt("keydown",function(k){return u.onKeyDown(k)})},inputs:{month:"month"},standalone:!0,features:[r.aNF],decls:2,vars:2,consts:[["class","ngb-dp-week ngb-dp-weekdays","role","row",4,"ngIf"],["ngFor","",3,"ngForOf"],["role","row",1,"ngb-dp-week","ngb-dp-weekdays"],["class","ngb-dp-weekday ngb-dp-showweek small",4,"ngIf"],["class","ngb-dp-weekday small","role","columnheader",4,"ngFor","ngForOf"],[1,"ngb-dp-weekday","ngb-dp-showweek","small"],["role","columnheader",1,"ngb-dp-weekday","small"],["class","ngb-dp-week","role","row",4,"ngIf"],["role","row",1,"ngb-dp-week"],["class","ngb-dp-week-number small text-muted",4,"ngIf"],["class","ngb-dp-day","role","gridcell",3,"disabled","tabindex","hidden","ngb-dp-today","click",4,"ngFor","ngForOf"],[1,"ngb-dp-week-number","small","text-muted"],["role","gridcell",1,"ngb-dp-day",3,"tabindex","click"],[3,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(l,u){1&l&&(r.DNE(0,$s,3,2,"div",0),r.DNE(1,Ms,1,1,"ng-template",1)),2&l&&(r.Y8G("ngIf",u.viewModel.weekdays.length>0),r.R7$(1),r.Y8G("ngForOf",u.viewModel.weeks))},dependencies:[ct.bT,ct.pM,ct.T3],styles:['ngb-datepicker-month{display:block}.ngb-dp-weekday,.ngb-dp-week-number{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:var(--bs-info)}.ngb-dp-week{border-radius:.25rem;display:flex}.ngb-dp-weekdays{border-bottom:1px solid var(--bs-border-color);border-radius:0;background-color:var(--bs-light)}.ngb-dp-day,.ngb-dp-weekday,.ngb-dp-week-number{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default;pointer-events:none}.ngb-dp-day[tabindex="0"]{z-index:1}\n'],encapsulation:2})}}return a})(),Ho=(()=>{class a{constructor(s,l,u,S,k,ce,we,Xe){this._service=s,this._calendar=l,this._i18n=u,this._elementRef=ce,this._ngbDateAdapter=we,this._ngZone=Xe,this.injector=(0,r.WQX)(r.zZn),this._controlValue=null,this._destroyed$=new Q.B,this._publicState={},this.navigate=new r.bkB,this.dateSelect=new r.bkB,this.onChange=ze=>{},this.onTouched=()=>{},["contentTemplate","dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showWeekNumbers","startDate","weekdays"].forEach(ze=>this[ze]=S[ze]),s.dateSelect$.pipe((0,Ye.Q)(this._destroyed$)).subscribe(ze=>{this.dateSelect.emit(ze)}),s.model$.pipe((0,Ye.Q)(this._destroyed$)).subscribe(ze=>{const Et=ze.firstDate,vt=this.model?this.model.firstDate:null;this._publicState={maxDate:ze.maxDate,minDate:ze.minDate,firstDate:ze.firstDate,lastDate:ze.lastDate,focusedDate:ze.focusDate,months:ze.months.map(Pn=>Pn.firstDate)};let wt=!1;if(!Et.equals(vt)&&(this.navigate.emit({current:vt?{year:vt.year,month:vt.month}:null,next:{year:Et.year,month:Et.month},preventDefault:()=>wt=!0}),wt&&null!==vt))return void this._service.open(vt);const hn=ze.selectedDate,Dn=ze.focusDate,Qt=this.model?this.model.focusDate:null;this.model=ze,D(hn,this._controlValue)&&(this._controlValue=hn,this.onTouched(),this.onChange(this._ngbDateAdapter.toModel(hn))),D(Dn,Qt)&&Qt&&ze.focusVisible&&this.focus(),k.markForCheck()})}get state(){return this._publicState}get calendar(){return this._calendar}get i18n(){return this._i18n}focusDate(s){this._service.focus(p.from(s))}focusSelect(){this._service.focusSelect()}focus(){this._ngZone.onStable.asObservable().pipe((0,De.s)(1)).subscribe(()=>{const s=this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex="0"]');s&&s.focus()})}navigateTo(s){this._service.open(p.from(s?s.day?s:{...s,day:1}:null))}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const s=J(this._contentEl.nativeElement,"focusin"),l=J(this._contentEl.nativeElement,"focusout"),{nativeElement:u}=this._elementRef;(0,je.h)(s,l).pipe((0,ne.p)(S=>{const k=S.target,ce=S.relatedTarget;return!(k?.classList.contains("ngb-dp-day")&&ce?.classList.contains("ngb-dp-day")&&u.contains(k)&&u.contains(ce))}),(0,Ye.Q)(this._destroyed$)).subscribe(({type:S})=>this._ngZone.run(()=>this._service.set({focusVisible:"focusin"===S})))})}ngOnDestroy(){this._destroyed$.next()}ngOnInit(){if(void 0===this.model){const s={};["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays","weekdays"].forEach(l=>s[l]=this[l]),this._service.set(s),this.navigateTo(this.startDate)}this.dayTemplate||(this.dayTemplate=this._defaultDayTemplate)}ngOnChanges(s){const l={};if(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays","weekdays"].filter(u=>u in s).forEach(u=>l[u]=this[u]),this._service.set(l),"startDate"in s){const{currentValue:u,previousValue:S}=s.startDate;R(S,u)&&this.navigateTo(this.startDate)}}onDateSelect(s){this._service.focus(s),this._service.select(s,{emitEvent:!0})}onNavigateDateSelect(s){this._service.open(s)}onNavigateEvent(s){switch(s){case _i.PREV:this._service.open(this._calendar.getPrev(this.model.firstDate,"m",1));break;case _i.NEXT:this._service.open(this._calendar.getNext(this.model.firstDate,"m",1))}}registerOnChange(s){this.onChange=s}registerOnTouched(s){this.onTouched=s}setDisabledState(s){this._service.set({disabled:s})}writeValue(s){this._controlValue=p.from(this._ngbDateAdapter.fromModel(s)),this._service.select(this._controlValue)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Qs),r.rXU(ta),r.rXU(Vo),r.rXU(rl),r.rXU(r.gRc),r.rXU(r.aKT),r.rXU(Bs),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-datepicker"]],contentQueries:function(l,u,S){if(1&l&&r.wni(S,Ta,7),2&l){let k;r.mGM(k=r.lsd())&&(u.contentTemplateFromContent=k.first)}},viewQuery:function(l,u){if(1&l&&(r.GBs(gi,7),r.GBs(Ii,7)),2&l){let S;r.mGM(S=r.lsd())&&(u._defaultDayTemplate=S.first),r.mGM(S=r.lsd())&&(u._contentEl=S.first)}},hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("disabled",u.model.disabled)},inputs:{contentTemplate:"contentTemplate",dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",maxDate:"maxDate",minDate:"minDate",navigation:"navigation",outsideDays:"outsideDays",showWeekNumbers:"showWeekNumbers",startDate:"startDate",weekdays:"weekdays"},outputs:{navigate:"navigate",dateSelect:"dateSelect"},exportAs:["ngbDatepicker"],standalone:!0,features:[r.Jv_([{provide:ft.kq,useExisting:(0,r.Rfq)(()=>a),multi:!0},Qs]),r.OA$,r.aNF],decls:10,vars:9,consts:[["defaultDayTemplate",""],["defaultContentTemplate",""],[1,"ngb-dp-header"],[3,"date","months","disabled","showSelect","prevDisabled","nextDisabled","selectBoxes","navigate","select",4,"ngIf"],[1,"ngb-dp-content"],["content",""],[3,"ngTemplateOutlet","ngTemplateOutletContext","ngTemplateOutletInjector"],[3,"ngTemplateOutlet"],["ngbDatepickerDayView","",3,"date","currentMonth","selected","disabled","focused"],["class","ngb-dp-month",4,"ngFor","ngForOf"],[1,"ngb-dp-month"],["class","ngb-dp-month-name",4,"ngIf"],[3,"month"],[1,"ngb-dp-month-name"],[3,"date","months","disabled","showSelect","prevDisabled","nextDisabled","selectBoxes","navigate","select"]],template:function(l,u){if(1&l&&(r.DNE(0,Ss,1,5,"ng-template",null,0,r.C5r),r.DNE(2,sr,1,1,"ng-template",null,1,r.C5r),r.j41(4,"div",2),r.DNE(5,cs,1,7,"ngb-datepicker-navigation",3),r.k0s(),r.j41(6,"div",4,5),r.DNE(8,x,0,0,"ng-template",6),r.k0s(),r.DNE(9,L,0,0,"ng-template",7)),2&l){const S=r.sdS(3);r.R7$(5),r.Y8G("ngIf","none"!==u.navigation),r.R7$(1),r.AVh("ngb-dp-months",!u.contentTemplate),r.R7$(2),r.Y8G("ngTemplateOutlet",u.contentTemplate||(null==u.contentTemplateFromContent?null:u.contentTemplateFromContent.templateRef)||S)("ngTemplateOutletContext",r.eq3(7,C,u))("ngTemplateOutletInjector",u.injector),r.R7$(1),r.Y8G("ngTemplateOutlet",u.footerTemplate)}},dependencies:[ct.bT,ct.pM,ct.T3,du,Ma,zd],styles:["ngb-datepicker{border:1px solid var(--bs-border-color);border-radius:.25rem;display:inline-block}ngb-datepicker-month{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}ngb-datepicker.disabled .ngb-dp-weekday,ngb-datepicker.disabled .ngb-dp-week-number,ngb-datepicker.disabled .ngb-dp-month-name{color:var(--bs-text-muted)}.ngb-dp-body{z-index:1055}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:var(--bs-light)}.ngb-dp-months{display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:var(--bs-light)}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}\n"],encapsulation:2,changeDetection:0})}}return a})();const na=(a,v)=>!!v&&v.some(s=>s.contains(a)),lc=(a,v)=>!v||null!=function ar(a,v){return!v||typeof a.closest>"u"?null:a.closest(v)}(a,v),fu=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function po(a,v,s,l,u,S,k,ce){s&&a.runOutsideAngular((a=>fu?()=>setTimeout(()=>a(),100):a)(()=>{const Xe=J(v,"keydown").pipe((0,Ye.Q)(u),(0,ne.p)(vt=>vt.which===Jn.Escape),(0,$e.M)(vt=>vt.preventDefault())),ze=J(v,"mousedown").pipe((0,mt.T)(vt=>{const wt=vt.target;return 2!==vt.button&&!na(wt,k)&&("inside"===s?na(wt,S)&&lc(wt,ce):"outside"===s?!na(wt,S):lc(wt,ce)||!na(wt,S))}),(0,Ye.Q)(u)),Et=J(v,"mouseup").pipe(Oe(ze),(0,ne.p)(([vt,wt])=>wt),(0,de.c)(0),(0,Ye.Q)(u));et([Xe.pipe((0,mt.T)(vt=>0)),Et.pipe((0,mt.T)(vt=>1))]).subscribe(vt=>a.run(()=>l(vt)))}))}const ia=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function cc(a){const v=Array.from(a.querySelectorAll(ia)).filter(s=>-1!==s.tabIndex);return[v[0],v[v.length-1]]}const pu=(a,v,s,l=!1)=>{a.runOutsideAngular(()=>{const u=J(v,"focusin").pipe((0,Ye.Q)(s),(0,mt.T)(S=>S.target));J(v,"keydown").pipe((0,Ye.Q)(s),(0,ne.p)(S=>S.which===Jn.Tab),Oe(u)).subscribe(([S,k])=>{const[ce,we]=cc(v);(k===ce||k===v)&&S.shiftKey&&(we.focus(),S.preventDefault()),k===we&&!S.shiftKey&&(ce.focus(),S.preventDefault())}),l&&J(v,"click").pipe((0,Ye.Q)(s),Oe(u),(0,mt.T)(S=>S[1])).subscribe(S=>S.focus())})};let uc=(()=>{class a{constructor(s){this._element=s.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(ct.qQ))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})();const jp=/\s+/,Qd=/ +/gi,Yd={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},Gp=/^left/,dc=/^right/,Sa=/^start/,Zd=/^end/;function ol({placement:a,baseClass:v},s){let l=Array.isArray(a)?a:a.split(jp),S=l.findIndex(Xe=>"auto"===Xe);S>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(Xe){null==l.find(ze=>-1!==ze.search("^"+Xe))&&l.splice(S++,1,Xe)});const k=l.map(Xe=>function $p(a,v){const[s,l]=Yd[a];return v&&l||s}(Xe,s.isRTL()));return{placement:k.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!v,phase:"write",fn({state:Xe}){const ze=new RegExp(v+"(-[a-z]+)*","gi"),Et=Xe.elements.popper,vt=Xe.placement;let wt=Et.className;wt=wt.replace(ze,""),wt+=` ${function Ia(a,v){let[s,l]=v.split("-");const u=s.replace(Gp,"start").replace(dc,"end");let S=[u];if(l){let k=l;("left"===s||"right"===s)&&(k=k.replace(Sa,"top").replace(Zd,"bottom")),S.push(`${u}-${k}`)}return a&&(S=S.map(k=>`${a}-${k}`)),S.join(" ")}(v,vt)}`,wt=wt.trim().replace(Qd," "),Et.className=wt}},Si,Us,js,{enabled:!0,name:"flip",options:{fallbackPlacements:k}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function Oa(a){return a}function gu(){const a=(0,r.WQX)(uc);let v=null;return{createPopper(s){if(!v){let u=(s.updatePopperOptions||Oa)(ol(s,a));v=Yr(s.hostElement,s.targetElement,u)}},update(){v&&v.update()},setOptions(s){if(v){let u=(s.updatePopperOptions||Oa)(ol(s,a));v.setOptions(u)}},destroy(){v&&(v.destroy(),v=null)}}}let hc=(()=>{class a extends rl{constructor(){super(...arguments),this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=s=>s,this.restoreFocus=!0}static{this.\u0275fac=function(){let s;return function(u){return(s||(s=r.xGo(a)))(u||a)}}()}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})();function fc(a){return v=>(v.modifiers.push(Ot,{name:"offset",options:{offset:()=>a}}),v)}let Rs=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:function(){return function Jd(){return new qd}()},providedIn:"root"})}}return a})(),qd=(()=>{class a extends Rs{parse(s){if(null!=s){const l=s.trim().split("-");if(1===l.length&&sn(l[0]))return{year:kt(l[0]),month:null,day:null};if(2===l.length&&sn(l[0])&&sn(l[1]))return{year:kt(l[0]),month:kt(l[1]),day:null};if(3===l.length&&sn(l[0])&&sn(l[1])&&sn(l[2]))return{year:kt(l[0]),month:kt(l[1]),day:kt(l[2])}}return null}format(s){return s?`${s.year}-${sn(s.month)?mi(s.month):""}-${sn(s.day)?mi(s.day):""}`:""}static{this.\u0275fac=function(){let s;return function(u){return(s||(s=r.xGo(a)))(u||a)}}()}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac})}}return a})(),Aa=(()=>{class a{get disabled(){return this._disabled}set disabled(s){this._disabled=""===s||s&&"false"!==s,this.isOpen()&&this._cRef.instance.setDisabledState(this._disabled)}constructor(s,l,u,S,k,ce,we,Xe,ze,Et){this._parserFormatter=s,this._elRef=l,this._vcRef=u,this._renderer=S,this._ngZone=k,this._calendar=ce,this._dateAdapter=we,this._document=Xe,this._changeDetector=ze,this._cRef=null,this._disabled=!1,this._elWithFocus=null,this._model=null,this._destroyCloseHandlers$=new Q.B,this.dateSelect=new r.bkB,this.navigate=new r.bkB,this.closed=new r.bkB,this._onChange=vt=>{},this._onTouched=()=>{},this._validatorChange=()=>{},["autoClose","container","positionTarget","placement","popperOptions"].forEach(vt=>this[vt]=Et[vt]),this._positioning=gu()}registerOnChange(s){this._onChange=s}registerOnTouched(s){this._onTouched=s}registerOnValidatorChange(s){this._validatorChange=s}setDisabledState(s){this.disabled=s}validate(s){const{value:l}=s;if(null!=l){const u=this._fromDateStruct(this._dateAdapter.fromModel(l));if(!u)return{ngbDate:{invalid:l}};if(this.minDate&&u.before(p.from(this.minDate)))return{ngbDate:{minDate:{minDate:this.minDate,actual:l}}};if(this.maxDate&&u.after(p.from(this.maxDate)))return{ngbDate:{maxDate:{maxDate:this.maxDate,actual:l}}}}return null}writeValue(s){this._model=this._fromDateStruct(this._dateAdapter.fromModel(s)),this._writeModelValue(this._model)}manualDateChange(s,l=!1){const u=s!==this._inputValue;u&&(this._inputValue=s,this._model=this._fromDateStruct(this._parserFormatter.parse(s))),(u||!l)&&this._onChange(this._model?this._dateAdapter.toModel(this._model):""===s?null:s),l&&this._model&&this._writeModelValue(this._model)}isOpen(){return!!this._cRef}open(){if(!this.isOpen()){let s;if(this._cRef=this._vcRef.createComponent(Ho),this._applyPopupStyling(this._cRef.location.nativeElement),this._applyDatepickerInputs(this._cRef),this._subscribeForDatepickerOutputs(this._cRef.instance),this._cRef.instance.ngOnInit(),this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model)),this._cRef.instance.registerOnChange(l=>{this.writeValue(l),this._onChange(l),this._onTouched()}),this._cRef.changeDetectorRef.detectChanges(),this._cRef.instance.setDisabledState(this.disabled),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement),this._elWithFocus=this._document.activeElement,pu(this._ngZone,this._cRef.location.nativeElement,this.closed,!0),setTimeout(()=>this._cRef?.instance.focus()),s=ln(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget instanceof HTMLElement?this.positionTarget:this._elRef.nativeElement,this._ngZone.runOutsideAngular(()=>{this._cRef&&(this._positioning.createPopper({hostElement:s,targetElement:this._cRef.location.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:l=>this.popperOptions(fc([0,2])(l))}),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positioning.update()))}),this.positionTarget&&!s)throw new Error("ngbDatepicker could not find element declared in [positionTarget] to position against.");this._setCloseHandlers()}}close(){if(this.isOpen()){this._vcRef.remove(this._vcRef.indexOf(this._cRef.hostView)),this._cRef=null,this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.closed.emit(),this._changeDetector.markForCheck();let s=this._elWithFocus;ln(this.restoreFocus)?s=this._document.querySelector(this.restoreFocus):void 0!==this.restoreFocus&&(s=this.restoreFocus),s&&s.focus?s.focus():this._document.body.focus()}}toggle(){this.isOpen()?this.close():this.open()}navigateTo(s){this.isOpen()&&this._cRef.instance.navigateTo(s)}onBlur(){this._onTouched()}onFocus(){this._elWithFocus=this._elRef.nativeElement}ngOnChanges(s){if((s.minDate||s.maxDate)&&(this._validatorChange(),this.isOpen()&&(s.minDate&&(this._cRef.instance.minDate=this.minDate),s.maxDate&&(this._cRef.instance.maxDate=this.maxDate),this._cRef.instance.ngOnChanges(s))),s.datepickerClass){const{currentValue:l,previousValue:u}=s.datepickerClass;this._applyPopupClass(l,u)}s.autoClose&&this.isOpen()&&this._setCloseHandlers()}ngOnDestroy(){this.close()}_applyDatepickerInputs(s){["contentTemplate","dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showNavigation","showWeekNumbers","weekdays"].forEach(l=>{void 0!==this[l]&&s.setInput(l,this[l])}),s.setInput("startDate",this.startDate||this._model)}_applyPopupClass(s,l){const u=this._cRef?.location.nativeElement;u&&(s&&this._renderer.addClass(u,s),l&&this._renderer.removeClass(u,l))}_applyPopupStyling(s){this._renderer.addClass(s,"dropdown-menu"),this._renderer.addClass(s,"show"),"body"===this.container&&this._renderer.addClass(s,"ngb-dp-body"),this._applyPopupClass(this.datepickerClass)}_subscribeForDatepickerOutputs(s){s.navigate.subscribe(l=>this.navigate.emit(l)),s.dateSelect.subscribe(l=>{this.dateSelect.emit(l),(!0===this.autoClose||"inside"===this.autoClose)&&this.close()})}_writeModelValue(s){const l=this._parserFormatter.format(s);this._inputValue=l,this._renderer.setProperty(this._elRef.nativeElement,"value",l),this.isOpen()&&(this._cRef.instance.writeValue(this._dateAdapter.toModel(s)),this._onTouched())}_fromDateStruct(s){const l=s?new p(s.year,s.month,s.day):null;return this._calendar.isValid(l)?l:null}_setCloseHandlers(){this._destroyCloseHandlers$.next(),po(this._ngZone,this._document,this.autoClose,()=>this.close(),this._destroyCloseHandlers$,[],[this._elRef.nativeElement,this._cRef.location.nativeElement])}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Rs),r.rXU(r.aKT),r.rXU(r.c1b),r.rXU(r.sFG),r.rXU(r.SKi),r.rXU(ta),r.rXU(Bs),r.rXU(ct.qQ),r.rXU(r.gRc),r.rXU(hc))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["input","ngbDatepicker",""]],hostVars:1,hostBindings:function(l,u){1&l&&r.bIt("input",function(k){return u.manualDateChange(k.target.value)})("change",function(k){return u.manualDateChange(k.target.value,!0)})("focus",function(){return u.onFocus()})("blur",function(){return u.onBlur()}),2&l&&r.Mr5("disabled",u.disabled)},inputs:{autoClose:"autoClose",contentTemplate:"contentTemplate",datepickerClass:"datepickerClass",dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",minDate:"minDate",maxDate:"maxDate",navigation:"navigation",outsideDays:"outsideDays",placement:"placement",popperOptions:"popperOptions",restoreFocus:"restoreFocus",showWeekNumbers:"showWeekNumbers",startDate:"startDate",container:"container",positionTarget:"positionTarget",weekdays:"weekdays",disabled:"disabled"},outputs:{dateSelect:"dateSelect",navigate:"navigate",closed:"closed"},exportAs:["ngbDatepicker"],standalone:!0,features:[r.Jv_([{provide:ft.kq,useExisting:(0,r.Rfq)(()=>a),multi:!0},{provide:ft.cz,useExisting:(0,r.Rfq)(()=>a),multi:!0},{provide:rl,useExisting:hc}]),r.OA$]})}}return a})();new Date(1882,10,12),new Date(2174,10,25);let yc=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),uh=(()=>{class a{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=s=>s}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Fa=(()=>{class a{set disabled(s){this._disabled=""===s||!0===s,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(s,l){this.elementRef=s,this._renderer=l,this._disabled=!1}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.aKT),r.rXU(r.sFG))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(l,u){2&l&&(r.Mr5("tabIndex",u.disabled?-1:0),r.AVh("disabled",u.disabled))},inputs:{disabled:"disabled"},standalone:!0})}}return a})(),sa=(()=>{class a{constructor(s,l){this.dropdown=s,this.placement="bottom",this.isOpen=!1,this.nativeElement=l.nativeElement}static{this.\u0275fac=function(l){return new(l||a)(r.rXU((0,r.Rfq)(()=>La)),r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(l,u,S){if(1&l&&r.wni(S,Fa,4),2&l){let k;r.mGM(k=r.lsd())&&(u.menuItems=k)}},hostVars:4,hostBindings:function(l,u){1&l&&r.bIt("keydown.ArrowUp",function(k){return u.dropdown.onKeyDown(k)})("keydown.ArrowDown",function(k){return u.dropdown.onKeyDown(k)})("keydown.Home",function(k){return u.dropdown.onKeyDown(k)})("keydown.End",function(k){return u.dropdown.onKeyDown(k)})("keydown.Enter",function(k){return u.dropdown.onKeyDown(k)})("keydown.Space",function(k){return u.dropdown.onKeyDown(k)})("keydown.Tab",function(k){return u.dropdown.onKeyDown(k)})("keydown.Shift.Tab",function(k){return u.dropdown.onKeyDown(k)}),2&l&&r.AVh("dropdown-menu",!0)("show",u.dropdown.isOpen())},standalone:!0})}}return a})(),ul=(()=>{class a{constructor(s,l){this.dropdown=s,this.nativeElement=l.nativeElement}static{this.\u0275fac=function(l){return new(l||a)(r.rXU((0,r.Rfq)(()=>La)),r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(l,u){2&l&&r.BMQ("aria-expanded",u.dropdown.isOpen())},standalone:!0})}}return a})(),ka=(()=>{class a extends ul{constructor(s,l){super(s,l)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU((0,r.Rfq)(()=>La)),r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(l,u){1&l&&r.bIt("click",function(){return u.dropdown.toggle()})("keydown.ArrowUp",function(k){return u.dropdown.onKeyDown(k)})("keydown.ArrowDown",function(k){return u.dropdown.onKeyDown(k)})("keydown.Home",function(k){return u.dropdown.onKeyDown(k)})("keydown.End",function(k){return u.dropdown.onKeyDown(k)})("keydown.Tab",function(k){return u.dropdown.onKeyDown(k)})("keydown.Shift.Tab",function(k){return u.dropdown.onKeyDown(k)}),2&l&&r.BMQ("aria-expanded",u.dropdown.isOpen())},standalone:!0,features:[r.Jv_([{provide:ul,useExisting:(0,r.Rfq)(()=>a)}]),r.Vt3]})}}return a})(),La=(()=>{class a{constructor(s,l,u,S,k,ce){this._changeDetector=s,this._document=u,this._ngZone=S,this._elementRef=k,this._renderer=ce,this._destroyCloseHandlers$=new Q.B,this._bodyContainer=null,this._open=!1,this.openChange=new r.bkB,this.placement=l.placement,this.popperOptions=l.popperOptions,this.container=l.container,this.autoClose=l.autoClose,this._positioning=gu()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe((0,De.s)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(s){if(s.container&&this._open&&this._applyContainer(this.container),s.placement&&!s.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),s.dropdownClass){const{currentValue:l,previousValue:u}=s.dropdownClass;this._applyCustomDropdownClass(l,u)}s.autoClose&&this._open&&(this.autoClose=s.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:s=>this.popperOptions(fc([0,2])(s))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),po(this._ngZone,this._document,this.autoClose,s=>{this.close(),0===s&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(s){const l=s.which,u=this._getMenuElements();let S=-1,k=null;const ce=this._isEventFromToggle(s);if(!ce&&u.length&&u.forEach((we,Xe)=>{we.contains(s.target)&&(k=we),we===Rt(this._document)&&(S=Xe)}),l!==Jn.Space&&l!==Jn.Enter){if(l!==Jn.Tab){if(ce||k){if(this.open(),u.length){switch(l){case Jn.ArrowDown:S=Math.min(S+1,u.length-1);break;case Jn.ArrowUp:if(this._isDropup()&&-1===S){S=u.length-1;break}S=Math.max(S-1,0);break;case Jn.Home:S=0;break;case Jn.End:S=u.length-1}u[S].focus()}s.preventDefault()}}else if(s.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===s.target)return void("body"!==this.container||s.shiftKey?s.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const we=this._menu.nativeElement.querySelectorAll(ia);s.shiftKey&&s.target===we[0]?(this._anchor.nativeElement.focus(),s.preventDefault()):!s.shiftKey&&s.target===we[we.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else J(s.target,"focusout").pipe((0,De.s)(1)).subscribe(({relatedTarget:we})=>{this._elementRef.nativeElement.contains(we)||this.close()})}}else k&&(!0===this.autoClose||"inside"===this.autoClose)&&J(k,"click").pipe((0,De.s)(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(s){return this._anchor.nativeElement.contains(s.target)}_getMenuElements(){const s=this._menu;return null==s?[]:s.menuItems.filter(l=>!l.disabled).map(l=>l.elementRef.nativeElement)}_positionMenu(){const s=this._menu;this.isOpen()&&s&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(s){return Array.isArray(s)?s[0]:s.split(" ")[0]}_resetContainer(){const s=this._renderer;this._menu&&s.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(s.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(s=null){if(this._resetContainer(),"body"===s){const l=this._renderer,u=this._menu.nativeElement,S=this._bodyContainer=this._bodyContainer||l.createElement("div");l.setStyle(S,"position","absolute"),l.setStyle(u,"position","static"),l.setStyle(S,"z-index","1055"),l.appendChild(S,u),l.appendChild(this._document.body,S)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(s,l){const u="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;u&&(l&&this._renderer.removeClass(u,l),s&&this._renderer.addClass(u,s))}_applyPlacementClasses(s){const l=this._menu;if(l){s||(s=this._getFirstPlacement(this.placement));const u=this._renderer,S=this._elementRef.nativeElement;u.removeClass(S,"dropup"),u.removeClass(S,"dropdown");const{nativeElement:k}=l;"static"===this.display?(l.placement=null,u.setAttribute(k,"data-bs-popper","static")):(l.placement=s,u.removeAttribute(k,"data-bs-popper"));const ce=-1!==s.search("^top")?"dropup":"dropdown";u.addClass(S,ce);const we=this._bodyContainer;we&&(u.removeClass(we,"dropup"),u.removeClass(we,"dropdown"),u.addClass(we,ce))}}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.gRc),r.rXU(uh),r.rXU(ct.qQ),r.rXU(r.SKi),r.rXU(r.aKT),r.rXU(r.sFG))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbDropdown",""]],contentQueries:function(l,u,S){if(1&l&&(r.wni(S,sa,5),r.wni(S,ul,5)),2&l){let k;r.mGM(k=r.lsd())&&(u._menu=k.first),r.mGM(k=r.lsd())&&(u._anchor=k.first)}},hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("show",u.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[r.OA$]})}}return a})(),Dc=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();class ps{constructor(v,s,l){this.nodes=v,this.viewRef=s,this.componentRef=l}}class Ec{constructor(v,s,l,u,S,k){this._componentType=v,this._injector=s,this._viewContainerRef=l,this._renderer=u,this._ngZone=S,this._applicationRef=k,this._windowRef=null,this._contentRef=null}open(v,s,l=!1){this._windowRef||(this._contentRef=this._getContentRef(v,s),this._windowRef=this._viewContainerRef.createComponent(this._componentType,{injector:this._injector,projectableNodes:this._contentRef.nodes}));const{nativeElement:u}=this._windowRef.location,S=this._ngZone.onStable.pipe((0,De.s)(1),(0,le.Z)(()=>cn(this._ngZone,u,({classList:k})=>k.add("show"),{animation:l,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:S}}close(v=!1){return this._windowRef?cn(this._ngZone,this._windowRef.location.nativeElement,({classList:s})=>s.remove("show"),{animation:v,runningTransition:"stop"}).pipe((0,$e.M)(()=>{this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),this._contentRef?.viewRef&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,oe.of)(void 0)}_getContentRef(v,s){if(v){if(v instanceof r.C4Q){const l=v.createEmbeddedView(s);return this._applicationRef.attachView(l),new ps([l.rootNodes],l)}return new ps([[this._renderer.createText(`${v}`)]])}return new ps([])}}let dl=(()=>{class a{constructor(s,l){this._el=s,this._zone=l}ngOnInit(){this._zone.onStable.asObservable().pipe((0,De.s)(1)).subscribe(()=>{cn(this._zone,this._el.nativeElement,(s,l)=>{l&&Ei(s),s.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return cn(this._zone,this._el.nativeElement,({classList:s})=>s.remove("show"),{animation:this.animation,runningTransition:"stop"})}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.aKT),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(l,u){2&l&&(r.HbH("modal-backdrop"+(u.backdropClass?" "+u.backdropClass:"")),r.AVh("show",!u.animation)("fade",u.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[r.aNF],decls:0,vars:0,template:function(l,u){},encapsulation:2})}}return a})();class hl{update(v){}close(v){}dismiss(v){}}const dh=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],hh=["animation","backdropClass"];class oa{_applyWindowOptions(v,s){dh.forEach(l=>{Rn(s[l])&&(v[l]=s[l])})}_applyBackdropOptions(v,s){hh.forEach(l=>{Rn(s[l])&&(v[l]=s[l])})}update(v){this._applyWindowOptions(this._windowCmptRef.instance,v),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,v)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,Ye.Q)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,Ye.Q)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(v,s,l,u){this._windowCmptRef=v,this._contentRef=s,this._backdropCmptRef=l,this._beforeDismiss=u,this._closed=new Q.B,this._dismissed=new Q.B,this._hidden=new Q.B,v.instance.dismissEvent.subscribe(S=>{this.dismiss(S)}),this.result=new Promise((S,k)=>{this._resolve=S,this._reject=k}),this.result.then(null,()=>{})}close(v){this._windowCmptRef&&(this._closed.next(v),this._resolve(v),this._removeModalElements())}_dismiss(v){this._dismissed.next(v),this._reject(v),this._removeModalElements()}dismiss(v){if(this._windowCmptRef)if(this._beforeDismiss){const s=this._beforeDismiss();Ri(s)?s.then(l=>{!1!==l&&this._dismiss(v)},()=>{}):!1!==s&&this._dismiss(v)}else this._dismiss(v)}_removeModalElements(){const v=this._windowCmptRef.instance.hide(),s=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,oe.of)(void 0);v.subscribe(()=>{const{nativeElement:l}=this._windowCmptRef.location;l.parentNode.removeChild(l),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),s.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:l}=this._backdropCmptRef.location;l.parentNode.removeChild(l),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Ve(v,s).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var yo=function(a){return a[a.BACKDROP_CLICK=0]="BACKDROP_CLICK",a[a.ESC=1]="ESC",a}(yo||{});let fh=(()=>{class a{constructor(s,l,u){this._document=s,this._elRef=l,this._zone=u,this._closed$=new Q.B,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new r.bkB,this.shown=new Q.B,this.hidden=new Q.B}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":ln(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(s){this.dismissEvent.emit(s)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,De.s)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:s}=this._elRef,l={animation:this.animation,runningTransition:"stop"},k=Ve(cn(this._zone,s,()=>s.classList.remove("show"),l),cn(this._zone,this._dialogEl.nativeElement,()=>{},l));return k.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),k}_show(){const s={animation:this.animation,runningTransition:"continue"};Ve(cn(this._zone,this._elRef.nativeElement,(S,k)=>{k&&Ei(S),S.classList.add("show")},s),cn(this._zone,this._dialogEl.nativeElement,()=>{},s)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:s}=this._elRef;this._zone.runOutsideAngular(()=>{J(s,"keydown").pipe((0,Ye.Q)(this._closed$),(0,ne.p)(u=>u.which===Jn.Escape)).subscribe(u=>{this.keyboard?requestAnimationFrame(()=>{u.defaultPrevented||this._zone.run(()=>this.dismiss(yo.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let l=!1;J(this._dialogEl.nativeElement,"mousedown").pipe((0,Ye.Q)(this._closed$),(0,$e.M)(()=>l=!1),(0,xe.n)(()=>J(s,"mouseup").pipe((0,Ye.Q)(this._closed$),(0,De.s)(1))),(0,ne.p)(({target:u})=>s===u)).subscribe(()=>{l=!0}),J(s,"click").pipe((0,Ye.Q)(this._closed$)).subscribe(({target:u})=>{s===u&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!l&&this._zone.run(()=>this.dismiss(yo.BACKDROP_CLICK))),l=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:s}=this._elRef;if(!s.contains(document.activeElement)){const l=s.querySelector("[ngbAutofocus]"),u=cc(s)[0];(l||u||s).focus()}}_restoreFocus(){const s=this._document.body,l=this._elWithFocus;let u;u=l&&l.focus&&s.contains(l)?l:s,this._zone.runOutsideAngular(()=>{setTimeout(()=>u.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&cn(this._zone,this._elRef.nativeElement,({classList:s})=>(s.add("modal-static"),()=>s.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(ct.qQ),r.rXU(r.aKT),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-modal-window"]],viewQuery:function(l,u){if(1&l&&r.GBs(j,7),2&l){let S;r.mGM(S=r.lsd())&&(u._dialogEl=S.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(l,u){2&l&&(r.BMQ("aria-modal",!0)("aria-labelledby",u.ariaLabelledBy)("aria-describedby",u.ariaDescribedBy),r.HbH("modal d-block"+(u.windowClass?" "+u.windowClass:"")),r.AVh("fade",u.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[r.aNF],ngContentSelectors:ir,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(l,u){1&l&&(r.NAR(),r.j41(0,"div",0,1)(2,"div",2),r.SdG(3),r.k0s()()),2&l&&r.HbH("modal-dialog"+(u.size?" modal-"+u.size:"")+(u.centered?" modal-dialog-centered":"")+u.fullscreenClass+(u.scrollable?" modal-dialog-scrollable":"")+(u.modalDialogClass?" "+u.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}}return a})(),ph=(()=>{class a{constructor(s){this._document=s}hide(){const s=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),l=this._document.body,u=l.style,{overflow:S,paddingRight:k}=u;if(s>0){const ce=parseFloat(window.getComputedStyle(l).paddingRight);u.paddingRight=`${ce+s}px`}return u.overflow="hidden",()=>{s>0&&(u.paddingRight=k),u.overflow=S}}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(ct.qQ))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Eu=(()=>{class a{constructor(s,l,u,S,k,ce,we){this._applicationRef=s,this._injector=l,this._environmentInjector=u,this._document=S,this._scrollBar=k,this._rendererFactory=ce,this._ngZone=we,this._activeWindowCmptHasChanged=new Q.B,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new r.bkB,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const Xe=this._windowCmpts[this._windowCmpts.length-1];pu(this._ngZone,Xe.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(Xe.location.nativeElement)}})}_restoreScrollBar(){const s=this._scrollBarRestoreFn;s&&(this._scrollBarRestoreFn=null,s())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(s,l,u){const S=u.container instanceof HTMLElement?u.container:Rn(u.container)?this._document.querySelector(u.container):this._document.body,k=this._rendererFactory.createRenderer(null,null);if(!S)throw new Error(`The specified modal container "${u.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const ce=new hl,we=(s=u.injector||s).get(r.uvJ,null)||this._environmentInjector,Xe=this._getContentRef(s,we,l,ce,u);let ze=!1!==u.backdrop?this._attachBackdrop(S):void 0,Et=this._attachWindowComponent(S,Xe.nodes),vt=new oa(Et,Xe,ze,u.beforeDismiss);return this._registerModalRef(vt),this._registerWindowCmpt(Et),vt.hidden.pipe((0,De.s)(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(k.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),ce.close=wt=>{vt.close(wt)},ce.dismiss=wt=>{vt.dismiss(wt)},ce.update=wt=>{vt.update(wt)},vt.update(u),1===this._modalRefs.length&&k.addClass(this._document.body,"modal-open"),ze&&ze.instance&&ze.changeDetectorRef.detectChanges(),Et.changeDetectorRef.detectChanges(),vt}get activeInstances(){return this._activeInstances}dismissAll(s){this._modalRefs.forEach(l=>l.dismiss(s))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(s){let l=(0,r.a0P)(dl,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(l.hostView),s.appendChild(l.location.nativeElement),l}_attachWindowComponent(s,l){let u=(0,r.a0P)(fh,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:l});return this._applicationRef.attachView(u.hostView),s.appendChild(u.location.nativeElement),u}_getContentRef(s,l,u,S,k){return u?u instanceof r.C4Q?this._createFromTemplateRef(u,S):ln(u)?this._createFromString(u):this._createFromComponent(s,l,u,S,k):new ps([])}_createFromTemplateRef(s,l){const S=s.createEmbeddedView({$implicit:l,close(k){l.close(k)},dismiss(k){l.dismiss(k)}});return this._applicationRef.attachView(S),new ps([S.rootNodes],S)}_createFromString(s){const l=this._document.createTextNode(`${s}`);return new ps([[l]])}_createFromComponent(s,l,u,S,k){const ce=r.zZn.create({providers:[{provide:hl,useValue:S}],parent:s}),we=(0,r.a0P)(u,{environmentInjector:l,elementInjector:ce}),Xe=we.location.nativeElement;return k.scrollable&&Xe.classList.add("component-host-scrollable"),this._applicationRef.attachView(we.hostView),new ps([[Xe]],we.hostView,we)}_setAriaHidden(s){const l=s.parentElement;l&&s!==this._document.body&&(Array.from(l.children).forEach(u=>{u!==s&&"SCRIPT"!==u.nodeName&&(this._ariaHiddenValues.set(u,u.getAttribute("aria-hidden")),u.setAttribute("aria-hidden","true"))}),this._setAriaHidden(l))}_revertAriaHidden(){this._ariaHiddenValues.forEach((s,l)=>{s?l.setAttribute("aria-hidden",s):l.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(s){const l=()=>{const u=this._modalRefs.indexOf(s);u>-1&&(this._modalRefs.splice(u,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(s),this._activeInstances.emit(this._modalRefs),s.result.then(l,l)}_registerWindowCmpt(s){this._windowCmpts.push(s),this._activeWindowCmptHasChanged.next(),s.onDestroy(()=>{const l=this._windowCmpts.indexOf(s);l>-1&&(this._windowCmpts.splice(l,1),this._activeWindowCmptHasChanged.next())})}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(r.o8S),r.KVO(r.zZn),r.KVO(r.uvJ),r.KVO(ct.qQ),r.KVO(ph),r.KVO(r._9s),r.KVO(r.SKi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),wu=(()=>{class a{constructor(s){this._ngbConfig=s,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),gh=(()=>{class a{constructor(s,l,u){this._injector=s,this._modalStack=l,this._config=u}open(s,l={}){const u={...this._config,animation:this._config.animation,...l};return this._modalStack.open(this._injector,s,u)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(s){this._modalStack.dismissAll(s)}hasOpenModals(){return this._modalStack.hasOpenModals()}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(r.zZn),r.KVO(Eu),r.KVO(wu))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Cu=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({providers:[gh]})}}return a})(),mh=(()=>{class a{constructor(s){this._ngbConfig=s,this.destroyOnHide=!0,this.orientation="horizontal",this.roles="tablist",this.keyboard=!1}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})();const Tu=a=>Rn(a)&&""!==a;let fl=0,pl=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbNavContent",""]],standalone:!0})}}return a})(),Mu=(()=>{class a{constructor(s,l){this.role=s,this.nav=l}static{this.\u0275fac=function(l){return new(l||a)(r.kS0("role"),r.rXU((0,r.Rfq)(()=>aa)))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbNavItem","",5,"ng-container"]],hostVars:1,hostBindings:function(l,u){2&l&&r.BMQ("role",u.role?u.role:u.nav.roles?"presentation":void 0)},standalone:!0})}}return a})(),Go=(()=>{class a{constructor(s,l){this._nav=s,this.elementRef=l,this.disabled=!1,this.shown=new r.bkB,this.hidden=new r.bkB}ngAfterContentChecked(){this.contentTpl=this.contentTpls.first}ngOnInit(){Rn(this.domId)||(this.domId="ngb-nav-"+fl++)}get active(){return this._nav.activeId===this.id}get id(){return Tu(this._id)?this._id:this.domId}get panelDomId(){return`${this.domId}-panel`}isPanelInDom(){return(Rn(this.destroyOnHide)?!this.destroyOnHide:!this._nav.destroyOnHide)||this.active}static{this.\u0275fac=function(l){return new(l||a)(r.rXU((0,r.Rfq)(()=>aa)),r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbNavItem",""]],contentQueries:function(l,u,S){if(1&l&&r.wni(S,pl,4),2&l){let k;r.mGM(k=r.lsd())&&(u.contentTpls=k)}},hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("nav-item",!0)},inputs:{destroyOnHide:"destroyOnHide",disabled:"disabled",domId:"domId",_id:["ngbNavItem","_id"]},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbNavItem"],standalone:!0})}}return a})(),aa=(()=>{class a{constructor(s,l,u,S){this.role=s,this._cd=u,this._document=S,this.activeIdChange=new r.bkB,this.shown=new r.bkB,this.hidden=new r.bkB,this.destroy$=new Q.B,this.navItemChange$=new Q.B,this.navChange=new r.bkB,this.animation=l.animation,this.destroyOnHide=l.destroyOnHide,this.orientation=l.orientation,this.roles=l.roles,this.keyboard=l.keyboard}click(s){s.disabled||this._updateActiveId(s.id)}onKeyDown(s){if("tablist"!==this.roles||!this.keyboard)return;const l=s.which,u=this.links.filter(ce=>!ce.navItem.disabled),{length:S}=u;let k=-1;if(u.forEach((ce,we)=>{ce.elRef.nativeElement===this._document.activeElement&&(k=we)}),S){switch(l){case Jn.ArrowLeft:if("vertical"===this.orientation)return;k=(k-1+S)%S;break;case Jn.ArrowRight:if("vertical"===this.orientation)return;k=(k+1)%S;break;case Jn.ArrowDown:if("horizontal"===this.orientation)return;k=(k+1)%S;break;case Jn.ArrowUp:if("horizontal"===this.orientation)return;k=(k-1+S)%S;break;case Jn.Home:k=0;break;case Jn.End:k=S-1}"changeWithArrows"===this.keyboard&&this.select(u[k].navItem.id),u[k].elRef.nativeElement.focus(),s.preventDefault()}}select(s){this._updateActiveId(s,!1)}ngAfterContentInit(){if(!Rn(this.activeId)){const s=this.items.first?this.items.first.id:null;Tu(s)&&(this._updateActiveId(s,!1),this._cd.detectChanges())}this.items.changes.pipe((0,Ye.Q)(this.destroy$)).subscribe(()=>this._notifyItemChanged(this.activeId))}ngOnChanges({activeId:s}){s&&!s.firstChange&&this._notifyItemChanged(s.currentValue)}ngOnDestroy(){this.destroy$.next()}_updateActiveId(s,l=!0){if(this.activeId!==s){let u=!1;l&&this.navChange.emit({activeId:this.activeId,nextId:s,preventDefault:()=>{u=!0}}),u||(this.activeId=s,this.activeIdChange.emit(s),this._notifyItemChanged(s))}}_notifyItemChanged(s){this.navItemChange$.next(this._getItemById(s))}_getItemById(s){return this.items&&this.items.find(l=>l.id===s)||null}static{this.\u0275fac=function(l){return new(l||a)(r.kS0("role"),r.rXU(mh),r.rXU(r.gRc),r.rXU(ct.qQ))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbNav",""]],contentQueries:function(l,u,S){if(1&l&&(r.wni(S,Go,4),r.wni(S,la,5)),2&l){let k;r.mGM(k=r.lsd())&&(u.items=k),r.mGM(k=r.lsd())&&(u.links=k)}},hostVars:6,hostBindings:function(l,u){1&l&&r.bIt("keydown.arrowLeft",function(k){return u.onKeyDown(k)})("keydown.arrowRight",function(k){return u.onKeyDown(k)})("keydown.arrowDown",function(k){return u.onKeyDown(k)})("keydown.arrowUp",function(k){return u.onKeyDown(k)})("keydown.Home",function(k){return u.onKeyDown(k)})("keydown.End",function(k){return u.onKeyDown(k)}),2&l&&(r.BMQ("aria-orientation","vertical"===u.orientation&&"tablist"===u.roles?"vertical":void 0)("role",u.role?u.role:u.roles?"tablist":void 0),r.AVh("nav",!0)("flex-column","vertical"===u.orientation))},inputs:{activeId:"activeId",animation:"animation",destroyOnHide:"destroyOnHide",orientation:"orientation",roles:"roles",keyboard:"keyboard"},outputs:{activeIdChange:"activeIdChange",shown:"shown",hidden:"hidden",navChange:"navChange"},exportAs:["ngbNav"],standalone:!0,features:[r.OA$]})}}return a})(),la=(()=>{class a{constructor(s,l,u,S){this.role=s,this.navItem=l,this.nav=u,this.elRef=S}hasNavItemClass(){return this.navItem.elementRef.nativeElement.nodeType===Node.COMMENT_NODE}static{this.\u0275fac=function(l){return new(l||a)(r.kS0("role"),r.rXU(Go),r.rXU(aa),r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbNavLink",""]],hostVars:14,hostBindings:function(l,u){2&l&&(r.Mr5("id",u.navItem.domId),r.BMQ("role",u.role?u.role:u.nav.roles?"tab":void 0)("tabindex",u.navItem.disabled?-1:void 0)("aria-controls",u.navItem.isPanelInDom()?u.navItem.panelDomId:null)("aria-selected",u.navItem.active)("aria-disabled",u.navItem.disabled),r.AVh("nav-link",!0)("nav-item",u.hasNavItemClass())("active",u.navItem.active)("disabled",u.navItem.disabled))},standalone:!0})}}return a})(),_h=(()=>{class a{constructor(s,l){this.navItem=s,this.nav=l}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(Go),r.rXU(aa))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["button","ngbNavLink",""]],hostAttrs:["type","button"],hostVars:1,hostBindings:function(l,u){1&l&&r.bIt("click",function(){return u.nav.click(u.navItem)}),2&l&&r.Mr5("disabled",u.navItem.disabled)},standalone:!0,features:[r.nM4([la])]})}}return a})();const yh=({classList:a})=>(a.remove("show"),()=>a.remove("active")),wc=(a,v)=>{v&&Ei(a),a.classList.add("show")};let Su=(()=>{class a{constructor(s){this.elRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbNavPane",""]],hostAttrs:[1,"tab-pane"],hostVars:5,hostBindings:function(l,u){2&l&&(r.Mr5("id",u.item.panelDomId),r.BMQ("role",u.role?u.role:u.nav.roles?"tabpanel":void 0)("aria-labelledby",u.item.domId),r.AVh("fade",u.nav.animation))},inputs:{item:"item",nav:"nav",role:"role"},standalone:!0})}}return a})(),bh=(()=>{class a{constructor(s,l){this._cd=s,this._ngZone=l,this._activePane=null}isPanelTransitioning(s){return this._activePane?.item===s}ngAfterViewInit(){this._updateActivePane(),this.nav.navItemChange$.pipe((0,Ye.Q)(this.nav.destroy$),(0,te.Z)(this._activePane?.item||null),(0,Te.F)(),(0,tt.i)(1)).subscribe(s=>{const l={animation:this.nav.animation,runningTransition:"stop"};this._cd.detectChanges(),this._activePane?cn(this._ngZone,this._activePane.elRef.nativeElement,yh,l).subscribe(()=>{const u=this._activePane?.item;this._activePane=this._getPaneForItem(s),this._cd.markForCheck(),this._activePane&&(this._activePane.elRef.nativeElement.classList.add("active"),cn(this._ngZone,this._activePane.elRef.nativeElement,wc,l).subscribe(()=>{s&&(s.shown.emit(),this.nav.shown.emit(s.id))})),u&&(u.hidden.emit(),this.nav.hidden.emit(u.id))}):this._updateActivePane()})}_updateActivePane(){this._activePane=this._getActivePane(),this._activePane?.elRef.nativeElement.classList.add("show"),this._activePane?.elRef.nativeElement.classList.add("active")}_getPaneForItem(s){return this._panes&&this._panes.find(l=>l.item===s)||null}_getActivePane(){return this._panes&&this._panes.find(s=>s.item.active)||null}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.gRc),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["","ngbNavOutlet",""]],viewQuery:function(l,u){if(1&l&&r.GBs(Su,5),2&l){let S;r.mGM(S=r.lsd())&&(u._panes=S)}},hostVars:2,hostBindings:function(l,u){2&l&&r.AVh("tab-content",!0)},inputs:{paneRole:"paneRole",nav:["ngbNavOutlet","nav"]},standalone:!0,features:[r.aNF],attrs:ie,decls:1,vars:1,consts:[["ngFor","",3,"ngForOf"],["ngbNavPane","",3,"item","nav","role",4,"ngIf"],["ngbNavPane","",3,"item","nav","role"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(l,u){1&l&&r.DNE(0,zi,1,1,"ng-template",0),2&l&&r.Y8G("ngForOf",u.nav.items)},dependencies:[Su,ct.pM,ct.bT,ct.T3],encapsulation:2,changeDetection:0})}}return a})(),Ou=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),ag=(()=>{class a{constructor(){this.disabled=!1,this.boundaryLinks=!1,this.directionLinks=!0,this.ellipses=!0,this.maxSize=0,this.pageSize=10,this.rotate=!1}static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Dh=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationEllipsis",""]],standalone:!0})}}return a})(),Eh=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationFirst",""]],standalone:!0})}}return a})(),wh=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationLast",""]],standalone:!0})}}return a})(),Au=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationNext",""]],standalone:!0})}}return a})(),Ba=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationNumber",""]],standalone:!0})}}return a})(),Va=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationPrevious",""]],standalone:!0})}}return a})(),Cc=(()=>{class a{constructor(s){this.templateRef=s}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.C4Q))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["ng-template","ngbPaginationPages",""]],standalone:!0})}}return a})(),Tc=(()=>{class a{constructor(s){this.pageCount=0,this.pages=[],this.page=1,this.pageChange=new r.bkB(!0),this.disabled=s.disabled,this.boundaryLinks=s.boundaryLinks,this.directionLinks=s.directionLinks,this.ellipses=s.ellipses,this.maxSize=s.maxSize,this.pageSize=s.pageSize,this.rotate=s.rotate,this.size=s.size}hasPrevious(){return this.page>1}hasNext(){return this.page0&&(s>2?this.pages.unshift(-1):2===s&&this.pages.unshift(2),this.pages.unshift(1)),l0&&this.pageCount>this.maxSize){let l=0,u=this.pageCount;[l,u]=this.rotate?this._applyRotation():this._applyPagination(),this.pages=this.pages.slice(l,u),this._applyEllipses(l,u)}}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(ag))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-pagination"]],contentQueries:function(l,u,S){if(1&l&&(r.wni(S,Dh,5),r.wni(S,Eh,5),r.wni(S,wh,5),r.wni(S,Au,5),r.wni(S,Ba,5),r.wni(S,Va,5),r.wni(S,Cc,5)),2&l){let k;r.mGM(k=r.lsd())&&(u.tplEllipsis=k.first),r.mGM(k=r.lsd())&&(u.tplFirst=k.first),r.mGM(k=r.lsd())&&(u.tplLast=k.first),r.mGM(k=r.lsd())&&(u.tplNext=k.first),r.mGM(k=r.lsd())&&(u.tplNumber=k.first),r.mGM(k=r.lsd())&&(u.tplPrevious=k.first),r.mGM(k=r.lsd())&&(u.tplPages=k.first)}},hostAttrs:["role","navigation"],inputs:{disabled:"disabled",boundaryLinks:"boundaryLinks",directionLinks:"directionLinks",ellipses:"ellipses",rotate:"rotate",collectionSize:"collectionSize",maxSize:"maxSize",page:"page",pageSize:"pageSize",size:"size"},outputs:{pageChange:"pageChange"},standalone:!0,features:[r.OA$,r.aNF],decls:20,vars:12,consts:function(){let s,l,u,S,k,ce,we,Xe;return s=$localize`:@@ngb.pagination.first:««`,l=$localize`:@@ngb.pagination.previous:«`,u=$localize`:@@ngb.pagination.next:»`,S=$localize`:@@ngb.pagination.last:»»`,k=$localize`:@@ngb.pagination.first-aria:First`,ce=$localize`:@@ngb.pagination.previous-aria:Previous`,we=$localize`:@@ngb.pagination.next-aria:Next`,Xe=$localize`:@@ngb.pagination.last-aria:Last`,[["first",""],["previous",""],["next",""],["last",""],["ellipsis",""],["defaultNumber",""],["defaultPages",""],["class","page-item",3,"disabled",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true"],s,l,u,S,["class","page-item",3,"active","disabled",4,"ngFor","ngForOf"],[1,"page-item"],["class","page-link","tabindex","-1","aria-disabled","true",4,"ngIf"],["class","page-link","href","",3,"click",4,"ngIf"],["tabindex","-1","aria-disabled","true",1,"page-link"],["href","",1,"page-link",3,"click"],["aria-label",k,"href","",1,"page-link",3,"click"],["aria-label",ce,"href","",1,"page-link",3,"click"],["aria-label",we,"href","",1,"page-link",3,"click"],["aria-label",Xe,"href","",1,"page-link",3,"click"]]},template:function(l,u){if(1&l&&(r.DNE(0,yr,2,0,"ng-template",null,0,r.C5r),r.DNE(2,Gs,2,0,"ng-template",null,1,r.C5r),r.DNE(4,Ja,2,0,"ng-template",null,2,r.C5r),r.DNE(6,qa,2,0,"ng-template",null,3,r.C5r),r.DNE(8,pa,1,0,"ng-template",null,4,r.C5r),r.DNE(10,Fs,1,1,"ng-template",null,5,r.C5r),r.DNE(12,Zo,1,1,"ng-template",null,6,r.C5r),r.j41(14,"ul"),r.DNE(15,Ro,3,9,"li",7),r.DNE(16,us,3,8,"li",7),r.DNE(17,qi,0,0,"ng-template",8),r.DNE(18,oo,3,9,"li",7),r.DNE(19,xo,3,9,"li",7),r.k0s()),2&l){const S=r.sdS(13);r.R7$(14),r.HbH("pagination"+(u.size?" pagination-"+u.size:"")),r.R7$(1),r.Y8G("ngIf",u.boundaryLinks),r.R7$(1),r.Y8G("ngIf",u.directionLinks),r.R7$(1),r.Y8G("ngTemplateOutlet",(null==u.tplPages?null:u.tplPages.templateRef)||S)("ngTemplateOutletContext",r.sMw(8,lo,u.page,u.pages,u.disabled)),r.R7$(1),r.Y8G("ngIf",u.directionLinks),r.R7$(1),r.Y8G("ngIf",u.boundaryLinks)}},dependencies:[ct.bT,ct.pM,ct.T3],encapsulation:2,changeDetection:0})}}return a})(),bo=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();const Nu={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]};let xu=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),Fu=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),Ic=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),Bu=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),ca=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),Do=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})(),_l=(()=>{class a{constructor(s){this._ngbConfig=s,this.autoClose=!0,this.placement="auto",this.popperOptions=l=>l,this.triggers="hover focus",this.disableTooltip=!1,this.openDelay=0,this.closeDelay=0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Uu=0,Ac=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-tooltip-window"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(l,u){2&l&&(r.Mr5("id",u.id),r.HbH("tooltip"+(u.tooltipClass?" "+u.tooltipClass:"")),r.AVh("fade",u.animation))},inputs:{animation:"animation",id:"id",tooltipClass:"tooltipClass"},standalone:!0,features:[r.aNF],ngContentSelectors:ir,decls:3,vars:0,consts:[["data-popper-arrow","",1,"tooltip-arrow"],[1,"tooltip-inner"]],template:function(l,u){1&l&&(r.NAR(),r.nrm(0,"div",0),r.j41(1,"div",1),r.SdG(2),r.k0s())},styles:["ngb-tooltip-window{pointer-events:none;position:absolute}ngb-tooltip-window .tooltip-inner{pointer-events:auto}ngb-tooltip-window.bs-tooltip-top,ngb-tooltip-window.bs-tooltip-bottom{padding-left:0;padding-right:0}ngb-tooltip-window.bs-tooltip-start,ngb-tooltip-window.bs-tooltip-end{padding-top:0;padding-bottom:0}\n"],encapsulation:2,changeDetection:0})}}return a})(),vl=(()=>{class a{constructor(s,l,u,S,k,ce,we,Xe,ze){this._elementRef=s,this._renderer=l,this._ngZone=ce,this._document=we,this._changeDetector=Xe,this.shown=new r.bkB,this.hidden=new r.bkB,this._ngbTooltipWindowId="ngb-tooltip-"+Uu++,this._windowRef=null,this.animation=k.animation,this.autoClose=k.autoClose,this.placement=k.placement,this.popperOptions=k.popperOptions,this.triggers=k.triggers,this.container=k.container,this.disableTooltip=k.disableTooltip,this.tooltipClass=k.tooltipClass,this.openDelay=k.openDelay,this.closeDelay=k.closeDelay,this._popupService=new Ec(Ac,u,S,l,this._ngZone,ze),this._positioning=gu()}set ngbTooltip(s){this._ngbTooltip=s,!s&&this._windowRef&&this.close()}get ngbTooltip(){return this._ngbTooltip}open(s){if(!this._windowRef&&this._ngbTooltip&&!this.disableTooltip){const{windowRef:l,transition$:u}=this._popupService.open(this._ngbTooltip,s??this.tooltipContext,this.animation);this._windowRef=l,this._windowRef.setInput("animation",this.animation),this._windowRef.setInput("tooltipClass",this.tooltipClass),this._windowRef.setInput("id",this._ngbTooltipWindowId),this._renderer.setAttribute(this._getPositionTargetElement(),"aria-describedby",this._ngbTooltipWindowId),"body"===this.container&&this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._getPositionTargetElement(),targetElement:this._windowRef.location.nativeElement,placement:this.placement,appendToBody:"body"===this.container,baseClass:"bs-tooltip",updatePopperOptions:S=>this.popperOptions(S)}),Promise.resolve().then(()=>{this._positioning.update(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positioning.update())})}),po(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement],[this._elementRef.nativeElement]),u.subscribe(()=>this.shown.emit())}}close(s=this.animation){null!=this._windowRef&&(this._renderer.removeAttribute(this._getPositionTargetElement(),"aria-describedby"),this._popupService.close(s).subscribe(()=>{this._windowRef=null,this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=function gl(a,v,s,l,u,S=0,k=0){const ce=function Ru(a){const v=(a||"").trim();if(0===v.length)return[];const s=v.split(/\s+/).map(u=>u.split(":")).map(u=>Nu[u[0]]||u),l=s.filter(u=>u.includes("manual"));if(l.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===l.length&&s.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return l.length?[]:s}(v);if(0===ce.length)return()=>{};const we=new Set,Xe=[];let ze;function Et(wt,hn){a.addEventListener(wt,hn),Xe.push(()=>a.removeEventListener(wt,hn))}function vt(wt,hn){clearTimeout(ze),hn>0?ze=setTimeout(wt,hn):wt()}for(const[wt,hn]of ce)hn?(Et(wt,()=>{we.add(wt),vt(()=>we.size>0&&l(),S)}),Et(hn,()=>{we.delete(wt),vt(()=>0===we.size&&u(),k)})):Et(wt,()=>s()?vt(u,k):vt(l,S));return()=>Xe.forEach(wt=>wt())}(this._elementRef.nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({tooltipClass:s}){s&&this.isOpen()&&(this._windowRef.instance.tooltipClass=s.currentValue)}ngOnDestroy(){this.close(!1),this._unregisterListenersFn?.()}_getPositionTargetElement(){return(ln(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget)||this._elementRef.nativeElement}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.aKT),r.rXU(r.sFG),r.rXU(r.zZn),r.rXU(r.c1b),r.rXU(_l),r.rXU(r.SKi),r.rXU(ct.qQ),r.rXU(r.gRc),r.rXU(r.o8S))}}static{this.\u0275dir=r.FsC({type:a,selectors:[["","ngbTooltip",""]],inputs:{animation:"animation",autoClose:"autoClose",placement:"placement",popperOptions:"popperOptions",triggers:"triggers",positionTarget:"positionTarget",container:"container",disableTooltip:"disableTooltip",tooltipClass:"tooltipClass",tooltipContext:"tooltipContext",openDelay:"openDelay",closeDelay:"closeDelay",ngbTooltip:"ngbTooltip"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbTooltip"],standalone:!0,features:[r.OA$]})}}return a})(),Nc=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();new r.nKC("live announcer delay",{providedIn:"root",factory:function kh(){return 100}});let Gu=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();class Wu{close(v){}dismiss(v){}}class xc{get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,Ye.Q)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,Ye.Q)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._panelCmptRef.instance.shown.asObservable()}constructor(v,s,l,u){this._panelCmptRef=v,this._contentRef=s,this._backdropCmptRef=l,this._beforeDismiss=u,this._closed=new Q.B,this._dismissed=new Q.B,this._hidden=new Q.B,v.instance.dismissEvent.subscribe(S=>{this.dismiss(S)}),l&&l.instance.dismissEvent.subscribe(S=>{this.dismiss(S)}),this.result=new Promise((S,k)=>{this._resolve=S,this._reject=k}),this.result.then(null,()=>{})}close(v){this._panelCmptRef&&(this._closed.next(v),this._resolve(v),this._removeOffcanvasElements())}_dismiss(v){this._dismissed.next(v),this._reject(v),this._removeOffcanvasElements()}dismiss(v){if(this._panelCmptRef)if(this._beforeDismiss){const s=this._beforeDismiss();Ri(s)?s.then(l=>{!1!==l&&this._dismiss(v)},()=>{}):!1!==s&&this._dismiss(v)}else this._dismiss(v)}_removeOffcanvasElements(){const v=this._panelCmptRef.instance.hide(),s=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,oe.of)(void 0);v.subscribe(()=>{const{nativeElement:l}=this._panelCmptRef.location;l.parentNode.removeChild(l),this._panelCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._panelCmptRef=null,this._contentRef=null}),s.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:l}=this._backdropCmptRef.location;l.parentNode.removeChild(l),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Ve(v,s).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var yl=function(a){return a[a.BACKDROP_CLICK=0]="BACKDROP_CLICK",a[a.ESC=1]="ESC",a}(yl||{});let Wo=(()=>{class a{constructor(s,l){this._el=s,this._zone=l,this.dismissEvent=new r.bkB}ngOnInit(){this._zone.onStable.asObservable().pipe((0,De.s)(1)).subscribe(()=>{cn(this._zone,this._el.nativeElement,(s,l)=>{l&&Ei(s),s.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return cn(this._zone,this._el.nativeElement,({classList:s})=>s.remove("show"),{animation:this.animation,runningTransition:"stop"})}dismiss(){this.static||this.dismissEvent.emit(yl.BACKDROP_CLICK)}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(r.aKT),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-offcanvas-backdrop"]],hostVars:6,hostBindings:function(l,u){1&l&&r.bIt("mousedown",function(){return u.dismiss()}),2&l&&(r.HbH("offcanvas-backdrop"+(u.backdropClass?" "+u.backdropClass:"")),r.AVh("show",!u.animation)("fade",u.animation))},inputs:{animation:"animation",backdropClass:"backdropClass",static:"static"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[r.aNF],decls:0,vars:0,template:function(l,u){},encapsulation:2})}}return a})(),zu=(()=>{class a{constructor(s,l,u){this._document=s,this._elRef=l,this._zone=u,this._closed$=new Q.B,this._elWithFocus=null,this.keyboard=!0,this.position="start",this.dismissEvent=new r.bkB,this.shown=new Q.B,this.hidden=new Q.B}dismiss(s){this.dismissEvent.emit(s)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,De.s)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:s}=this._elRef,u=cn(this._zone,this._elRef.nativeElement,S=>(s.classList.remove("showing"),s.classList.add("hiding"),()=>s.classList.remove("show","hiding")),{animation:this.animation,runningTransition:"stop"});return u.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),u}_show(){cn(this._zone,this._elRef.nativeElement,(u,S)=>(S&&Ei(u),u.classList.add("show","showing"),()=>u.classList.remove("showing")),{animation:this.animation,runningTransition:"continue"}).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:s}=this._elRef;this._zone.runOutsideAngular(()=>{J(s,"keydown").pipe((0,Ye.Q)(this._closed$),(0,ne.p)(l=>l.which===Jn.Escape)).subscribe(l=>{this.keyboard&&requestAnimationFrame(()=>{l.defaultPrevented||this._zone.run(()=>this.dismiss(yl.ESC))})})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:s}=this._elRef;if(!s.contains(document.activeElement)){const l=s.querySelector("[ngbAutofocus]"),u=cc(s)[0];(l||u||s).focus()}}_restoreFocus(){const s=this._document.body,l=this._elWithFocus;let u;u=l&&l.focus&&s.contains(l)?l:s,this._zone.runOutsideAngular(()=>{setTimeout(()=>u.focus()),this._elWithFocus=null})}static{this.\u0275fac=function(l){return new(l||a)(r.rXU(ct.qQ),r.rXU(r.aKT),r.rXU(r.SKi))}}static{this.\u0275cmp=r.VBU({type:a,selectors:[["ngb-offcanvas-panel"]],hostAttrs:["role","dialog","tabindex","-1"],hostVars:5,hostBindings:function(l,u){2&l&&(r.BMQ("aria-modal",!0)("aria-labelledby",u.ariaLabelledBy)("aria-describedby",u.ariaDescribedBy),r.HbH("offcanvas offcanvas-"+u.position+(u.panelClass?" "+u.panelClass:"")))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",keyboard:"keyboard",panelClass:"panelClass",position:"position"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[r.aNF],ngContentSelectors:ir,decls:1,vars:0,template:function(l,u){1&l&&(r.NAR(),r.SdG(0))},encapsulation:2})}}return a})(),Ku=(()=>{class a{constructor(s,l,u,S,k){this._applicationRef=s,this._injector=l,this._document=u,this._scrollBar=S,this._ngZone=k,this._activePanelCmptHasChanged=new Q.B,this._scrollBarRestoreFn=null,this._backdropAttributes=["animation","backdropClass"],this._panelAttributes=["animation","ariaDescribedBy","ariaLabelledBy","keyboard","panelClass","position"],this._activeInstance=new r.bkB,this._activePanelCmptHasChanged.subscribe(()=>{this._panelCmpt&&pu(this._ngZone,this._panelCmpt.location.nativeElement,this._activePanelCmptHasChanged)})}_restoreScrollBar(){const s=this._scrollBarRestoreFn;s&&(this._scrollBarRestoreFn=null,s())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(s,l,u){const S=u.container instanceof HTMLElement?u.container:Rn(u.container)?this._document.querySelector(u.container):this._document.body;if(!S)throw new Error(`The specified offcanvas container "${u.container||"body"}" was not found in the DOM.`);u.scroll||this._hideScrollBar();const k=new Wu,ce=this._getContentRef(u.injector||s,l,k);let we=!1!==u.backdrop?this._attachBackdrop(S):void 0,Xe=this._attachWindowComponent(S,ce.nodes),ze=new xc(Xe,ce,we,u.beforeDismiss);return this._registerOffcanvasRef(ze),this._registerPanelCmpt(Xe),ze.hidden.pipe((0,rt.j)(()=>this._restoreScrollBar())).subscribe(),k.close=Et=>{ze.close(Et)},k.dismiss=Et=>{ze.dismiss(Et)},this._applyPanelOptions(Xe.instance,u),we&&we.instance&&(this._applyBackdropOptions(we.instance,u),we.changeDetectorRef.detectChanges()),Xe.changeDetectorRef.detectChanges(),ze}get activeInstance(){return this._activeInstance}dismiss(s){this._offcanvasRef?.dismiss(s)}hasOpenOffcanvas(){return!!this._offcanvasRef}_attachBackdrop(s){let l=(0,r.a0P)(Wo,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(l.hostView),s.appendChild(l.location.nativeElement),l}_attachWindowComponent(s,l){let u=(0,r.a0P)(zu,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:l});return this._applicationRef.attachView(u.hostView),s.appendChild(u.location.nativeElement),u}_applyPanelOptions(s,l){this._panelAttributes.forEach(u=>{Rn(l[u])&&(s[u]=l[u])})}_applyBackdropOptions(s,l){this._backdropAttributes.forEach(u=>{Rn(l[u])&&(s[u]=l[u])}),s.static="static"===l.backdrop}_getContentRef(s,l,u){return l?l instanceof r.C4Q?this._createFromTemplateRef(l,u):ln(l)?this._createFromString(l):this._createFromComponent(s,l,u):new ps([])}_createFromTemplateRef(s,l){const S=s.createEmbeddedView({$implicit:l,close(k){l.close(k)},dismiss(k){l.dismiss(k)}});return this._applicationRef.attachView(S),new ps([S.rootNodes],S)}_createFromString(s){const l=this._document.createTextNode(`${s}`);return new ps([[l]])}_createFromComponent(s,l,u){const S=r.zZn.create({providers:[{provide:Wu,useValue:u}],parent:s}),k=(0,r.a0P)(l,{environmentInjector:this._applicationRef.injector,elementInjector:S}),ce=k.location.nativeElement;return this._applicationRef.attachView(k.hostView),new ps([[ce]],k.hostView,k)}_registerOffcanvasRef(s){const l=()=>{this._offcanvasRef=void 0,this._activeInstance.emit(this._offcanvasRef)};this._offcanvasRef=s,this._activeInstance.emit(this._offcanvasRef),s.result.then(l,l)}_registerPanelCmpt(s){this._panelCmpt=s,this._activePanelCmptHasChanged.next(),s.onDestroy(()=>{this._panelCmpt=void 0,this._activePanelCmptHasChanged.next()})}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(r.o8S),r.KVO(r.zZn),r.KVO(ct.qQ),r.KVO(ph),r.KVO(r.SKi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),Bh=(()=>{class a{constructor(s){this._ngbConfig=s,this.backdrop=!0,this.keyboard=!0,this.position="start",this.scroll=!1}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(s){this._animation=s}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(xi))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),wg=(()=>{class a{constructor(s,l,u){this._injector=s,this._offcanvasStack=l,this._config=u}open(s,l={}){const u={...this._config,animation:this._config.animation,...l};return this._offcanvasStack.open(this._injector,s,u)}get activeInstance(){return this._offcanvasStack.activeInstance}dismiss(s){this._offcanvasStack.dismiss(s)}hasOpenOffcanvas(){return this._offcanvasStack.hasOpenOffcanvas()}static{this.\u0275fac=function(l){return new(l||a)(r.KVO(r.zZn),r.KVO(Ku),r.KVO(Bh))}}static{this.\u0275prov=r.jDH({token:a,factory:a.\u0275fac,providedIn:"root"})}}return a})(),ua=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({})}}return a})();const Vh=[Ea,Sn,m,b,yc,Dc,Cu,Ou,ua,bo,xu,Fu,Ic,Bu,ca,Do,Nc,Gu];let Xu=(()=>{class a{static{this.\u0275fac=function(l){return new(l||a)}}static{this.\u0275mod=r.$C({type:a})}static{this.\u0275inj=r.G2t({imports:[Vh,Ea,Sn,m,b,yc,Dc,Cu,Ou,ua,bo,xu,Fu,Ic,Bu,ca,Do,Nc,Gu]})}}return a})()},5794:(bt,Ae,O)=>{"use strict";O.d(Ae,{_B:()=>mt,tw:()=>Ye});var r=O(8699),P=O(9969),se=O(177),oe=O(1413),Q=O(345);const Y=["toast-component",""];function le(de,xe){if(1&de){const te=r.RV6();r.j41(0,"button",5),r.bIt("click",function(){r.eBV(te);const tt=r.XpG();return r.Njj(tt.remove())}),r.j41(1,"span",6),r.EFF(2,"\xd7"),r.k0s()()}}function W(de,xe){if(1&de&&(r.qex(0),r.EFF(1),r.bVm()),2&de){const te=r.XpG(2);r.R7$(1),r.SpI("[",te.duplicatesCount+1,"]")}}function Re(de,xe){if(1&de&&(r.j41(0,"div"),r.EFF(1),r.DNE(2,W,2,1,"ng-container",4),r.k0s()),2&de){const te=r.XpG();r.HbH(te.options.titleClass),r.BMQ("aria-label",te.title),r.R7$(1),r.SpI(" ",te.title," "),r.R7$(1),r.Y8G("ngIf",te.duplicatesCount)}}function ue(de,xe){if(1&de&&r.nrm(0,"div",7),2&de){const te=r.XpG();r.HbH(te.options.messageClass),r.Y8G("innerHTML",te.message,r.npT)}}function re(de,xe){if(1&de&&(r.j41(0,"div",8),r.EFF(1),r.k0s()),2&de){const te=r.XpG();r.HbH(te.options.messageClass),r.BMQ("aria-label",te.message),r.R7$(1),r.SpI(" ",te.message," ")}}function Ue(de,xe){if(1&de&&(r.j41(0,"div"),r.nrm(1,"div",9),r.k0s()),2&de){const te=r.XpG();r.R7$(1),r.xc7("width",te.width+"%")}}class We{_attachedHost;component;viewContainerRef;injector;constructor(xe,te){this.component=xe,this.injector=te}attach(xe,te){return this._attachedHost=xe,xe.attach(this,te)}detach(){const xe=this._attachedHost;if(xe)return this._attachedHost=void 0,xe.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(xe){this._attachedHost=xe}}class _e{_attachedPortal;_disposeFn;attach(xe,te){return this._attachedPortal=xe,this.attachComponentPortal(xe,te)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(xe){this._disposeFn=xe}}class Be{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new oe.B;_activate=new oe.B;_manualClose=new oe.B;_resetTimeout=new oe.B;_countDuplicate=new oe.B;constructor(xe){this._overlayRef=xe}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(xe,te){xe&&this._resetTimeout.next(),te&&this._countDuplicate.next(++this.duplicatesCount)}}class et{toastId;config;message;title;toastType;toastRef;_onTap=new oe.B;_onAction=new oe.B;constructor(xe,te,Te,tt,rt,ct){this.toastId=xe,this.config=te,this.message=Te,this.title=tt,this.toastType=rt,this.toastRef=ct,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(xe){this._onAction.next(xe)}onAction(){return this._onAction.asObservable()}}const je=new r.nKC("ToastConfig");class lt extends _e{_hostDomElement;_componentFactoryResolver;_appRef;constructor(xe,te,Te){super(),this._hostDomElement=xe,this._componentFactoryResolver=te,this._appRef=Te}attachComponentPortal(xe,te){const Te=this._componentFactoryResolver.resolveComponentFactory(xe.component);let tt;return tt=Te.create(xe.injector),this._appRef.attachView(tt.hostView),this.setDisposeFn(()=>{this._appRef.detachView(tt.hostView),tt.destroy()}),te?this._hostDomElement.insertBefore(this._getComponentRootNode(tt),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(tt)),tt}_getComponentRootNode(xe){return xe.hostView.rootNodes[0]}}let Ve=(()=>{class de{_document=(0,r.WQX)(se.qQ);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const te=this._document.createElement("div");te.classList.add("overlay-container"),te.setAttribute("aria-live","polite"),this._document.body.appendChild(te),this._containerElement=te}static \u0275fac=function(Te){return new(Te||de)};static \u0275prov=r.jDH({token:de,factory:de.\u0275fac,providedIn:"root"})}return de})();class He{_portalHost;constructor(xe){this._portalHost=xe}attach(xe,te=!0){return this._portalHost.attach(xe,te)}detach(){return this._portalHost.detach()}}let Fe=(()=>{class de{_overlayContainer=(0,r.WQX)(Ve);_componentFactoryResolver=(0,r.WQX)(r.OM3);_appRef=(0,r.WQX)(r.o8S);_document=(0,r.WQX)(se.qQ);_paneElements=new Map;create(te,Te){return this._createOverlayRef(this.getPaneElement(te,Te))}getPaneElement(te="",Te){return this._paneElements.get(Te)||this._paneElements.set(Te,{}),this._paneElements.get(Te)[te]||(this._paneElements.get(Te)[te]=this._createPaneElement(te,Te)),this._paneElements.get(Te)[te]}_createPaneElement(te,Te){const tt=this._document.createElement("div");return tt.id="toast-container",tt.classList.add(te),tt.classList.add("toast-container"),Te?Te.getContainerElement().appendChild(tt):this._overlayContainer.getContainerElement().appendChild(tt),tt}_createPortalHost(te){return new lt(te,this._componentFactoryResolver,this._appRef)}_createOverlayRef(te){return new He(this._createPortalHost(te))}static \u0275fac=function(Te){return new(Te||de)};static \u0275prov=r.jDH({token:de,factory:de.\u0275fac,providedIn:"root"})}return de})(),Ye=(()=>{class de{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(te,Te,tt,rt,ct){this.overlay=Te,this._injector=tt,this.sanitizer=rt,this.ngZone=ct,this.toastrConfig={...te.default,...te.config},te.config.iconClasses&&(this.toastrConfig.iconClasses={...te.default.iconClasses,...te.config.iconClasses})}show(te,Te,tt={},rt=""){return this._preBuildNotification(rt,te,Te,this.applyConfig(tt))}success(te,Te,tt={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",te,Te,this.applyConfig(tt))}error(te,Te,tt={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",te,Te,this.applyConfig(tt))}info(te,Te,tt={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",te,Te,this.applyConfig(tt))}warning(te,Te,tt={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",te,Te,this.applyConfig(tt))}clear(te){for(const Te of this.toasts)if(void 0!==te){if(Te.toastId===te)return void Te.toastRef.manualClose()}else Te.toastRef.manualClose()}remove(te){const Te=this._findToast(te);if(!Te||(Te.activeToast.toastRef.close(),this.toasts.splice(Te.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(te,Te,tt,rt)):this._buildNotification(te,Te,tt,rt)}_buildNotification(te,Te,tt,rt){if(!rt.toastComponent)throw new Error("toastComponent required");const ct=this.findDuplicate(tt,Te,this.toastrConfig.resetTimeoutOnDuplicate&&rt.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&tt||Te)&&this.toastrConfig.preventDuplicates&&null!==ct)return ct;this.previousToastMessage=Te;let Pt=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(Pt=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const ft=this.overlay.create(rt.positionClass,this.overlayContainer);this.index=this.index+1;let tn=Te;Te&&rt.enableHtml&&(tn=this.sanitizer.sanitize(r.WPN.HTML,Te));const Lt=new Be(ft),Ft=new et(this.index,rt,tn,tt,te,Lt),Ee=r.zZn.create({providers:[{provide:et,useValue:Ft}],parent:this._injector}),F=new We(rt.toastComponent,Ee),w=ft.attach(F,rt.newestOnTop);Lt.componentInstance=w.instance;const M={toastId:this.index,title:tt||"",message:Te||"",toastRef:Lt,onShown:Lt.afterActivate(),onHidden:Lt.afterClosed(),onTap:Ft.onTap(),onAction:Ft.onAction(),portal:w};return Pt||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{M.toastRef.activate()})),this.toasts.push(M),M}static \u0275fac=function(Te){return new(Te||de)(r.KVO(je),r.KVO(Fe),r.KVO(r.zZn),r.KVO(Q.up),r.KVO(r.SKi))};static \u0275prov=r.jDH({token:de,factory:de.\u0275fac,providedIn:"root"})}return de})();const De={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",toastComponent:(()=>{class de{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=-1;toastClasses="";state;get displayStyle(){if("inactive"===this.state.value)return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(te,Te,tt){this.toastrService=te,this.toastPackage=Te,this.ngZone=tt,this.message=Te.message,this.title=Te.title,this.options=Te.config,this.originalTimeout=Te.config.timeOut,this.toastClasses=`${Te.toastType} ${Te.config.toastClass}`,this.sub=Te.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=Te.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=Te.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=Te.toastRef.countDuplicate().subscribe(rt=>{this.duplicatesCount=rt}),this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}}}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state={...this.state,value:"active"},!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const te=(new Date).getTime();this.width=(this.hideTime-te)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state={...this.state,value:"active"},this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state={...this.state,value:"removed"},this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&"extendedTimeOut"!==this.options.disableTimeOut&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(te,Te){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(te),Te)):this.timeout=setTimeout(()=>te(),Te)}outsideInterval(te,Te){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(te),Te)):this.intervalId=setInterval(()=>te(),Te)}runInsideAngular(te){this.ngZone?this.ngZone.run(()=>te()):te()}static \u0275fac=function(Te){return new(Te||de)(r.rXU(Ye),r.rXU(et),r.rXU(r.SKi))};static \u0275cmp=r.VBU({type:de,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(Te,tt){1&Te&&r.bIt("click",function(){return tt.tapToast()})("mouseenter",function(){return tt.stickAround()})("mouseleave",function(){return tt.delayedHideToast()}),2&Te&&(r.zvX("@flyInOut",tt.state),r.HbH(tt.toastClasses),r.xc7("display",tt.displayStyle))},standalone:!0,features:[r.aNF],attrs:Y,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(Te,tt){1&Te&&(r.DNE(0,le,3,0,"button",0),r.DNE(1,Re,3,5,"div",1),r.DNE(2,ue,1,3,"div",2),r.DNE(3,re,2,4,"div",3),r.DNE(4,Ue,2,2,"div",4)),2&Te&&(r.Y8G("ngIf",tt.options.closeButton),r.R7$(1),r.Y8G("ngIf",tt.title),r.R7$(1),r.Y8G("ngIf",tt.message&&tt.options.enableHtml),r.R7$(1),r.Y8G("ngIf",tt.message&&!tt.options.enableHtml),r.R7$(1),r.Y8G("ngIf",tt.options.progressBar))},dependencies:[se.bT],encapsulation:2,data:{animation:[(0,P.hZ)("flyInOut",[(0,P.wk)("inactive",(0,P.iF)({opacity:0})),(0,P.wk)("active",(0,P.iF)({opacity:1})),(0,P.wk)("removed",(0,P.iF)({opacity:0})),(0,P.kY)("inactive => active",(0,P.i0)("{{ easeTime }}ms {{ easing }}")),(0,P.kY)("active => removed",(0,P.i0)("{{ easeTime }}ms {{ easing }}"))])]}})}return de})()},$e=(de={})=>(0,r.EmA)([{provide:je,useValue:{default:De,config:de}}]);let mt=(()=>{class de{static forRoot(te={}){return{ngModule:de,providers:[$e(te)]}}static \u0275fac=function(Te){return new(Te||de)};static \u0275mod=r.$C({type:de});static \u0275inj=r.G2t({})}return de})()},1635:(bt,Ae,O)=>{"use strict";function Ue(Ce,Ie,Oe,de){return new(Oe||(Oe=Promise))(function(te,Te){function tt(Pt){try{ct(de.next(Pt))}catch(ft){Te(ft)}}function rt(Pt){try{ct(de.throw(Pt))}catch(ft){Te(ft)}}function ct(Pt){Pt.done?te(Pt.value):function xe(te){return te instanceof Oe?te:new Oe(function(Te){Te(te)})}(Pt.value).then(tt,rt)}ct((de=de.apply(Ce,Ie||[])).next())})}function _e(Ce){return this instanceof _e?(this.v=Ce,this):new _e(Ce)}function Be(Ce,Ie,Oe){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var xe,de=Oe.apply(Ce,Ie||[]),te=[];return xe=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),tt("next"),tt("throw"),tt("return",function Te(Lt){return function(Ft){return Promise.resolve(Ft).then(Lt,ft)}}),xe[Symbol.asyncIterator]=function(){return this},xe;function tt(Lt,Ft){de[Lt]&&(xe[Lt]=function(ge){return new Promise(function(Ee,F){te.push([Lt,ge,Ee,F])>1||rt(Lt,ge)})},Ft&&(xe[Lt]=Ft(xe[Lt])))}function rt(Lt,Ft){try{!function ct(Lt){Lt.value instanceof _e?Promise.resolve(Lt.value.v).then(Pt,ft):tn(te[0][2],Lt)}(de[Lt](Ft))}catch(ge){tn(te[0][3],ge)}}function Pt(Lt){rt("next",Lt)}function ft(Lt){rt("throw",Lt)}function tn(Lt,Ft){Lt(Ft),te.shift(),te.length&&rt(te[0][0],te[0][1])}}function ht(Ce){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Oe,Ie=Ce[Symbol.asyncIterator];return Ie?Ie.call(Ce):(Ce=function Ne(Ce){var Ie="function"==typeof Symbol&&Symbol.iterator,Oe=Ie&&Ce[Ie],de=0;if(Oe)return Oe.call(Ce);if(Ce&&"number"==typeof Ce.length)return{next:function(){return Ce&&de>=Ce.length&&(Ce=void 0),{value:Ce&&Ce[de++],done:!Ce}}};throw new TypeError(Ie?"Object is not iterable.":"Symbol.iterator is not defined.")}(Ce),Oe={},de("next"),de("throw"),de("return"),Oe[Symbol.asyncIterator]=function(){return this},Oe);function de(te){Oe[te]=Ce[te]&&function(Te){return new Promise(function(tt,rt){!function xe(te,Te,tt,rt){Promise.resolve(rt).then(function(ct){te({value:ct,done:tt})},Te)}(tt,rt,(Te=Ce[te](Te)).done,Te.value)})}}}O.d(Ae,{AQ:()=>Be,N3:()=>_e,sH:()=>Ue,xN:()=>ht}),"function"==typeof SuppressedError&&SuppressedError}},bt=>{var Ae=r=>bt(bt.s=r);Ae(4073),Ae(1316)}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/marker-icon.d577052aa271e13f.png b/frontend-roadreport-deploy/dist/road-report/marker-icon.d577052aa271e13f.png new file mode 100644 index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513 GIT binary patch literal 1466 zcmV;r1x5OaP)P001cn1^@s6z>|W`000GnNklGNuHDcIX17Zdjl&3`L?0sTjIws<{((Dh&g-s0<@jYQyl?D*X^?%13;ml^gy> ziMrY_^1WI=(g@LMizu=zCoA>C`6|QEq1eV92k*7m>G65*&@&6)aC&e}G zI)pf-Za|N`DT&Cn1J|o`19mumxW~hiKiKyc-P`S@q)rdTo84@QI@;0yXrG%9uhI>A zG5QHb6s4=<6xy{1 z@NMxEkryp{LS44%z$3lP^cX!9+2-;CTt3wM4(k*#C{aiIiLuB>jJj;KPhPzIC00bL zU3a#;aJld94lCW=`4&aAy8M7PY=HQ>O%$YEP4c4UY#CRxfgbE~(|uiI=YS8q;O9y6 zmIkXzR`}p7ti|PrM3a}WMnR=3NVnWdAAR>b9X@)DKL6=YsvmH%?I24wdq?Gh54_;# z$?_LvgjEdspdQlft#4CQ z`2Zyvy?*)N1Ftw|{_hakhG9WjS?Az@I@+IZ8JbWewR!XUK4&6346+d#~gsE0SY(LX8&JfY>Aj)RxGy96nwhs2rv zzW6pTnMpFkDSkT*a*6Dx|u@ds6ISVn0@^RmIsKZ5Y;bazbc;tTSq(kg(=481ODrPyNB6n z-$+U}(w$m6U6H$w17Bw+wDaFIe~GvNMYvnw31MpY0eQKT9l>SU``8k7w4)z!GZKMI z#_cEKq7k~i%nlK@6c-K?+R;B#5$?T#YpKD`t_4bAs^#E+@5QW$@OX3*`;(#{U^d-vY)&xEE>n5lYl&T?Am{!function(e){const n=e.performance;function i(L){n&&n.mark&&n.mark(L)}function o(L,T){n&&n.measure&&n.measure(L,T)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class L{static{this.__symbol__=a}static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=L.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,L,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CL.hasTask(t,r),onScheduleTask:(L,T,t,r)=>L.scheduleTask(t,r),onInvokeTask:(L,T,t,r,k,C)=>L.invokeTask(t,r,k,C),onCancelTask:(L,T,t,r)=>L.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=a("setTimeout"),O=a("Promise"),N=a("then");let K,B=[],H=!1;function q(L){if(K||e[O]&&(K=e[O].resolve(0)),K){let T=K[N];T||(T=K.then),T.call(K,L)}else e[M](L,0)}function R(L){0===ee&&0===B.length&&q(_),L&&B.push(L)}function _(){if(!H){for(H=!0;B.length;){const L=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,Y=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||Y.event))return;let n=we[e.type];n||(n=we[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===_e&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let o=ue(e,n);if(!o&&i&&ue(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=we[d];b||(b=we[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,Ue),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,Ue,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let M=a.call(this);if(M)return o.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,o),e[c]=!0}function qe(e,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function le(e,n){e[j("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const O=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[O];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function K(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),J=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[J]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const S=l[R],Z=!!s&&_===s[_];Z&&(s[J]=S,s[x]=w);const D=u.run(m,void 0,Z&&m!==K&&m!==H?[]:[S]);z(s,!0,D)}catch(S){z(s,!1,S)}},s)}const L=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new t((m,S)=>{for(let Z=0;Z{g||(g=!0,m(D))},D=>{w.push(D),f--,0===f&&(g=!0,S(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((S,Z)=>{s=S,f=Z});function w(S){s(S)}function m(S){f(S)}for(let S of u)B(S)||(S=this.resolve(S)),S.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((D,V)=>{f=D,g=V}),m=2,S=0;const Z=[];for(let D of u){B(D)||(D=this.resolve(D));const V=S;try{D.then(F=>{Z[V]=s?s.thenCallback(F):F,m--,0===m&&f(Z)},F=>{s?(Z[V]=s.errorCallback(F),m--,0===m&&f(Z)):g(F)})}catch(F){g(F)}m++,S++}return m-=2,0===m&&f(Z),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(L),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(L);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((S,Z)=>{f.call(this,S,Z)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),ae(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ce,o=(n?n(e):e)+ie,c=me+i,a=me+o;te[e]={},te[e][ce]=c,te[e][ie]=a}function dt(e,n,i,o){const c=o&&o.add||Ze,a=o&&o.rm||De,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",M="."+p+":",O=function(R,_,J){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[J])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,J.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,J){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][J?ie:ce]];if(X){const A=[];if(1===X.length){const E=O(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function K(R,_){if(!R)return!1;let J=!0;_&&void 0!==_.useG&&(J=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=ve(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=J?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=J?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ie:ce]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[$e]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const M=`${i}.${o}::`+p,O=b.prototype;try{if(O.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(O,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,p,N)):O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],M))}else O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],M))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function Qe(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function et(e,n,i,o){e&&qe(e,Qe(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=qe,i.patchMethod=ae,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=pe,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Se,i.ArraySlice=it,i.patchClass=ge,i.wrapWithCurrentZone=Ie,i.filterProperties=Qe,i.attachOriginToPatched=le,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=j("zoneTask");function Te(e,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=ae(e,n+=o,v=>function(p,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete y[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const B=Me(n,M[0],O,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Re]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,M)}),a=ae(e,i,v=>function(p,M){const O=M[0];let N;"number"==typeof O?N=y[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete y[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Te(e,n,i,"Timeout"),Te(e,n,i,"Interval"),Te(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];et(c,He(c),i&&i.concat(a),ve(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Oe],B=M[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Oe],B=I[Ne]}}const H="readystatechange",K="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Oe],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===K){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],J.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=ae(M,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===K&&Q.invoke()}}),G=ae(M,"abort",()=>function(h,I){const P=function O(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return le(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Ke(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})}},ue=>{ue(ue.s=6935)}]); \ No newline at end of file diff --git a/frontend-roadreport-deploy/dist/road-report/runtime.67bf9f534a7d2740.js b/frontend-roadreport-deploy/dist/road-report/runtime.67bf9f534a7d2740.js new file mode 100644 index 0000000..6e8e46d --- /dev/null +++ b/frontend-roadreport-deploy/dist/road-report/runtime.67bf9f534a7d2740.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,v={},_={};function r(e){var f=_[e];if(void 0!==f)return f.exports;var t=_[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=v,e=[],r.O=(f,t,n,d)=>{if(!t){var a=1/0;for(o=0;o=d)&&Object.keys(r.O).every(p=>r.O[p](t[i]))?t.splice(i--,1):(l=!1,d0&&e[o-1][2]>d;o--)e[o]=e[o-1];e[o]=[t,n,d]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},(()=>{var f,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,n){if(1&n&&(t=this(t)),8&n||"object"==typeof t&&t&&(4&n&&t.__esModule||16&n&&"function"==typeof t.then))return t;var d=Object.create(null);r.r(d);var o={};f=f||[null,e({}),e([]),e(e)];for(var a=2&n&&t;"object"==typeof a&&!~f.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach(l=>o[l]=()=>t[l]);return o.default=()=>t,r.d(d,o),d}})(),r.d=(e,f)=>{for(var t in f)r.o(f,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:f[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((f,t)=>(r.f[t](e,f),f),[])),r.u=e=>(76===e?"common":e)+"."+{42:"87bb3e2ac6183fef",76:"edccf03e54decc30",114:"83af9de57fdf8c48",176:"2371990238ef1a25",186:"9e3760d3c202465a",257:"88b5a23227acab06",323:"14af06692b2a4ee9",348:"da00f8c2e534226c",367:"8443f3ce46ace501",550:"90d712180418ebb6",641:"81147924ef1f98a2",685:"36a1f48f2a4f3cab",727:"59815feb56cbe242",773:"972632dba9fc584b",919:"7d209c0e25a4d47f",965:"e88361bb90823cf2",984:"b27a37fd248eb18c",989:"f8b0e6f5fb606670"}[e]+".js",r.miniCssF=e=>{},r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={},f="road-report:";r.l=(t,n,d,o)=>{if(e[t])e[t].push(n);else{var a,l;if(void 0!==d)for(var i=document.getElementsByTagName("script"),b=0;b{a.onerror=a.onload=null,clearTimeout(u);var h=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(y=>y(p)),g)return g(p)},u=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),l&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={121:0};r.f.j=(n,d)=>{var o=r.o(e,n)?e[n]:void 0;if(0!==o)if(o)d.push(o[2]);else if(121!=n){var a=new Promise((c,s)=>o=e[n]=[c,s]);d.push(o[2]=a);var l=r.p+r.u(n),i=new Error;r.l(l,c=>{if(r.o(e,n)&&(0!==(o=e[n])&&(e[n]=void 0),o)){var s=c&&("load"===c.type?"missing":c.type),u=c&&c.target&&c.target.src;i.message="Loading chunk "+n+" failed.\n("+s+": "+u+")",i.name="ChunkLoadError",i.type=s,i.request=u,o[1](i)}},"chunk-"+n,n)}else e[n]=0},r.O.j=n=>0===e[n];var f=(n,d)=>{var i,b,[o,a,l]=d,c=0;if(o.some(u=>0!==e[u])){for(i in a)r.o(a,i)&&(r.m[i]=a[i]);if(l)var s=l(r)}for(n&&n(d);csvg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(layers.ef6db8722c2c3f9a.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(layers-2x.9859cd1231006a4a.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(marker-icon.d577052aa271e13f.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}html.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:.8}.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:400;box-sizing:content-box;outline:none}.lightbox .lb-image{height:auto;max-width:inherit;max-height:none;border-radius:3px}.lightbox a img{border:none}.lb-outerContainer{position:relative;zoom:1;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(data:image/gif;base64,R0lGODlhIAAgAPUuAOjo6Nzc3M3Nzb+/v7e3t7GxsbW1tbu7u8XFxdHR0djY2MHBwa2trbm5ucnJyaSkpKWlpaGhoeLi4urq6u7u7ubm5vLy8vb29vT09Pr6+v39/aysrK+vr7Ozs8fHx9vb297e3qmpqb29vdPT06amptXV1aCgoMvLy8/Pz9fX18PDw/j4+Ozs7ODg4PDw8KioqOTk5JqampmZmZycnP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBwAuACwAAAAAIAAgAEAG/0CXcEgECQ6bUGRDbDpdimTo9QoJnlhsYVvojLLgrEAkGiwWiFTYldGsRyHSYz6P2COG9XCw2TAYeXprCQYEhQcKgoouAQ4IHg4CAiMpCiASFRMUFhgXFxkZawEDcnd2Jh2LLiAdLyQvELEFX6pCAQx9fQ21T1wFHCi8TwcGxQYnwk8eBAcHZQnJTh8D1I8OJwmWMBMsFJudoG4u4mAgIwIoCSMKlpjcmxeLCgcPJianEcIKBXR1prVRSMiBUIfDAA8JoC1SMYWKKw/RXCzoE6IixIgC+uDaQCsiAQ4gOSCIOMRXhxIkhRjoYEwhSQTGCAxIyYiAzWYjU35o5oxaIj095J6AWFDmDAIHCVpgubCizRoFKtBAQjeixIdLADRZYBpOQ1An5qYmLKEgQAsYWb95UiUhgIJK7bZRCBMEACH5BAkHADMALAAAAAAZACAAAAb/wJlwSAQJRJxNJMLgHBzE6FBxeD0ey2zEBJESA4sXBHItZ2MJr1DReZFIZfNS9lGXOC83aRzPktQKHCEheW4QBQseCQkeAwZeIAYbG4OEBiNqXgiTnBsemV6BkwwbDCigXioMq6RQqFEBHLKyB69SKAW5BRwltlELugW1vkQHBh3In8RDBs3NactCBM4GvdEzBNMGBNbRB9MEB9DRAwQNBwcC1zMe5wciCOsj7wcDAwrXAe8i9ifrDvwGLEDQjdgHewtUIPBQJxqKBQM9OBDQkBgIBws9CBCQQAEMNRk0SAngoeTGBCMUgKgwgYIFDBcyhPTywSTHEiolsHR5YcVMMkgoOCbACUJny5cxf0ppkWIRzgAtYABg4QKmz5AivUhQ8LTozqo9M9iS0KKFURY8iQQBACH5BAkHAAAALAAAAAAZACAAAAb/QIBwSAShRBzGA8LhHAQgolSoEIVIENJjG+maHgfFFBBQbUKvF3bL7kZMpoFUYTij0xAI++E2yVJEJQUbhCF3JGsRfF0xB0QKg4SFIR0qDgkJHgMhjEUESZIbBiNjAAkvAkQeHAUFTRwOpaUKHa22CbKlCLatsblTAQYdwgVyv1MJBsrKJcdTCMsGxs5EAwQEBgQn1FIH1wQHpNxDBw0H52LjQucHIiKA6gAi7SID4uoL9QMLuPEOA/sW+FI3IiACDwHigVCB4OCleKYOejgh4INChwIEJJAQLxPFBCNKcBwHIiOKBCUUfJAwgaRGlApASKgwwQWGCxkyaNAgC8SIMxEpYs6cQMHChRU6f0lQEFQmzaJHk/6CAeKDU6JGkfJ0VkHCUAo2cerc6mwC0bBayQIIAgAh+QQJBwAuACwAAAAAHAAgAAAG/0CXcEgEJQaFAomUHAhAxGhUMWCErq/X8sF9HRRSYgDB2ZixWgiXG4kMAuFPg2Gmb0JZEkTNbnPARCUGHAUcDHZYS3wPbW0QCUMfBklJhhsGCA4JCQ4LDH0RMzIcQiAHBR2UBQclYS4JBY0mA0MOBrepBieuRAgmMhuRBLfEkLxEJwdEHgbDtwLHxwEE1NQq0ccjDdQHX9i8Dt3d19+uCyIiB07lrgPu7q3sUu8LCx/y8/ULCPf4vQgAPQDyJ8RBQAfxCL5C4MGBAGMKFTA88VCCQhcgHDhEMWIgwRECUCQYkcKiQhAiSSoAAeCiggQlFHwAIWGCQgkpUqxsAQMABToMBCXIpFlhAgULF1Zk0KCBnQQQRI0iVdpUXgUJEooeTbrU34QKWqd2JUiBxVaqTC9iwHAhg9u0roIAACH5BAkHADMALAAAAAAfACAAAAb/wJlwSAQlFoZOKNQpDFAgonQq/CwKjI12E3p5IaGDgjoNeAoFDoeR5XpfJAiENAiQq6ImOt1efiEPgRxjVCkHBkl7axsMfnGADxERLyNTH4eIBgVNBAgnIyMOCxwvgYGSL4RCIAMGBJkGIiVkIx2QkhEcdkICBK+/AndDCBC4kgNVBwcNzAeVwkMCkZIxMR8zJyIiygco0FIIESYyBava2gMe31MbL0QjA/HxqutVUgILAwsL6vXCHgtULEDwzB8ZDwgSeqBnEJwHDw4cRGlIBQFEAQImUpQSESOUjVNQYEyQYBfIISVQJBhR4trJIR9IlkjxocJLIRJY0gQh4WaVTxQKArSQMMGnBAUfeFaY4MJnCxAtYCylgOFmhaFLWbjAcCHDSwASplq4sCKDBg0nJwCYQGFsWbQvKcjlmsGszxkW3Nq9y/Ut3Lsz6u6tFwQAIfkECQcAAAAsAAAAACAAHwAABv9AgHBIBCUQBsOGkVwkQMSodPhBdApYzma7CYU2IsV0CnIQklcsg7H1vl6hQWBMHRjOhnSBw+6G3iQQBWJjCgcEiEkGWXxtfy8QEA8hI1MfAwcNiUkHHgIjIycIBX+BkpOEQyAqByIHmQQLJWMjBpEPuBEFUEMCra+vKHRDHiS4DxERA3UDzQMis8O9xrkRhALOzQnSUQjIyREHACAIKggLCyfcUh3gyR8pCPLyH+tRI+AmJh4oCB4eDgTYk8IhQgwZMQYIcODghIMUA6McIDGgHoCGAjLOiUgnowAUCVpwpAMyASgJI8ckSFCihAKUKaW0TKHgA8yYROApCADiJk5QIS0+8JQAg8LPIRU+9IRRYcLRIRKINqVg4SmACRKmurBwweqECSyoXriQ4SmFCVQxkM2gQcNRCmJXsHX71ILaDGytChmLl65eAH3/EvGbMggAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjI0QB0KhQCCoEqCidPpBNAzYzrLA2Ww4A8V0ChIkm1jDtuv1qgLj4Ud1ODQIafWSw2iHQh1iYwoLdXV3aXt8Xn8vLxsjUwELAwMihgcDDgIlIwIIBoyOJCQhgkMgDpSVlginRSMGIS+kpAVRQwkICJSUCXFDHrMQD8UDqLvJrsBEKCQQxA8vggke1tYlzEUe0cUHMS0O4icOv9pFBsUPEQ8fCgLw8LjnQyPs6xEeJQkoCQmR9IpwiEAwAoF9IxLCCUhkQMEIDEpITKFAAkMiJx5CSEHxw4cKF3MVNBHBI4iTAEIKSTAywskWEmBMUDlFQswKFVjQlIKzwoQ6CRR2FpkAACgFFxiEDqEA1IUFDBeULqVg4cKFFRmkxsDwFGuGDBq0Wv2qoWxYqWTPao1Bdi2RsmuDAAAh+QQJBwAqACwAAAAAIAAaAAAG/0CVcEhUlRwDkcEgOiASoKJ0GnA0G4Ts0lDoLhTTKUiQbB4IW0OnW2BwEIHwEORYDJKHPHq57jI2GwZgYR8eCAh2d2Z7bBx/gAUlYh6Ghwt2CAIJKSUoDgQFjo8hHINDLZ6UlQ6mRSUNgBshIS8dUUMpAicCAg4eknJCDn+0JC8LQxIJCby8ccFDCbIvJMaDCsvZH9BFHi/U1CIqMCXlJSOt3EIGJBAPECQfLQr09DDqRSMQ7g8PDiABAgC8hY9Ih37vDoBYKKFFhYJFFiB8UECCxQoVJkAkciJCvwgkYGAEMIHCxmgeH0SIQHICCwoWTgpJsLJmSQouLGCQqaJjTT0IFGBiuHCB54CaEThYsED0QgaeDWbIiGGiwVCnGTJo4KkCxIIXCFRg1UCWa5GsZc2e1ap2Ctu2UrbCFRIEACH5BAkHADAALAAAAAAgABkAAAb/QJhwSISVTovBgTAYeEagonQaEKgGooN2STB4VZ/pFJRAqK5NbaPr7RQ6noB4CBIg7oik8rD2GtwFHAQKc3UODh53KklZDQ1+BZGBBSVTLQkCAoceiR4JIyklCQ4HBpIcDBsFhEWimAInDgJhUyUHgRwbugZRdCMjCcEorHMwJwWpuhsqQxUKKaGivcVCCbkbISEbrBIf3goK09RCHtjZIQMwEy0g7QHi40INIS/1Lx8AEvr6APFFI/ZIkDgxAUCFgxX8SSnwAoLAAxMiRmShsMgCEg8cFqDAkaOLikQEPBj5IISFkxgsYAA5JAHJjBdiymRZ7SWEFRkyrFhxgaaxQwgjI7zISTSDzwERkkbgoKFpU6M0NyiNQEDDEA1QQSYwkdSECQdEmtJ8EYErV1o+hziYIcPrgbRTEMiYQQxuEQRCggAAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjClQHsRApFqcRsWoNAZKJBHNweDAJTQQn2lUkhI4PNeFlnsgGAgER0AslIxQArMDgdWKDg0NbwYdB2FTEiUJiwInZ3xqf4EGlB0dBiVSMAopIyMJeCcCIyUKCiMCIoKVBQUGh0QgHx+cnyMgUykDlq2tBLhDMCAgAQGmwHQCBr0cDAhDEzASEi2yEnRECQUczRscCkITABUV0xXYRSfcG+wLMS4sE/Lk6FEH7OwMARYuFP4TFOoVGYFvQwgBGBLyCyiwiAGDIUIMuEAxIYaGRRZseMHRQIYMKyhewEhEwAsSJzd8XLmC5JAEJCCQmKmhpoaPLoUkgMBz5pBSmxlyxhDwoCiEEEQ0CI2xoGjRAkuLcHD64EDUlxGoOrgqhEPWBxEgwFqKwESEsyasXnUQwezZCOCuDpDh1sQArkIE0DURYg7eGHMfZPqbNwGRIAAh+QQJBwAuACwAAAAAIAAfAAAG/0CXcEh0gUqCEwLhcAhKxajUJVGMEgKBw7NcDL6OzzRaASlKV1TS0f2KDocTaCwEtAIfRSqt5XoHbw0EA2JTExISICABemknbAhecAcEBAcpUhQAFRWIiwoKHx+LewiAcAYEBg2FRCwTsBUwiBVTCggHDQa7BiJzQxYUwq8AE3RCKJW8BR5DFxgW0cIUx0Mjux0F2gpCF97eGBjVRAIG2toqQisZGSve40UD5xwFAez37PBEJdocHBsCMmgYOFBfkQb/NmwYUFCIBoNEEDBQuMHAQ4hSBFDcwAHjlBEKQ4j0KCWByBAvQpCMIgDlixcbVhZZ8JLEiwIyiRQgwZPEgU6cQkZAGEoCwgmgLgw8gLCURKuVCB5Ilfozp4ClU19wk4kgQoSpDwbIDPDCq9kIDALkDDHj7AMoQGOY8PoiAdKkMdBuvUtChNq7Qp4SCQIAIfkECQcAMAAsAQAAAB8AIAAABv9AmHBIlHxKCZRgmVAQn9AhwKgojRIJwcmD6AoCUShl2gJ9qlctF6EaLASgsNA1AVQk5TNS6eAuBgMHKh9hFhQsExN3EgEfKVgCfQh/gQcDTk8XGBYuh4oSoKAtRwKTgAeoB4REF62bFIkTYR8OpwcNBANxQhkZKyuaFhZyQwkiqAQEBg68vb3AF8REJbcGygSEGtoaztJPCcoG4ggwGkPc3lAL4gYdHWDn5unT4h0FBQLz0gf39wv6xDz0K9AAoBwUHApwSGgwzIiFHDYwaBhlBAMGGyRShCIgY0YOG58g8LjBQEgiBkKE2BBiwEkhI168CDEz30sDL0jIDLEqpAdOCBByvnB5UgAJoBB0YtqIAMIDpBCIUkxQIMKDq1c5wDN4YEOEr1gfvEix0YCJr1a/hhgRckEMtF85LN0Y4+xZEVtD1n3QYO7JESfyQgkCACH5BAkHADAALAQAAAAcACAAAAb/QJhwCANIQB/FaFn6EJ9QC6tSOSZHCZTg5EgEoE+MizWptgKKUiKx9SAQCRAYdsFYKCxAFZnCChxuCCoeX0QZGSt1d2VWSmyAbyoLCwpEGhqIdRQTE3p7CgmQCAsDpU5DmBmKFnMBAqOlAwcqcqiZc0QjpLIHBwKWiLhPKSIivb2nMJjCUAm9DQ0EHszMCNAE2IXUYCnRBgQGCdu4AwbmBgjjcw7mHR0H6mAJ7R0G8VAlBfr6908j+/z6DUHBAaDAIQg4KOTQ4KAQAgw2SBzgcITEi78OEri4gYG2ex5CiJS44KCAEC9ejKzUDwGJlylDqOj3D8KDBzALfMS1BsGANw0Rbt58uSHFOA4RkgYVijPECHURTChl+qAAy3EdpCoNSmLATmomwop9cOBqvAImQmxoIKDWnCAAIfkECQcAKQAsBgAAABoAIAAABv/AlFBooUwqsBYoAAINn1Dh5VJkHSWgj2KUUDijwoz4giles9sESlD6PjXwzIpKYVUkSkVJLXAI3G9jGC4sADASAXoJAicOHh4fUXFTg0Z3H3uMDggIHgGSYmApEiWanCoegHCiTwqOnAsDAqy0CrADuJG0oiUquAMHJ7usDrgHByKfw1EKIiLHBwnLYCrQDR7TUQINDQQEA9lQCd0GBA3hTyUEBuUG6EMl7PLvQgny7PQpHgUd/Af5BwoILKCCXgkOAwugoHeAA0KEysI52ECRAYOC6FAwoEiRgwJ0HjaE4LgBQbgRBl6oHLmhQ0QoBwZ4SJDAwwIOEEiofBEihEc+VhwiCBX64AEECC90vuAwgpaMoUWjPiChs8NHVgpiQJWa88WCl2BezDAxlOiDFweu7vrQgGIEExs4HPhDKwgAIfkECQcAJwAsBwAAABkAIAAABv/Ak/CkyWQuGBdlAqgMn9BnEWlZViQgECzKnV6qkyvoo/hIuEPNFAMWf0qjUgutNiJdrAqsBVKUEoABaEYrVEt7ZCMJKAICIGhoFQEKio0ejpBoIIsCDh4ICZmanZ4ICIKiUQqlCCooqVwopioLC4+wTx8ItQMDI7hQHr29DsBPCcMiKsZDJQfPBwPMQinQz9MnzgcEDQ3YCQ0EBAbe0w4G4wbS0wMG7gYI0yUdBvQGocwiBQUd9KjADvYJjGcsQQEOAgsoMOaBg0OEHDw8CRACX5QRBjZo3MCAg4F/J2LMMMFgAKgEHhYUeBEixMYNCo+ZiEAzwoObN0m8YLmxQAk0KDJMCLWJM+fOlhsMLHxSQuhQojchkNDpcgHIIQoaRHiKk4TUECKWQgIh4ADHmw4PYIIUBAAh+QQJBwAAACwEAAAAHAAgAAAG/0CAcEjUZDKXi8VFbDqdGmPSQplYn9hiZqWsViSwSvYZRWKoky8IBBsXjWYXawKTgBSKlpu4vWC8Ei0BCiUlEntPFGofhAkjeohOFYMlIwkCKZFPEimWlwIgmk4gCSgCJw4Jok4lpw4eCKGrQyACrwgqmbNDKB6wCCi7QyMIuAgOwkIpCAvNC8kACgsD1APQCtUi1sklByLe28ICB+QHz8kLDQ3kHskpBPDwqsIDBgT2BAHiBvz87UO2IiXo0KEfgQ9DHJiIgGDPiQIQCXZAJmREjBkRInAYgaUEAQ4QIzbQB8BDjBgZUxZYkGqEAwQGNjDgABKiAQVDPpBIGeGBT0kIQF+8CLFBpkyQBko0UcBgYU+fDyA8EDq0aFEGBHA6CSAiJVQSEEgIJVqUAwKSWBQ0IPGVhNihITgM0Lqn1gGaD0iAHIBCFpYgACH5BAkHADEALAIAAAAeACAAAAb/wJhwSCzGNJqMcck0IjOXC6ZJLT6lFle1+oRiXKwJa7vsRi2USaUCIC8zK6krXZG0Ku7lBa2GtUAgeUwUaxIgHwqBgkYTdocKJRKLRhUBiCUJCpNGAZAJny2bRBIjnwICH6JEJSinAgmqQwoCJw4OArFCH7YevbkxH70Iw78fw8e/KQgqzAi/CQsD0h6/CNLSJ0SKggoHIiIDIiNDIRyTCAfp6QExGzImEc55Ag0H9QfZDybw8LhkIwYICCQgIpWICPAiRHggj4oAAxADGsgWA0SIhA8yFhi3pMSBDhEhithW4oHCjBlJFFDhYMQIBwgMcChQICQBTUQSQDiZEQKJRxcvQmwYymEmzQ4dCKRYooADypQ/gw7dYJTmgVRMAgyA8MAniZ9CpzIoWgABuyrdXjyIGiLs0AILsLoBIUAEzbYgFyTYtiQIACH5BAkHAAAALAAAAQAgAB8AAAb/QIBwSCwaAZqjcqnUZJjQpXN1iVqFGucFg7kys9Oty+JtOjOXi4VCKS/RahdrMnEr45RJBVa3G9d6FRISfkd6MBIgIBWFRSyIIAEfhI1EiQEKJR+Vlh+ZJSWcQxIpJSMJI6JCEqcJKCiqAC2uArWxH7UnukMnBh6FKQ4nDh61LyYxEQyFAh7OCAkeJiYR1Ql2Hwja2ikf1d8Fdg4LCyoqCCAADdTfCGUJA/HxAkIK3w8PJPRWJSLy8ZuEDKiGL98vKCgOKDwg4sA+IQE2RCj4AIKBVEdKLCBAYOGBBemIpAhBkcSLEAYQnBgxolkDAzANEGhwYEDAIiNIQoBAwmSIRw0bGHDgUKBATI4dUyxRUICnyZNAhRYt0AEmAQM2oQQY8KJriJ9Bh0616iBkFAUiNnwFCpRo0Q4IbnoBgWIATKAyVSQweyQIACH5BAkHADEALAAABAAgABwAAAb/wJhwSCwaiRpN5shsFpNLp/QJzVym2Fj1csFkpZkw10L+OldjF4VidmIs6gmA1WZiKCx5BVBn6isSMH1HE4ASLS2DRhOHIAEfBRwcBQWKFQGPHwoRJiYRESODFQqkJSUQn58egy2mI68bqREDgx8JtwkjBJ6fHIMjKAICKCUeng8PoHUgwifCCh/JyA8ddSgO2NggMQfTDxCrXyUIHuUICUIKJN4kKFkKKioI8wjbQgPsIeFOCQP+C/PQDQnAgYRBEi9CGCjBJAWCAyL8DVjgwd6QFCEMvki4YQMBDwJMCXAw4IBJiP8+HBmxYWOIEB0ZSKJkoCaBBg1ODlDQREGHN5cdN8ikVKCmzZwHVKh0EmBB0I6TKHWwSYDAAQEWpSgYwAEq0ak2ESw1AyLBAgIGKFlFMCKrkSAAIfkECQcAMgAsAAAGACAAGgAABv9AmXBILBqPmqNyqUwyn01NBkqVJTXSafWJzV5kjoJge8yYV5c0wRQzhcbkIfqCwVg2kXxkEB/S7RQUEHoRcH0YLoEsE4QRCX1CLosTExV6DxEokDIUABWfEoMPmA6bEzAwEqocEaMPC5sVIC0gtQeuDwWbIB8BHx8gDq4QECN9EgrJKSktHyQQDxAkBn0pIyUj1xIyByQv3y8eZB8J5eUKQgovJN4vG5pUHycC9CgJLUML698bG6VPJTw4OEHwRAoiAQq8CBGi34YGJZR8cIAAgYeLHgTgI5KCQcMNDBhw4HDAgYASJRIIUDFgwIIFFS0GODKCg0ORBXIaMEDggM8/Ay0HqLD4YYkCA/1wFuiwk+dPEUEdzGQSAAEHpUyb9jwgAqgAEFUULMhZQCsBAg24Su0DIgGCtDuBehgBdkkQACH5BAkHADIALAAABwAgABkAAAb/QJlMJSwaj8hkURGZOZTQqOxgMsVMAqlW+ImYIuDGVuv4giOJMVSjIZwjDPWRLWNnOJHHIzKQGzNsGhkZL3l7J35Fg4srEHp6aYkyKxeVlY8PEJGJFxieFhYvehAQiJIYLqAUFAUkjiQLkjIULLW1ByS5Lx2yEwC/ABMnui8hI4kTEhUwzBMfL9AvGwSJEiASLdkTMgMhxRsbT2oSCh8BINdCChsh4Bscm1IgIykK9h8VRSrgDAwcBaaifEiQYMSIEiVAGAlgwN2/AgdKKAmA4oQAAQQTlJBwREGBDf4KiDQgAqO9EQkcIPDgwKIAFAlaJClR4GGBDgYMEDhwQMSAQAELEKxk6UCAQiUKCDzMmXNnz59BhXowKiUAgpFNCTR4+lMoggRHtXxAwJSA1p4+ByBAESDRPAQ/dy5Y4CBhlCAAIfkECQcAJgAsAAAEACAAHAAABv9Ak9CUeA2PyKTyqCDNjMtoFLSJRGJQqXY4sFplpO1W4bU+EmLtIfJ4WBFp6YfEdnfiUke7HUHjlwd7DwV/UQUQDxAQC4VLLySKEAKNSRokl5cjlCYaGpwaL4+hfoUZGZ0aGRuhLyEnlKaxGR2tLxsqlBe6uwMhvhsGlBYYGBfEAiEbyhslhRYUFBYWLhYBDMsMB4UTEyzQ0SYLyxwFr3EAFRUA3CxCChwb5AUdpFoVIBISMDAV7UII8goUMDBJS4sPH0CAaNGiwpEABOR1MGBgQIolIFKMSKEAYQAQAJAoMCBwIsUGCwSMUKAgRQkBAlAkGFGC4weHSUqQNGmgwQFNEQMGLEDgwQFMmSM2Sojy4QBFAlAP/BSqwkPREzETlFgqJYADqFGnCkVA1oFRBVy3fEDQwKfUoEPJehgBohCIEQ4WLDgwgCgKBXWjBAEAIfkECQcAKAAsAAABACAAHwAABv9AlHAoVBCPyGQyIJopn1CUgmMyRaLY4YhkNc1A2aiCFCmXnWEliFN+mAtp5cD9cEcQ8eS4zhfkkyJ8dXh/Rx8kEA8QEAaFSCcQL4sQI45HBySZL3CWRAUvmgudRBsvpiF+o0IhrCEblaoorhu0CbEoHLS0qaoGugyEfxpEGgO0DBwNjhrMKMwCGwwF0yV/GdfMGhkBBRzTBSJ/FxfX10Iq3tMGvFkYGOPjK0XTHQb2sFgUFC4W7u9DHgrYs0fAVpQJACaw2OcCA5EADQYaIHAAgZEkFSRIqFBhgkIKSBQQmDjxgIgBCEakCADiwwcFClhq5DgBJJIUDQgQaHDgwIBPBSoQODghIMGIEgo+gGghAcaEJx8GUDQ54CcCDw4EFFWZFISEp1BAOOjp06pQokaPKmhRIcwHByJOLkBAN+vWDzD+gCghACtdrSUCSIASBAAh+QQFBwAzACwAAAAAHwAgAAAG/8CZcEgECU7EpHJJVDQiJhlzugwMIlhThMoVKjjYcGzQnY5C2EfYZCgvFaGHXI1lHNxJUGEujxRGeEoLEBAPhRAIgUoKLySEECQCikoDjSSOHpNJHyEvjS9tmkQCnZ4vgKJDIiGsIR2pRAYbsxuJsEIctBuStzMMswwMqLe/DBwcCb0zBcfMvLcEBdIFmb0L0wV3vQIFHR0GBiW9Ad/gBguTGkoI5gQEyXgZGupEHwQG7g0H4mUrGfLq5glxgI/AgQMD4FHBcMEfQHozQAwgoA/hAAcfmFCg4ILhhX8Zkig4eHDAAhUIUCgIIEECjAowAEygYMHjRyUpBogQYXKBB04HJ1CMKPEBRIsKMjnWvMAkgAqeA1A6ECAgQQkFRSVUmDCzIxUjJhEg+Fl16MoWWiuwcFEmgACxCKYKLZFCgVG1ikAoSCAARdWrICRQCQIAOw==) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:none;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-prev,.lb-next{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFF0lEQVR4Ac2ZW0xcVRSGPTNnhlPKcCsUAeeChkEVxhutDQwzMANaqamNWgpaH+yDIaZp1cRHbgH0gTsxkmDCI/hiRAqgD5qYRgKQ8II6TE00wfgGAcIdKeM/ydrNZIezxxg9m518gRxWmn6s9a9zhvNQJBL5T/gfjokwA5Uw0zWFeHBOugiTsAArfSWZky+iABVowAZSwRkiDSTRz1iHlJMmogATsIDTIAPYgRs8SeTTtXSQSLVKFNkivIQKksDDJFCsquqLmqZdAa/i+yCuPQ1cJHOKjdpJEWGdsIFs8BQoy83NvTEzMzO3t7f318HBweHc3Nxdj8dznWQeIWmpIryENUaiCPgdDsfN+fn5XyLcWV5eDlmt1gBqHgOpbAHIFmESySAHeECF0+m8hd/+vcgxZ3d39wBj9grqCkA6iaiyRBRunJhEpcvl+nBhYeG3iM7Z2dnZgkg1ZSgNqLI6wgebSVTZ7faPlpaW/tSTWF9f36ivr+9AbQkF3iZRhAs2dSInJ+eDUCj0h0Biq7S09BPUBkEhyAKJssKusE6QRCGoQLDfn56eDulJrK6ubgeDwS7UXgTPAztIkXUfUbhxKgLlyMRtBPtXPYm1tbXdqqoqJnEOOGhbJQCTkSJ8sJlEMNoJrFhdicPDw6PKyspe1FaD85yE2YBnLUGwSSIrK+s2bnZLehIbGxubfr+/B7WXSMJJ42QlCcVAES7YJJGdnR0dp7BgnLZKSko6qBPngIvrBEkYIKIT7PLoOKET4TjB7kbty+A8SaRxmcAxQEQn2BUI9q3Z2dl7gk7sINhRiZeoE87jMmGECB/s3JhgR8dJV2Jzc3Pb5/N1UieKKdgsEyaAY5wIk2Dj5GHBRifCgmBHb3adLBNsO3HBNkxEAWZwCmSCx4EPwb4ZJ9jbCHYXSRQDpyDYhomoNFIOUIRMvINO/KQnsbKyshMIBD5D7RVwgQWblzBahD2Sp5jN5jzM+9uLi4s/60mEw+FNbKcvUH8DVIECcAZoXLCliaRaLBbX8PBwb0RwRkZGfkftx+BdUM4+KInDbdxoWUCKoih5CQkJgYGBgS/xs6PjRPb394+ampp+RP174CIoBGcpYypQZIqYY+4dz4DLvb29Y6LONDY2fou6OuAF+SCDZCgj8kQSQDqNihfU9vX1TYlkGhoa7qDuDVBKMpQVrjMG30fYCs6gAHuRmdqurq5JkUxLS8sEaq+CMq4zJGOgCB2Fk8kHJSaTqaazs3Pi2MzQaWtrm0RtDfDFyCQyGUNFOJlEkMlkwLWenp5vRDKtra1TNGYsM5mcjKEifGeYjBfUQUaYmebm5omYzLjFC8C4zyNqTGfcNDZ1/2ABjKHudZLXkTFARJAZN/CqqnqNMqN7Ojo6vqMF4ONkVFmvFUQLQNiZ7u7u76PZAn6S4TJjrIhoAdT+iwXAdQYYKCJaAG/iPhNvAYyj7jXwAngUpAGrDBF+ATCZAuBXFOX60NDQ3TiPM1/hyfoyPf7kgNNSXyvwmSGZMk3T3hocHPwhzlPzJLLFnpZT5PztV5wZNyilbTZFmTnZrxU4GZWXATV4ap4kmeNELlEticjsSHyZq/39/V/j374P2Lk/Pj5+BznxUuDlj1acJ4B8cAH/4er29vbPR0dH58fGxubx/ac2my1Ab3iz5Yc9/gJIB05QCJ4Fz9FXD3gC5HIfi+WKCGQ0GpuzwA7yCDtdS+b/SCFfRPwaQqPxSSaS6JrlwUjR+RtEvCM0ct4sLQAAAABJRU5ErkJggg==) left 48% no-repeat;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFDUlEQVR4Ac2ZS0xcVRjHvTN3hisw0GIRZ3AeLWHQWqdVsRqgA86AUmpqoy20Whd2YYhprJq45BVAF7yJkQQTluDGiEhBF5qYRsIjYYMKQxNNMO4gQHgjZfxP8pF8ufEe0qQ5pyf5BTKcWfzyff/vnHt5xLQ0wgbsQCfswEY80BWPxx8I5sUlHMBJP0nm4RfRWAUMkAqOgseII8AFDNqjPYwiGuEAySADeEEuOEkE6bNjIIX22riQchHWSo+SRACc1nU9ahjGG+ASfn8Vn+WT0BNUMV0so04kFTwJTodCoeuTk5N3dnd397a3t/8dHx+fzM7OvoG/nQPPADdwscqoF2HBPgJynE5nZGFhYTZuWlNTU3/4fL6b2FMMnmUyTpJRLqKTSAbIQyu9vrW1tRv/n4Uqzfv9/g+x7xUQAh6QxmVUV0SnKRWESMXm5uZ63GJNT0//GQgEPsHeUibD20xTLeKioBdUV1e3rKysrFrJzM3N/eP1ej/F3jImIxgAcsOeDLLAKRAtLCz8HDKWlZmdnf3b4/F8zCojGADyz5F04AUvgPJoNNq2tLS0YSUzNjY2iwHwEWXmFHCzymiqRGwgiaaXD7wIysvKytqWl5e3rGQwAO4iM7ewt4SmmYfLqLpr2U0yZ0FFaWlp597e3r6VDEbzXapMlGQEA0COiEYyTmozP8lcKC4u7lhdXV2zksGhOZeVlXWLy5gHgDwRJsMqE6A2qygoKGhBm60L2izmdruZjGkAyBShxTNzlGTOgvMYAO2iAYDKxKjNSgQDQI6IRWb8VJnXMADaUZlNK5mJiYl5DAC6AQgGgCwRWjaWGR/IB+fD4XDr2trahqDN5lEZ3mbZ5gEgW4QPAD6aK3BotmIArAsqE2MDIMTajGTkinAZ3mb5NAAS58zGIQPgJvaGwVMgk5597ECTLcJl+AB4GVyKRCJfLi4uijLzGzLzHrWYj1pMVyXCB4BBz/J5oAzcwDT7OhaLWZ4zMzMzvyNX79rt9uOUNyewqRSxsbzk0Jh9H3w2MDDwV1yw+vv7Ox0OR4C+q1REAzr1+ON0TpSDD+rq6n7d2dmxusbs9/T0fJOUlBTRNO2gIg6lGSGJYyAXFIFrtbW1P4oq0dnZOYR9F8EZdqaoCDtVgrJBEoXgck1Nzfciia6urlHsu0rSOSADJEkXYRK8EufAlYaGhtsiiba2thFk4kAij75Po1fiOcIkkplEGFQ2NTWNCBz2W1tbb9tstkrsLaDvcQlN5hWFS2SyTFxubGwcFUl0dHT8gH1VTCITJHMJWSLmYAcPMlFfXy9sJ0gkMnGNpEnCXAkJIhYSReAtBHvosGCTRBgEWSV0qc8jPNhMIgyutLS0/CSSSGRC1/Uqkg5aZUKGiDkTQVAMqtrb238+RGJUHGyZb1F4Je4/2FfFwZYr4qRb7QnwEngTwR4+5JxIZOJtcbDlv2lMAR5wBjfUi7h2fCuS6Ovru6Np2nVqvzwmQcFW9+43HeSg10twix0RSfT29v5iGMY7dMLniTOh+N8KghN7lKZTIQgKMiG/IkwkCJELFiL7uMWOYE+lWUL8elRNa51APoqGh4cTN9p7TOJed3f3d4nz5P4l1ITdDU66XK5Ic3PzF0NDQ1ODg4NT+P0rCFbQM3qu4MRWLsIfX7PB0yAEngPP089TwA8yBMFWKmJ+qZBGj7FecJzw0mfpwBBLqBexseAbIBWkESnAEPybQLnIf4JfIzSb+FymAAAAAElFTkSuQmCC) right 48% no-repeat;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:10px;zoom:1;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{max-width:80%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-controlContainer{float:right}.lb-data .lb-turnContainer{float:left;margin-right:5px}.lb-data .lb-zoomContainer,.lb-data .lb-downloadContainer{float:right;margin-right:5px}.lb-data .lb-closeContainer{float:right}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-turnLeft{display:block;float:left;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAACIElEQVRIicWWPWsUURSG3xM/4hYpjLIhphJiIYugNloIiRoU/QO20UJrU1gE/EAbRReCGkQQEbFLCi0EG5NKEIKYItFSkBhSmMLIipolj8WeWa/rbrIzmdm8MNy599xznjN37pe0QbKwAlyTdFjSoJkt1Nhyko5L6pe0S1KPmxYkzUmalDRpZqXYWQDLVHQuaNsNPAFKrK2fwCOgNy440nlgK1AEftUE/wJMAM/8mQDma/qUgVvAlrjgK8CboF4C7gAHAKvjZ24r1ozMFNAdB7wSvI8BXTFGLe8+kT4A+WbBkd4DF4Czazr/H2so+ICpVYe9DjjUyzhgj3cp8L+RBPwbGI4L9pjjHmMZ2JMkRiIB3cA3hz9oGdjhdx38A+hoJXhf8NtOS1Jbi9gzkhb9/WgVTGUD6GnktV6ZGZLeebVQBUsalTQHDGYFlzTvZWcIPuhlX4bgz14uSdJmr0xLOqTKEZeVRiR9lfS82gJ0AAPApgzBGyMaHTTAKeBTFhMMuOxr+Go944gbl4DOFKFdwPeGWyZQ8MNgBSikCL7v0DKwN2qPZrXMbBY4ImmHmc2mBZbU7mXRzD42k+kx4OR6qUCOBlemep138vf2MAZsjwHKA/eA60mybAfeBifKzSb9hn1y4ok3fVcLg2wDbgMzwAlva/PJ8gp4CvQH/fcHiZZZ7aqTIJle/tV0YMsBD4HHaa6KEH4ReAG8Bs6kDshafwDkXu6L86KiLgAAAABJRU5ErkJggg==) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-turnRight{display:block;float:right;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAACGUlEQVRIicWXPWgUQRTH/3OJiSCEgJg7FcEmGLkmNoKCYESLYGNrqaDBSkQri4ARDPgBQRBU8CNgE8TCwkIhIqiVYLAQg5UoOZA0Eg1RE/xZ7DsymZzu7HJ7GVgG5r3/+82+3Z33Vlqj4WIdgQ2SBuzaJqlsphlJNUkvJE065xYC3WZJ9yW9ds6NRO8M6AXuAD9JHz+Ae8B2T3/cbIuxwA7gMrAUBJ8BJoEHdj0HaoHPL+CKxThZX4yBbgHeBHdyFegHVj0ewAG7gGvAvKd7BQxHgYEy8METTwA9UWlK9BXgkaf/kwq21Lz1BGdigabvAY4BQ8BUkP7/gi95fueyQE3/JISlgoEdLL9IE1mhFuM88Dsr+LbZvwGVPOA8O+0CFgw81hKogQ97Gam2glmyeb/Ns865960E1+9yqkgYsDUEb7S5ViD0hKQvwHUf/NXm2aLAkvYqqYa7JandFk9LeiZpvEDwZ5s/FshYPew4Pgh0hoa2lh0cAfiifcdnC4h9CvgEDDYy1o/M70C5gT4vtBuYs9ijjRx2ekXiVhPBfSQldvGfpyLLZfFus8AWdxDYk+ZUBTqaADsCHMgjLAEjJE1bltanC3homVsCNmUFV7yKNQdcANoidH4X8xIopWkaBRllZXvb79n2AePAU+Am0G7rh4Bpy9T6zFAPULVP7Qawzlt/x8rRmxuScUNHSZr5xyRdZfTv0JqOvwtaARgflgIWAAAAAElFTkSuQmCC) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-zoomOut{display:block;float:left;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAB7UlEQVRIieXWvWsUURTG4XPjJpgmlSFKRAtTWGjAj0ajiSKKFopg/AtELbQTAiI2IaazEhsLK0XEVisbISD4gY2FlQQixiAYxESiBn0sdoKTQHZ3dte18FR3uO97fufcmbmciH8UqVYhUkT0RER3RMxGxMeU0uJfqQoJJ/EAc5bHDzzGWXQ0E9qPZ/iMGziCXnRgPfZgDFN4i2PNgJ7IOryFdVW0a3EZ3zHSCHQfvuFCQd8hzONcPdAuzGC0sLnsP5UVvb2o8RpeY0094CzHXTwqYmjHLIbrhWZ5tuAX+mo1LL2jzkbAWa4XuFRJ05Zb74iIlymlhUbBETERETsrCUq59YaImM5vYlNEXKkBdCelNJF7fh/lRlaNtkqbDUbF6zjf8YeI2LXMmdJURJyvA9obETOVBPmOX0XE7mZ8XBExGBHPa1KihE843QgRffiJrUVMo3iDUnX1qjnu4WFRUxemMVYndBgLha/MzLw3M18s6DucXUDXC0NzSY7jC26ju4q2E1exmA0I8xhqBL4NT7MCbuIoNuYGgQGM4x0mMZJBmwJP2VBwPysgHwt4gjNLvyCGVsAH64avKKRHeSTabJU5awV8rmnwGgscyJ3QVxz8b+EHWgnf789MPon2VsIHlGfv/pZBc/DWdVopfgMdyEl3/DM14wAAAABJRU5ErkJggg==) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-zoomIn{display:block;float:right;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAB+UlEQVRIieXWv29NcRzG8c+XttGlk6aEMOhAQhM/FkpLhDD4kai/QFgYpQliaRobi1gMJoRYmSxNmkhIWVibJkQjQiNaKRpehh7p0bTnntt7XYNnOiff5znv53vvPd/7ifhHSmWNSBHRERHtETEREe9TSjN/pRUSjuMBJv2p73iM02ipJ7QLT/EJ13EQa9CCVdiJQbzGKA7XA3o02+FNrKzgXYEL+Ib+WqC78RVnq8ztxxTOLAXahncYqDo8mz+Rld5SbXAQL7G8wDOCTQXrd/CoGmgzJtBXwQfbC9Y34Cc6i56zLHfdExEtEVG+7QJKKY1GxPOIOFYWvDUiRlJK07WAMw1HxLYiQ1PuenVEjOcXsS4iLi2Qu4gPufvbKaXh3P3bmN3IolpWtFijyh3HOI+hEr7CH1fmuYZ7RZ78jl9ExA60lmparJ6IeFbKiSZ8xMkKvkqvUyd+YGPpmhjAqxoPkLt4WBqahdowjsGqgnP5PkxXfWRm4V1Z+FyVuQPZn8TVqqG5hxzBZ9xCewVvKy5jJvv+p9BbC3wznmQFbuAQ1uYGgW5cwRuMoT+D1gWesqHgflYgr2kM4dTvVxC98+A9S4bPK9JhdiRab5E5ax58sm7wkgW7c5/QF+z7b+F7GwnfY24mH0NzI+HdZmfvroZBc/DG7bRIvwDiiW2v3ei28wAAAABJRU5ErkJggg==) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-download{display:block;float:right;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAaUlEQVR4Ae3VgQVAIQCE4UZplDa70Rrt3gQ5eDry/wRIn1QNoka2l22FsW6C5JwAAQIE6IeF5+HR287tw9x5YzdSedcKKDXOTcZ0UQFTQOnta59RVUxAFTABVcAElAZRuEX1DxYQEV3oA58RWgFolpBxAAAAAElFTkSuQmCC) right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:.7;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:.8}}@keyframes fadeOutOverlay{0%{opacity:.8}to{opacity:0}}.fadeIn{animation-name:fadeIn}.fadeInOverlay{animation-name:fadeInOverlay}.fadeOut{animation-name:fadeOut}.fadeOutOverlay{animation-name:fadeOutOverlay}.lb-image{transition-duration:.5s;transition-property:transform}@charset "UTF-8";/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--rr-blue: #0d6efd;--rr-indigo: #6610f2;--rr-purple: #6f42c1;--rr-pink: #d63384;--rr-red: #dc3545;--rr-orange: #fd7e14;--rr-yellow: #ffc107;--rr-green: #198754;--rr-teal: #20c997;--rr-cyan: #0dcaf0;--rr-black: #000;--rr-white: #fff;--rr-gray: #6c757d;--rr-gray-dark: #343a40;--rr-gray-100: #f8f9fa;--rr-gray-200: #e9ecef;--rr-gray-300: #dee2e6;--rr-gray-400: #ced4da;--rr-gray-500: #adb5bd;--rr-gray-600: #6c757d;--rr-gray-700: #495057;--rr-gray-800: #343a40;--rr-gray-900: #212529;--rr-primary: #586af5;--rr-secondary: #6c757d;--rr-success: #1fa493;--rr-info: #2b79cc;--rr-warning: #ffab00;--rr-danger: #f35625;--rr-light: #f8f9fa;--rr-dark: #212529;--rr-primary-rgb: 88, 106, 245;--rr-secondary-rgb: 108, 117, 125;--rr-success-rgb: 31, 164, 147;--rr-info-rgb: 43, 121, 204;--rr-warning-rgb: 255, 171, 0;--rr-danger-rgb: 243, 86, 37;--rr-light-rgb: 248, 249, 250;--rr-dark-rgb: 33, 37, 41;--rr-primary-text-emphasis: #232a62;--rr-secondary-text-emphasis: #2b2f32;--rr-success-text-emphasis: #0c423b;--rr-info-text-emphasis: #113052;--rr-warning-text-emphasis: #664400;--rr-danger-text-emphasis: #61220f;--rr-light-text-emphasis: #495057;--rr-dark-text-emphasis: #495057;--rr-primary-bg-subtle: #dee1fd;--rr-secondary-bg-subtle: #e2e3e5;--rr-success-bg-subtle: #d2ede9;--rr-info-bg-subtle: #d5e4f5;--rr-warning-bg-subtle: #ffeecc;--rr-danger-bg-subtle: #fdddd3;--rr-light-bg-subtle: #fcfcfd;--rr-dark-bg-subtle: #ced4da;--rr-primary-border-subtle: #bcc3fb;--rr-secondary-border-subtle: #c4c8cb;--rr-success-border-subtle: #a5dbd4;--rr-info-border-subtle: #aac9eb;--rr-warning-border-subtle: #ffdd99;--rr-danger-border-subtle: #fabba8;--rr-light-border-subtle: #e9ecef;--rr-dark-border-subtle: #adb5bd;--rr-white-rgb: 255, 255, 255;--rr-black-rgb: 0, 0, 0;--rr-font-sans-serif: "Inter", sans-serif;--rr-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--rr-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--rr-body-font-family: var(--rr-font-sans-serif);--rr-body-font-size: 1rem;--rr-body-font-weight: 400;--rr-body-line-height: 1.5;--rr-body-color: #212529;--rr-body-color-rgb: 33, 37, 41;--rr-body-bg: #fff;--rr-body-bg-rgb: 255, 255, 255;--rr-emphasis-color: #000;--rr-emphasis-color-rgb: 0, 0, 0;--rr-secondary-color: rgba(33, 37, 41, .75);--rr-secondary-color-rgb: 33, 37, 41;--rr-secondary-bg: #e9ecef;--rr-secondary-bg-rgb: 233, 236, 239;--rr-tertiary-color: rgba(33, 37, 41, .5);--rr-tertiary-color-rgb: 33, 37, 41;--rr-tertiary-bg: #f8f9fa;--rr-tertiary-bg-rgb: 248, 249, 250;--rr-heading-color: inherit;--rr-link-color: #586af5;--rr-link-color-rgb: 88, 106, 245;--rr-link-decoration: underline;--rr-link-hover-color: #4655c4;--rr-link-hover-color-rgb: 70, 85, 196;--rr-code-color: #d63384;--rr-highlight-color: #212529;--rr-highlight-bg: #fff3cd;--rr-border-width: 1px;--rr-border-style: solid;--rr-border-color: #dee2e6;--rr-border-color-translucent: rgba(0, 0, 0, .175);--rr-border-radius: .375rem;--rr-border-radius-sm: .25rem;--rr-border-radius-lg: .5rem;--rr-border-radius-xl: 1rem;--rr-border-radius-xxl: 2rem;--rr-border-radius-2xl: var(--rr-border-radius-xxl);--rr-border-radius-pill: 50rem;--rr-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--rr-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--rr-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--rr-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--rr-focus-ring-width: .25rem;--rr-focus-ring-opacity: .25;--rr-focus-ring-color: rgba(88, 106, 245, .25);--rr-form-valid-color: #1fa493;--rr-form-valid-border-color: #1fa493;--rr-form-invalid-color: #f35625;--rr-form-invalid-border-color: #f35625}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--rr-body-font-family);font-size:var(--rr-body-font-size);font-weight:var(--rr-body-font-weight);line-height:var(--rr-body-line-height);color:var(--rr-body-color);text-align:var(--rr-body-text-align);background-color:var(--rr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--rr-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--rr-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}ol,ul{padding-left:2rem}ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dd{margin-bottom:.5rem;margin-left:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}a{color:rgba(var(--rr-link-color-rgb),var(--rr-link-opacity, 1));text-decoration:underline}a:hover{--rr-link-color-rgb: var(--rr-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code{font-family:var(--rr-font-monospace);font-size:1em}code{font-size:.875em;color:var(--rr-code-color);word-wrap:break-word}a>code{color:inherit}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:1rem;padding-bottom:1rem;color:var(--rr-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}progress{vertical-align:baseline}[hidden]{display:none!important}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.list-unstyled{padding-left:0;list-style:none}.img-fluid{max-width:100%;height:auto}.container,.container-xxl{--rr-gutter-x: 1.5rem;--rr-gutter-y: 0;width:100%;padding-right:calc(var(--rr-gutter-x) * .5);padding-left:calc(var(--rr-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container{max-width:1320px}}:root{--rr-breakpoint-xs: 0;--rr-breakpoint-sm: 576px;--rr-breakpoint-md: 768px;--rr-breakpoint-lg: 992px;--rr-breakpoint-xl: 1200px;--rr-breakpoint-xxl: 1400px}.row{--rr-gutter-x: 1.5rem;--rr-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--rr-gutter-y));margin-right:calc(-.5 * var(--rr-gutter-x));margin-left:calc(-.5 * var(--rr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--rr-gutter-x) * .5);padding-left:calc(var(--rr-gutter-x) * .5);margin-top:var(--rr-gutter-y)}.col{flex:1 0 0%}.col-7{flex:0 0 auto;width:58.33333333%}.col-12{flex:0 0 auto;width:100%}.g-2{--rr-gutter-x: .5rem}.g-2{--rr-gutter-y: .5rem}.g-3{--rr-gutter-x: 1rem}.g-3{--rr-gutter-y: 1rem}.gy-4{--rr-gutter-y: 1.5rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.col-sm-6{flex:0 0 auto;width:50%}}@media (min-width: 768px){.col-md{flex:1 0 0%}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-6{flex:0 0 auto;width:50%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-12{flex:0 0 auto;width:100%}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-10{flex:0 0 auto;width:83.33333333%}}.table{--rr-table-color-type: initial;--rr-table-bg-type: initial;--rr-table-color-state: initial;--rr-table-bg-state: initial;--rr-table-color: var(--rr-emphasis-color);--rr-table-bg: var(--rr-body-bg);--rr-table-border-color: var(--rr-border-color);--rr-table-accent-bg: transparent;--rr-table-striped-color: var(--rr-emphasis-color);--rr-table-striped-bg: rgba(var(--rr-emphasis-color-rgb), .05);--rr-table-active-color: var(--rr-emphasis-color);--rr-table-active-bg: rgba(var(--rr-emphasis-color-rgb), .1);--rr-table-hover-color: var(--rr-emphasis-color);--rr-table-hover-bg: rgba(var(--rr-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:middle;border-color:var(--rr-table-border-color)}.table>:not(caption)>*>*{padding:1rem;color:var(--rr-table-color-state, var(--rr-table-color-type, var(--rr-table-color)));background-color:var(--rr-table-bg);border-bottom-width:var(--rr-border-width);box-shadow:inset 0 0 0 9999px var(--rr-table-bg-state, var(--rr-table-bg-type, var(--rr-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--rr-border-width));padding-bottom:calc(.375rem + var(--rr-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--rr-body-color);appearance:none;background-color:var(--rr-body-bg);background-clip:padding-box;border:var(--rr-border-width) solid var(--rr-border-color);border-radius:var(--rr-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--rr-body-color);background-color:var(--rr-body-bg);border-color:#acb5fa;outline:0;box-shadow:0 0 0 .25rem #586af540}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--rr-secondary-color);opacity:1}.form-control:disabled{background-color:var(--rr-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--rr-body-color);background-color:var(--rr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--rr-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--rr-secondary-bg)}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--rr-border-width) * 2))}.form-select{--rr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--rr-body-color);appearance:none;background-color:var(--rr-body-bg);background-image:var(--rr-form-select-bg-img),var(--rr-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--rr-border-width) solid var(--rr-border-color);border-radius:var(--rr-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#acb5fa;outline:0;box-shadow:0 0 0 .25rem #586af540}.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--rr-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--rr-body-color)}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{--rr-form-check-bg: var(--rr-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--rr-form-check-bg);background-image:var(--rr-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--rr-border-width) solid var(--rr-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#acb5fa;outline:0;box-shadow:0 0 0 .25rem #586af540}.form-check-input:checked{background-color:#586af5;border-color:#586af5}.form-check-input:checked[type=checkbox]{--rr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--rr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#586af5;border-color:#586af5;--rr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--rr-body-color);text-align:center;white-space:nowrap;background-color:var(--rr-tertiary-bg);border:var(--rr-border-width) solid var(--rr-border-color);border-radius:var(--rr-border-radius)}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--rr-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--rr-form-invalid-color)}.is-invalid~.invalid-feedback{display:block}.form-control.is-invalid{border-color:var(--rr-form-invalid-border-color)}.form-control.is-invalid:focus{border-color:var(--rr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--rr-danger-rgb),.25)}.form-select.is-invalid{border-color:var(--rr-form-invalid-border-color)}.form-select.is-invalid:focus{border-color:var(--rr-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--rr-danger-rgb),.25)}.form-check-input.is-invalid{border-color:var(--rr-form-invalid-border-color)}.form-check-input.is-invalid:checked{background-color:var(--rr-form-invalid-color)}.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--rr-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label{color:var(--rr-form-invalid-color)}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-select:not(:focus).is-invalid{z-index:4}.btn{--rr-btn-padding-x: .75rem;--rr-btn-padding-y: .375rem;--rr-btn-font-family: ;--rr-btn-font-size: 1rem;--rr-btn-font-weight: 500;--rr-btn-line-height: 1.5;--rr-btn-color: var(--rr-body-color);--rr-btn-bg: transparent;--rr-btn-border-width: var(--rr-border-width);--rr-btn-border-color: transparent;--rr-btn-border-radius: var(--rr-border-radius);--rr-btn-hover-border-color: transparent;--rr-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--rr-btn-disabled-opacity: .65;--rr-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--rr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--rr-btn-padding-y) var(--rr-btn-padding-x);font-family:var(--rr-btn-font-family);font-size:var(--rr-btn-font-size);font-weight:var(--rr-btn-font-weight);line-height:var(--rr-btn-line-height);color:var(--rr-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--rr-btn-border-width) solid var(--rr-btn-border-color);border-radius:var(--rr-btn-border-radius);background-color:var(--rr-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--rr-btn-hover-color);background-color:var(--rr-btn-hover-bg);border-color:var(--rr-btn-hover-border-color)}.btn:focus-visible{color:var(--rr-btn-hover-color);background-color:var(--rr-btn-hover-bg);border-color:var(--rr-btn-hover-border-color);outline:0;box-shadow:var(--rr-btn-focus-box-shadow)}:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--rr-btn-active-color);background-color:var(--rr-btn-active-bg);border-color:var(--rr-btn-active-border-color)}:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--rr-btn-focus-box-shadow)}.btn:disabled,.btn.disabled{color:var(--rr-btn-disabled-color);pointer-events:none;background-color:var(--rr-btn-disabled-bg);border-color:var(--rr-btn-disabled-border-color);opacity:var(--rr-btn-disabled-opacity)}.btn-primary{--rr-btn-color: #fff;--rr-btn-bg: #586af5;--rr-btn-border-color: #586af5;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #4b5ad0;--rr-btn-hover-border-color: #4655c4;--rr-btn-focus-shadow-rgb: 113, 128, 247;--rr-btn-active-color: #fff;--rr-btn-active-bg: #4655c4;--rr-btn-active-border-color: #4250b8;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #fff;--rr-btn-disabled-bg: #586af5;--rr-btn-disabled-border-color: #586af5}.btn-success{--rr-btn-color: #fff;--rr-btn-bg: #1fa493;--rr-btn-border-color: #1fa493;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #1a8b7d;--rr-btn-hover-border-color: #198376;--rr-btn-focus-shadow-rgb: 65, 178, 163;--rr-btn-active-color: #fff;--rr-btn-active-bg: #198376;--rr-btn-active-border-color: #177b6e;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #fff;--rr-btn-disabled-bg: #1fa493;--rr-btn-disabled-border-color: #1fa493}.btn-info{--rr-btn-color: #fff;--rr-btn-bg: #2b79cc;--rr-btn-border-color: #2b79cc;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #2567ad;--rr-btn-hover-border-color: #2261a3;--rr-btn-focus-shadow-rgb: 75, 141, 212;--rr-btn-active-color: #fff;--rr-btn-active-bg: #2261a3;--rr-btn-active-border-color: #205b99;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #fff;--rr-btn-disabled-bg: #2b79cc;--rr-btn-disabled-border-color: #2b79cc}.btn-danger{--rr-btn-color: #fff;--rr-btn-bg: #f35625;--rr-btn-border-color: #f35625;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #cf491f;--rr-btn-hover-border-color: #c2451e;--rr-btn-focus-shadow-rgb: 245, 111, 70;--rr-btn-active-color: #fff;--rr-btn-active-bg: #c2451e;--rr-btn-active-border-color: #b6411c;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #fff;--rr-btn-disabled-bg: #f35625;--rr-btn-disabled-border-color: #f35625}.btn-light{--rr-btn-color: #000;--rr-btn-bg: #f8f9fa;--rr-btn-border-color: #f8f9fa;--rr-btn-hover-color: #000;--rr-btn-hover-bg: #d3d4d5;--rr-btn-hover-border-color: #c6c7c8;--rr-btn-focus-shadow-rgb: 211, 212, 213;--rr-btn-active-color: #000;--rr-btn-active-bg: #c6c7c8;--rr-btn-active-border-color: #babbbc;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #000;--rr-btn-disabled-bg: #f8f9fa;--rr-btn-disabled-border-color: #f8f9fa}.btn-outline-primary{--rr-btn-color: #586af5;--rr-btn-border-color: #586af5;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #586af5;--rr-btn-hover-border-color: #586af5;--rr-btn-focus-shadow-rgb: 88, 106, 245;--rr-btn-active-color: #fff;--rr-btn-active-bg: #586af5;--rr-btn-active-border-color: #586af5;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #586af5;--rr-btn-disabled-bg: transparent;--rr-btn-disabled-border-color: #586af5;--rr-gradient: none}.btn-outline-secondary{--rr-btn-color: #6c757d;--rr-btn-border-color: #6c757d;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #6c757d;--rr-btn-hover-border-color: #6c757d;--rr-btn-focus-shadow-rgb: 108, 117, 125;--rr-btn-active-color: #fff;--rr-btn-active-bg: #6c757d;--rr-btn-active-border-color: #6c757d;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #6c757d;--rr-btn-disabled-bg: transparent;--rr-btn-disabled-border-color: #6c757d;--rr-gradient: none}.btn-outline-info{--rr-btn-color: #2b79cc;--rr-btn-border-color: #2b79cc;--rr-btn-hover-color: #fff;--rr-btn-hover-bg: #2b79cc;--rr-btn-hover-border-color: #2b79cc;--rr-btn-focus-shadow-rgb: 43, 121, 204;--rr-btn-active-color: #fff;--rr-btn-active-bg: #2b79cc;--rr-btn-active-border-color: #2b79cc;--rr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--rr-btn-disabled-color: #2b79cc;--rr-btn-disabled-bg: transparent;--rr-btn-disabled-border-color: #2b79cc;--rr-gradient: none}.btn-lg{--rr-btn-padding-y: .5rem;--rr-btn-padding-x: 1rem;--rr-btn-font-size: 1.25rem;--rr-btn-border-radius: var(--rr-border-radius-lg)}.btn-sm{--rr-btn-padding-y: .25rem;--rr-btn-padding-x: .5rem;--rr-btn-font-size: .875rem;--rr-btn-border-radius: var(--rr-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--rr-dropdown-zindex: 1000;--rr-dropdown-min-width: 10rem;--rr-dropdown-padding-x: 0;--rr-dropdown-padding-y: .5rem;--rr-dropdown-spacer: .125rem;--rr-dropdown-font-size: 1rem;--rr-dropdown-color: var(--rr-body-color);--rr-dropdown-bg: var(--rr-body-bg);--rr-dropdown-border-color: var(--rr-border-color-translucent);--rr-dropdown-border-radius: var(--rr-border-radius);--rr-dropdown-border-width: var(--rr-border-width);--rr-dropdown-inner-border-radius: calc(var(--rr-border-radius) - var(--rr-border-width));--rr-dropdown-divider-bg: var(--rr-border-color-translucent);--rr-dropdown-divider-margin-y: .5rem;--rr-dropdown-box-shadow: var(--rr-box-shadow);--rr-dropdown-link-color: var(--rr-body-color);--rr-dropdown-link-hover-color: var(--rr-body-color);--rr-dropdown-link-hover-bg: var(--rr-tertiary-bg);--rr-dropdown-link-active-color: #fff;--rr-dropdown-link-active-bg: #586af5;--rr-dropdown-link-disabled-color: var(--rr-tertiary-color);--rr-dropdown-item-padding-x: 1rem;--rr-dropdown-item-padding-y: .25rem;--rr-dropdown-header-color: #6c757d;--rr-dropdown-header-padding-x: 1rem;--rr-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--rr-dropdown-zindex);display:none;min-width:var(--rr-dropdown-min-width);padding:var(--rr-dropdown-padding-y) var(--rr-dropdown-padding-x);margin:0;font-size:var(--rr-dropdown-font-size);color:var(--rr-dropdown-color);text-align:left;list-style:none;background-color:var(--rr-dropdown-bg);background-clip:padding-box;border:var(--rr-dropdown-border-width) solid var(--rr-dropdown-border-color);border-radius:var(--rr-dropdown-border-radius)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-end{--bs-position: end}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-end{--bs-position: end}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-end{--bs-position: end}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-end{--bs-position: end}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-end{--bs-position: end}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-end{--bs-position: end}}.dropdown-divider{height:0;margin:var(--rr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--rr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--rr-dropdown-item-padding-y) var(--rr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--rr-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--rr-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--rr-dropdown-link-hover-color);background-color:var(--rr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--rr-dropdown-link-active-color);text-decoration:none;background-color:var(--rr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--rr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--rr-dropdown-header-padding-y) var(--rr-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--rr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--rr-dropdown-item-padding-y) var(--rr-dropdown-item-padding-x);color:var(--rr-dropdown-link-color)}.dropdown-menu-dark{--rr-dropdown-color: #dee2e6;--rr-dropdown-bg: #343a40;--rr-dropdown-border-color: var(--rr-border-color-translucent);--rr-dropdown-box-shadow: ;--rr-dropdown-link-color: #dee2e6;--rr-dropdown-link-hover-color: #fff;--rr-dropdown-divider-bg: var(--rr-border-color-translucent);--rr-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--rr-dropdown-link-active-color: #fff;--rr-dropdown-link-active-bg: #586af5;--rr-dropdown-link-disabled-color: #adb5bd;--rr-dropdown-header-color: #adb5bd}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after{margin-left:0}.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.nav{--rr-nav-link-padding-x: 1rem;--rr-nav-link-padding-y: .5rem;--rr-nav-link-font-weight: ;--rr-nav-link-color: var(--rr-link-color);--rr-nav-link-hover-color: var(--rr-link-hover-color);--rr-nav-link-disabled-color: var(--rr-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--rr-nav-link-padding-y) var(--rr-nav-link-padding-x);font-size:var(--rr-nav-link-font-size);font-weight:var(--rr-nav-link-font-weight);color:var(--rr-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--rr-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #586af540}.nav-link.disabled,.nav-link:disabled{color:var(--rr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--rr-nav-tabs-border-width: var(--rr-border-width);--rr-nav-tabs-border-color: var(--rr-border-color);--rr-nav-tabs-border-radius: var(--rr-border-radius);--rr-nav-tabs-link-hover-border-color: var(--rr-secondary-bg) var(--rr-secondary-bg) var(--rr-border-color);--rr-nav-tabs-link-active-color: var(--rr-emphasis-color);--rr-nav-tabs-link-active-bg: var(--rr-body-bg);--rr-nav-tabs-link-active-border-color: var(--rr-border-color) var(--rr-border-color) var(--rr-body-bg);border-bottom:var(--rr-nav-tabs-border-width) solid var(--rr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--rr-nav-tabs-border-width));border:var(--rr-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--rr-nav-tabs-border-radius);border-top-right-radius:var(--rr-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--rr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--rr-nav-tabs-link-active-color);background-color:var(--rr-nav-tabs-link-active-bg);border-color:var(--rr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--rr-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.accordion{--rr-accordion-color: var(--rr-body-color);--rr-accordion-bg: var(--rr-body-bg);--rr-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--rr-accordion-border-color: var(--rr-border-color);--rr-accordion-border-width: var(--rr-border-width);--rr-accordion-border-radius: var(--rr-border-radius);--rr-accordion-inner-border-radius: calc(var(--rr-border-radius) - (var(--rr-border-width)));--rr-accordion-btn-padding-x: 1.25rem;--rr-accordion-btn-padding-y: 1rem;--rr-accordion-btn-color: var(--rr-body-color);--rr-accordion-btn-bg: var(--rr-accordion-bg);--rr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--rr-accordion-btn-icon-width: 1.25rem;--rr-accordion-btn-icon-transform: rotate(-180deg);--rr-accordion-btn-icon-transition: transform .2s ease-in-out;--rr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23232a62' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--rr-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(88, 106, 245, .25);--rr-accordion-body-padding-x: 1.25rem;--rr-accordion-body-padding-y: 1rem;--rr-accordion-active-color: var(--rr-primary-text-emphasis);--rr-accordion-active-bg: var(--rr-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--rr-accordion-btn-padding-y) var(--rr-accordion-btn-padding-x);font-size:1rem;color:var(--rr-accordion-btn-color);text-align:left;background-color:var(--rr-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--rr-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--rr-accordion-active-color);background-color:var(--rr-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--rr-accordion-border-width)) 0 var(--rr-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--rr-accordion-btn-active-icon);transform:var(--rr-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--rr-accordion-btn-icon-width);height:var(--rr-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--rr-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--rr-accordion-btn-icon-width);transition:var(--rr-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--rr-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--rr-accordion-color);background-color:var(--rr-accordion-bg);border:var(--rr-accordion-border-width) solid var(--rr-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--rr-accordion-border-radius);border-top-right-radius:var(--rr-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--rr-accordion-inner-border-radius);border-top-right-radius:var(--rr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--rr-accordion-border-radius);border-bottom-left-radius:var(--rr-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--rr-accordion-inner-border-radius);border-bottom-left-radius:var(--rr-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--rr-accordion-border-radius);border-bottom-left-radius:var(--rr-accordion-border-radius)}.accordion-body{padding:var(--rr-accordion-body-padding-y) var(--rr-accordion-body-padding-x)}.breadcrumb{--rr-breadcrumb-padding-x: 0;--rr-breadcrumb-padding-y: 0;--rr-breadcrumb-margin-bottom: 1rem;--rr-breadcrumb-bg: ;--rr-breadcrumb-border-radius: ;--rr-breadcrumb-divider-color: var(--rr-secondary-color);--rr-breadcrumb-item-padding-x: .5rem;--rr-breadcrumb-item-active-color: var(--rr-secondary-color);display:flex;flex-wrap:wrap;padding:var(--rr-breadcrumb-padding-y) var(--rr-breadcrumb-padding-x);margin-bottom:var(--rr-breadcrumb-margin-bottom);font-size:var(--rr-breadcrumb-font-size);list-style:none;background-color:var(--rr-breadcrumb-bg);border-radius:var(--rr-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--rr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--rr-breadcrumb-item-padding-x);color:var(--rr-breadcrumb-divider-color);content:var(--rr-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--rr-breadcrumb-item-active-color)}.pagination{--rr-pagination-padding-x: .75rem;--rr-pagination-padding-y: .375rem;--rr-pagination-font-size: 1rem;--rr-pagination-color: var(--rr-link-color);--rr-pagination-bg: var(--rr-body-bg);--rr-pagination-border-width: var(--rr-border-width);--rr-pagination-border-color: var(--rr-border-color);--rr-pagination-border-radius: var(--rr-border-radius);--rr-pagination-hover-color: var(--rr-link-hover-color);--rr-pagination-hover-bg: var(--rr-tertiary-bg);--rr-pagination-hover-border-color: var(--rr-border-color);--rr-pagination-focus-color: var(--rr-link-hover-color);--rr-pagination-focus-bg: var(--rr-secondary-bg);--rr-pagination-focus-box-shadow: 0 0 0 .25rem rgba(88, 106, 245, .25);--rr-pagination-active-color: #fff;--rr-pagination-active-bg: #586af5;--rr-pagination-active-border-color: #586af5;--rr-pagination-disabled-color: var(--rr-secondary-color);--rr-pagination-disabled-bg: var(--rr-secondary-bg);--rr-pagination-disabled-border-color: var(--rr-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--rr-pagination-padding-y) var(--rr-pagination-padding-x);font-size:var(--rr-pagination-font-size);color:var(--rr-pagination-color);text-decoration:none;background-color:var(--rr-pagination-bg);border:var(--rr-pagination-border-width) solid var(--rr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--rr-pagination-hover-color);background-color:var(--rr-pagination-hover-bg);border-color:var(--rr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--rr-pagination-focus-color);background-color:var(--rr-pagination-focus-bg);outline:0;box-shadow:var(--rr-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--rr-pagination-active-color);background-color:var(--rr-pagination-active-bg);border-color:var(--rr-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--rr-pagination-disabled-color);pointer-events:none;background-color:var(--rr-pagination-disabled-bg);border-color:var(--rr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--rr-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--rr-pagination-border-radius);border-bottom-left-radius:var(--rr-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--rr-pagination-border-radius);border-bottom-right-radius:var(--rr-pagination-border-radius)}.pagination-lg{--rr-pagination-padding-x: 1.5rem;--rr-pagination-padding-y: .75rem;--rr-pagination-font-size: 1.25rem;--rr-pagination-border-radius: var(--rr-border-radius-lg)}.pagination-sm{--rr-pagination-padding-x: .5rem;--rr-pagination-padding-y: .25rem;--rr-pagination-font-size: .875rem;--rr-pagination-border-radius: var(--rr-border-radius-sm)}.alert{--rr-alert-bg: transparent;--rr-alert-padding-x: 1rem;--rr-alert-padding-y: 1rem;--rr-alert-margin-bottom: 1rem;--rr-alert-color: inherit;--rr-alert-border-color: transparent;--rr-alert-border: var(--rr-border-width) solid var(--rr-alert-border-color);--rr-alert-border-radius: var(--rr-border-radius);--rr-alert-link-color: inherit;position:relative;padding:var(--rr-alert-padding-y) var(--rr-alert-padding-x);margin-bottom:var(--rr-alert-margin-bottom);color:var(--rr-alert-color);background-color:var(--rr-alert-bg);border:var(--rr-alert-border);border-radius:var(--rr-alert-border-radius)}.alert-success{--rr-alert-color: var(--rr-success-text-emphasis);--rr-alert-bg: var(--rr-success-bg-subtle);--rr-alert-border-color: var(--rr-success-border-subtle);--rr-alert-link-color: var(--rr-success-text-emphasis)}.alert-warning{--rr-alert-color: var(--rr-warning-text-emphasis);--rr-alert-bg: var(--rr-warning-bg-subtle);--rr-alert-border-color: var(--rr-warning-border-subtle);--rr-alert-link-color: var(--rr-warning-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--rr-progress-height: 1rem;--rr-progress-font-size: .75rem;--rr-progress-bg: var(--rr-secondary-bg);--rr-progress-border-radius: var(--rr-border-radius);--rr-progress-box-shadow: var(--rr-box-shadow-inset);--rr-progress-bar-color: #fff;--rr-progress-bar-bg: #586af5;--rr-progress-bar-transition: width .6s ease;display:flex;height:var(--rr-progress-height);overflow:hidden;font-size:var(--rr-progress-font-size);background-color:var(--rr-progress-bg);border-radius:var(--rr-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--rr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--rr-progress-bar-bg);transition:var(--rr-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.btn-close{--rr-btn-close-color: #000;--rr-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--rr-btn-close-opacity: .5;--rr-btn-close-hover-opacity: .75;--rr-btn-close-focus-shadow: 0 0 0 .25rem rgba(88, 106, 245, .25);--rr-btn-close-focus-opacity: 1;--rr-btn-close-disabled-opacity: .25;--rr-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--rr-btn-close-color);background:transparent var(--rr-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--rr-btn-close-opacity)}.btn-close:hover{color:var(--rr-btn-close-color);text-decoration:none;opacity:var(--rr-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--rr-btn-close-focus-shadow);opacity:var(--rr-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--rr-btn-close-disabled-opacity)}.toast{--rr-toast-zindex: 1090;--rr-toast-padding-x: .75rem;--rr-toast-padding-y: .5rem;--rr-toast-spacing: 1.5rem;--rr-toast-max-width: 350px;--rr-toast-font-size: .875rem;--rr-toast-color: ;--rr-toast-bg: rgba(var(--rr-body-bg-rgb), .85);--rr-toast-border-width: var(--rr-border-width);--rr-toast-border-color: var(--rr-border-color-translucent);--rr-toast-border-radius: var(--rr-border-radius);--rr-toast-box-shadow: var(--rr-box-shadow);--rr-toast-header-color: var(--rr-secondary-color);--rr-toast-header-bg: rgba(var(--rr-body-bg-rgb), .85);--rr-toast-header-border-color: var(--rr-border-color-translucent);width:var(--rr-toast-max-width);max-width:100%;font-size:var(--rr-toast-font-size);color:var(--rr-toast-color);pointer-events:auto;background-color:var(--rr-toast-bg);background-clip:padding-box;border:var(--rr-toast-border-width) solid var(--rr-toast-border-color);box-shadow:var(--rr-toast-box-shadow);border-radius:var(--rr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--rr-toast-zindex: 1090;position:absolute;z-index:var(--rr-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--rr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--rr-toast-padding-y) var(--rr-toast-padding-x);color:var(--rr-toast-header-color);background-color:var(--rr-toast-header-bg);background-clip:padding-box;border-bottom:var(--rr-toast-border-width) solid var(--rr-toast-header-border-color);border-top-left-radius:calc(var(--rr-toast-border-radius) - var(--rr-toast-border-width));border-top-right-radius:calc(var(--rr-toast-border-radius) - var(--rr-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--rr-toast-padding-x));margin-left:var(--rr-toast-padding-x)}.toast-body{padding:var(--rr-toast-padding-x);word-wrap:break-word}.modal{--rr-modal-zindex: 1055;--rr-modal-width: 500px;--rr-modal-padding: 1rem;--rr-modal-margin: .5rem;--rr-modal-color: ;--rr-modal-bg: var(--rr-body-bg);--rr-modal-border-color: var(--rr-border-color-translucent);--rr-modal-border-width: var(--rr-border-width);--rr-modal-border-radius: var(--rr-border-radius-lg);--rr-modal-box-shadow: var(--rr-box-shadow-sm);--rr-modal-inner-border-radius: calc(var(--rr-border-radius-lg) - (var(--rr-border-width)));--rr-modal-header-padding-x: 1rem;--rr-modal-header-padding-y: 1rem;--rr-modal-header-padding: 1rem 1rem;--rr-modal-header-border-color: var(--rr-border-color);--rr-modal-header-border-width: var(--rr-border-width);--rr-modal-title-line-height: 1.5;--rr-modal-footer-gap: .5rem;--rr-modal-footer-bg: ;--rr-modal-footer-border-color: var(--rr-border-color);--rr-modal-footer-border-width: var(--rr-border-width);position:fixed;top:0;left:0;z-index:var(--rr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--rr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--rr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--rr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--rr-modal-color);pointer-events:auto;background-color:var(--rr-modal-bg);background-clip:padding-box;border:var(--rr-modal-border-width) solid var(--rr-modal-border-color);border-radius:var(--rr-modal-border-radius);outline:0}.modal-backdrop{--rr-backdrop-zindex: 1050;--rr-backdrop-bg: #000;--rr-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--rr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--rr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--rr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--rr-modal-header-padding);border-bottom:var(--rr-modal-header-border-width) solid var(--rr-modal-header-border-color);border-top-left-radius:var(--rr-modal-inner-border-radius);border-top-right-radius:var(--rr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--rr-modal-header-padding-y) * .5) calc(var(--rr-modal-header-padding-x) * .5);margin:calc(-.5 * var(--rr-modal-header-padding-y)) calc(-.5 * var(--rr-modal-header-padding-x)) calc(-.5 * var(--rr-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--rr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--rr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--rr-modal-padding) - var(--rr-modal-footer-gap) * .5);background-color:var(--rr-modal-footer-bg);border-top:var(--rr-modal-footer-border-width) solid var(--rr-modal-footer-border-color);border-bottom-right-radius:var(--rr-modal-inner-border-radius);border-bottom-left-radius:var(--rr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--rr-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--rr-modal-margin: 1.75rem;--rr-modal-box-shadow: var(--rr-box-shadow)}.modal-dialog{max-width:var(--rr-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--rr-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--rr-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--rr-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--rr-tooltip-zindex: 1080;--rr-tooltip-max-width: 200px;--rr-tooltip-padding-x: .5rem;--rr-tooltip-padding-y: .25rem;--rr-tooltip-margin: ;--rr-tooltip-font-size: .875rem;--rr-tooltip-color: var(--rr-body-bg);--rr-tooltip-bg: var(--rr-emphasis-color);--rr-tooltip-border-radius: var(--rr-border-radius);--rr-tooltip-opacity: .9;--rr-tooltip-arrow-width: .8rem;--rr-tooltip-arrow-height: .4rem;z-index:var(--rr-tooltip-zindex);display:block;margin:var(--rr-tooltip-margin);font-family:var(--rr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--rr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--rr-tooltip-opacity)}.spinner-border{display:inline-block;width:var(--rr-spinner-width);height:var(--rr-spinner-height);vertical-align:var(--rr-spinner-vertical-align);border-radius:50%;animation:var(--rr-spinner-animation-speed) linear infinite var(--rr-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--rr-spinner-width: 2rem;--rr-spinner-height: 2rem;--rr-spinner-vertical-align: -.125em;--rr-spinner-border-width: .25em;--rr-spinner-animation-speed: .75s;--rr-spinner-animation-name: spinner-border;border:var(--rr-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--rr-spinner-width: 1rem;--rr-spinner-height: 1rem;--rr-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.spinner-border{--rr-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--rr-offcanvas-zindex: 1045;--rr-offcanvas-width: 400px;--rr-offcanvas-height: 30vh;--rr-offcanvas-padding-x: 1rem;--rr-offcanvas-padding-y: 1rem;--rr-offcanvas-color: var(--rr-body-color);--rr-offcanvas-bg: var(--rr-body-bg);--rr-offcanvas-border-width: var(--rr-border-width);--rr-offcanvas-border-color: var(--rr-border-color-translucent);--rr-offcanvas-box-shadow: var(--rr-box-shadow-sm);--rr-offcanvas-transition: transform .3s ease-in-out;--rr-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--rr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--rr-offcanvas-color);visibility:hidden;background-color:var(--rr-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--rr-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--rr-offcanvas-width);border-right:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--rr-offcanvas-width);border-left:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-bottom:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-top:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--rr-offcanvas-height: auto;--rr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--rr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--rr-offcanvas-color);visibility:hidden;background-color:var(--rr-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--rr-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--rr-offcanvas-width);border-right:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--rr-offcanvas-width);border-left:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-bottom:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-top:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--rr-offcanvas-height: auto;--rr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--rr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--rr-offcanvas-color);visibility:hidden;background-color:var(--rr-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--rr-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--rr-offcanvas-width);border-right:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--rr-offcanvas-width);border-left:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-bottom:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-top:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--rr-offcanvas-height: auto;--rr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--rr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--rr-offcanvas-color);visibility:hidden;background-color:var(--rr-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--rr-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--rr-offcanvas-width);border-right:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--rr-offcanvas-width);border-left:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-bottom:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-top:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--rr-offcanvas-height: auto;--rr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--rr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--rr-offcanvas-color);visibility:hidden;background-color:var(--rr-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--rr-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--rr-offcanvas-width);border-right:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--rr-offcanvas-width);border-left:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-bottom:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-top:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--rr-offcanvas-height: auto;--rr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--rr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--rr-offcanvas-color);visibility:hidden;background-color:var(--rr-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--rr-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--rr-offcanvas-width);border-right:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--rr-offcanvas-width);border-left:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-bottom:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--rr-offcanvas-height);max-height:100%;border-top:var(--rr-offcanvas-border-width) solid var(--rr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--rr-offcanvas-padding-y) var(--rr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--rr-offcanvas-padding-y) * .5) calc(var(--rr-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--rr-offcanvas-padding-y)) calc(-.5 * var(--rr-offcanvas-padding-x)) calc(-.5 * var(--rr-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--rr-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--rr-offcanvas-padding-y) var(--rr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.visually-hidden{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption){position:absolute!important}.align-top{vertical-align:top!important}.object-fit-cover{object-fit:cover!important}.overflow-hidden{overflow:hidden!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.bottom-0{bottom:0!important}.border{border:var(--rr-border-width) var(--rr-border-style) var(--rr-border-color)!important}.border-0{border:0!important}.border-dark-subtle{border-color:var(--rr-dark-border-subtle)!important}.w-25{width:25%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-100{height:100%!important}.flex-fill{flex:1 1 auto!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-shrink-0{flex-shrink:0!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-stretch{align-items:stretch!important}.align-self-center{align-self:center!important}.m-0{margin:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-auto{margin-top:auto!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.mb-n3{margin-bottom:-1rem!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-3{padding-top:1rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.row-gap-1{row-gap:.25rem!important}.row-gap-3{row-gap:1rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-primary{--rr-text-opacity: 1;color:rgba(var(--rr-primary-rgb),var(--rr-text-opacity))!important}.text-warning{--rr-text-opacity: 1;color:rgba(var(--rr-warning-rgb),var(--rr-text-opacity))!important}.text-danger{--rr-text-opacity: 1;color:rgba(var(--rr-danger-rgb),var(--rr-text-opacity))!important}.text-dark{--rr-text-opacity: 1;color:rgba(var(--rr-dark-rgb),var(--rr-text-opacity))!important}.text-black{--rr-text-opacity: 1;color:rgba(var(--rr-black-rgb),var(--rr-text-opacity))!important}.text-white{--rr-text-opacity: 1;color:rgba(var(--rr-white-rgb),var(--rr-text-opacity))!important}.text-muted{--rr-text-opacity: 1;color:var(--rr-secondary-color)!important}.text-body-tertiary{--rr-text-opacity: 1;color:var(--rr-tertiary-color)!important}.bg-primary{--rr-bg-opacity: 1;background-color:rgba(var(--rr-primary-rgb),var(--rr-bg-opacity))!important}.bg-secondary{--rr-bg-opacity: 1;background-color:rgba(var(--rr-secondary-rgb),var(--rr-bg-opacity))!important}.bg-success{--rr-bg-opacity: 1;background-color:rgba(var(--rr-success-rgb),var(--rr-bg-opacity))!important}.bg-info{--rr-bg-opacity: 1;background-color:rgba(var(--rr-info-rgb),var(--rr-bg-opacity))!important}.bg-warning{--rr-bg-opacity: 1;background-color:rgba(var(--rr-warning-rgb),var(--rr-bg-opacity))!important}.bg-danger{--rr-bg-opacity: 1;background-color:rgba(var(--rr-danger-rgb),var(--rr-bg-opacity))!important}.bg-light{--rr-bg-opacity: 1;background-color:rgba(var(--rr-light-rgb),var(--rr-bg-opacity))!important}.bg-white{--rr-bg-opacity: 1;background-color:rgba(var(--rr-white-rgb),var(--rr-bg-opacity))!important}.bg-transparent{--rr-bg-opacity: 1;background-color:transparent!important}.bg-opacity-10{--rr-bg-opacity: .1}.bg-opacity-75{--rr-bg-opacity: .75}.bg-secondary-subtle{background-color:var(--rr-secondary-bg-subtle)!important}.pe-none{pointer-events:none!important}.rounded,.rounded-2{border-radius:var(--rr-border-radius)!important}.rounded-3{border-radius:var(--rr-border-radius-lg)!important}.rounded-circle{border-radius:50%!important}.z-0{z-index:0!important}.z-1{z-index:1!important}@media (min-width: 576px){.d-sm-flex{display:flex!important}.d-sm-none{display:none!important}.mb-sm-0{margin-bottom:0!important}}@media (min-width: 768px){.d-md-flex{display:flex!important}.d-md-none{display:none!important}.mb-md-0{margin-bottom:0!important}.ms-md-4{margin-left:1.5rem!important}}@media (min-width: 992px){.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}.d-lg-none{display:none!important}.mb-lg-0{margin-bottom:0!important}.ms-lg-4{margin-left:1.5rem!important}}@media (min-width: 1200px){.fs-3{font-size:1.75rem!important}}/*! + * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/) + * Copyright 2019-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */@font-face{font-display:block;font-family:bootstrap-icons;src:url(bootstrap-icons.bfa90bda92a84a6a.woff2?24e3eb84d0bcaf83d77f904c78ac1f47) format("woff2"),url(bootstrap-icons.70a9dee9e5ab72aa.woff?24e3eb84d0bcaf83d77f904c78ac1f47) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-archive:before{content:"\f10d"}.bi-arrow-clockwise:before{content:"\f116"}.bi-arrow-left:before{content:"\f12f"}.bi-arrows-angle-contract:before{content:"\f149"}.bi-arrows-angle-expand:before{content:"\f14a"}.bi-arrows-collapse:before{content:"\f14b"}.bi-box-arrow-right:before{content:"\f1c3"}.bi-calendar:before{content:"\f1f6"}.bi-calendar2:before{content:"\f20c"}.bi-calendar4:before{content:"\f218"}.bi-check2-all:before{content:"\f26f"}.bi-check2-circle:before{content:"\f270"}.bi-chevron-down:before{content:"\f282"}.bi-chevron-left:before{content:"\f284"}.bi-chevron-right:before{content:"\f285"}.bi-clipboard:before{content:"\f290"}.bi-exclamation-circle:before{content:"\f333"}.bi-exclamation-triangle:before{content:"\f33b"}.bi-eye-slash:before{content:"\f340"}.bi-eye:before{content:"\f341"}.bi-file-earmark-text:before{content:"\f38b"}.bi-funnel:before{content:"\f3e1"}.bi-gear:before{content:"\f3e5"}.bi-geo-alt:before{content:"\f3e8"}.bi-house:before{content:"\f425"}.bi-info-circle:before{content:"\f431"}.bi-journal-album:before{content:"\f439"}.bi-lightbulb-fill:before{content:"\f468"}.bi-lightbulb-off-fill:before{content:"\f469"}.bi-lightbulb-off:before{content:"\f46a"}.bi-lightbulb:before{content:"\f46b"}.bi-list-ul:before{content:"\f478"}.bi-list:before{content:"\f479"}.bi-mailbox:before{content:"\f47c"}.bi-mailbox2:before{content:"\f47d"}.bi-pencil-square:before{content:"\f4ca"}.bi-person:before{content:"\f4e1"}.bi-plus-circle:before{content:"\f4fa"}.bi-question-circle:before{content:"\f505"}.bi-search:before{content:"\f52a"}.bi-star-fill:before{content:"\f586"}.bi-trash-fill:before{content:"\f5dd"}.bi-trash:before{content:"\f5de"}.bi-x:before{content:"\f62a"}.bi-check-lg:before{content:"\f633"}.bi-database:before{content:"\f8c4"}.bi-arrows-collapse-vertical:before{content:"\f690"}.bi-mailbox-flag:before{content:"\f8f1"}.bi-mailbox2-flag:before{content:"\f8f2"}.toast-center-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 0 #ffffff}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0}.toast-container{pointer-events:none;position:fixed;z-index:999999}.toast-container *{box-sizing:border-box}.toast-container .ngx-toastr{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;background-size:24px;box-shadow:0 0 12px #999;color:#fff}.toast-container .ngx-toastr:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.toast-info{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgMTEwYzIzLjE5NiAwIDQyIDE4LjgwNCA0MiA0MnMtMTguODA0IDQyLTQyIDQyLTQyLTE4LjgwNC00Mi00MiAxOC44MDQtNDIgNDItNDJ6bTU2IDI1NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC04OGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMnYtNjRoLTEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDY0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTAwaDEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjR6Jy8+PC9zdmc+)}.toast-error{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Jy8+PC9zdmc+)}.toast-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvPjwvc3ZnPg==)}.toast-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTU2OS41MTcgNDQwLjAxM0M1ODcuOTc1IDQ3Mi4wMDcgNTY0LjgwNiA1MTIgNTI3Ljk0IDUxMkg0OC4wNTRjLTM2LjkzNyAwLTU5Ljk5OS00MC4wNTUtNDEuNTc3LTcxLjk4N0wyNDYuNDIzIDIzLjk4NWMxOC40NjctMzIuMDA5IDY0LjcyLTMxLjk1MSA4My4xNTQgMGwyMzkuOTQgNDE2LjAyOHpNMjg4IDM1NGMtMjUuNDA1IDAtNDYgMjAuNTk1LTQ2IDQ2czIwLjU5NSA0NiA0NiA0NiA0Ni0yMC41OTUgNDYtNDYtMjAuNTk1LTQ2LTQ2LTQ2em0tNDMuNjczLTE2NS4zNDZsNy40MTggMTM2Yy4zNDcgNi4zNjQgNS42MDkgMTEuMzQ2IDExLjk4MiAxMS4zNDZoNDguNTQ2YzYuMzczIDAgMTEuNjM1LTQuOTgyIDExLjk4Mi0xMS4zNDZsNy40MTgtMTM2Yy4zNzUtNi44NzQtNS4wOTgtMTIuNjU0LTExLjk4Mi0xMi42NTRoLTYzLjM4M2MtNi44ODQgMC0xMi4zNTYgNS43OC0xMS45ODEgMTIuNjU0eicvPjwvc3ZnPg==)}.toast-container.toast-top-center .ngx-toastr,.toast-container.toast-bottom-center .ngx-toastr{width:300px;margin-left:auto;margin-right:auto}.toast-container.toast-top-full-width .ngx-toastr,.toast-container.toast-bottom-full-width .ngx-toastr{width:96%;margin-left:auto;margin-right:auto}.ngx-toastr{background-color:#030303;pointer-events:auto}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}@media all and (max-width: 240px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:11em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 241px) and (max-width: 480px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:18em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 481px) and (max-width: 768px){.toast-container .ngx-toastr.div{padding:15px 15px 15px 50px;width:25em}}html,body{height:100%}.dropdown-toggle.no-caret:after{display:none}.dropdown-menu{--rr-dropdown-padding-x: .5rem}.dropdown-item{--rr-dropdown-item-border-radius: .25rem}.table th{white-space:nowrap;font-weight:600} diff --git a/frontend-roadreport-deploy/package.json b/frontend-roadreport-deploy/package.json new file mode 100644 index 0000000..c2fe249 --- /dev/null +++ b/frontend-roadreport-deploy/package.json @@ -0,0 +1,61 @@ +{ + "name": "road-report", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^16.1.0", + "@angular/cdk": "^16.2.1", + "@angular/common": "^16.1.0", + "@angular/compiler": "^16.1.0", + "@angular/core": "^16.1.0", + "@angular/forms": "^16.1.0", + "@angular/platform-browser": "^16.1.0", + "@angular/platform-browser-dynamic": "^16.1.0", + "@angular/router": "^16.1.0", + "@asymmetrik/ngx-leaflet": "^16.0.1", + "@asymmetrik/ngx-leaflet-markercluster": "^16.0.0", + "@auth0/angular-jwt": "^5.1.2", + "@ckeditor/ckeditor5-angular": "^7.0.0", + "@ckeditor/ckeditor5-build-classic": "^39.0.1", + "@ng-bootstrap/ng-bootstrap": "^15.1.0", + "@popperjs/core": "^2.11.6", + "apexcharts": "^3.44.0", + "bootstrap": "^5.2.3", + "bootstrap-icons": "^1.10.5", + "dayjs": "^1.11.9", + "leaflet": "^1.9.4", + "leaflet.markercluster": "^1.5.3", + "ng-apexcharts": "^1.8.0", + "ngx-awesome-uploader": "^16.0.0", + "ngx-lightbox": "^3.0.0", + "ngx-toastr": "^17.0.2", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.13.0" + }, + "devDependencies": { + "@angular-builders/custom-webpack": "^16.0.0", + "@angular-devkit/build-angular": "^16.1.4", + "@angular/cli": "~16.1.4", + "@angular/compiler-cli": "^16.1.0", + "@angular/localize": "^16.1.0", + "@types/file-saver": "^2.0.7", + "@types/jasmine": "~4.3.0", + "@types/leaflet": "^1.9.3", + "jasmine-core": "~4.6.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "purgecss-webpack-plugin": "^5.0.0", + "typescript": "~5.1.3" + } +} diff --git a/frontend-roadreport-deploy/proxy.conf.json b/frontend-roadreport-deploy/proxy.conf.json new file mode 100644 index 0000000..3f2f2c0 --- /dev/null +++ b/frontend-roadreport-deploy/proxy.conf.json @@ -0,0 +1,8 @@ +{ + "/image": { + "target": "https://roadreport-bucket.s3.ap-southeast-1.amazonaws.com", + "secure": true, + "changeOrigin": true, + "logLevel": "debug" + } +} diff --git a/frontend-roadreport-deploy/src/app/app-routing.module.ts b/frontend-roadreport-deploy/src/app/app-routing.module.ts new file mode 100644 index 0000000..ee7493d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/app-routing.module.ts @@ -0,0 +1,42 @@ +import { NgModule } from "@angular/core"; +import { RouterModule, Routes } from "@angular/router"; +import { loginGuard } from "./cores/guards/login.guard"; +import { authGuard } from "./cores/guards/auth.guard"; + +const routes: Routes = [ + { + path: "", + pathMatch: "full", + redirectTo: "auth", + }, + { + path: "auth", + loadChildren: () => + import("./pages/auth/auth.module").then((m) => m.AuthModule), + title: "Dashboard - Login", + canActivate: [loginGuard], + }, + { + path: "dashboard", + loadChildren: () => + import("./pages/dashboard/dashboard.module").then( + (m) => m.DashboardModule + ), + title: "Dashboard", + canActivate: [authGuard], + }, + { + path: "**", + loadChildren: () => + import("./pages/error-not-found/error-not-found.module").then( + (m) => m.ErrorNotFoundModule + ), + title: "Halaman Tidak Ditemukan", + }, +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule], +}) +export class AppRoutingModule {} diff --git a/frontend-roadreport-deploy/src/app/app.component.html b/frontend-roadreport-deploy/src/app/app.component.html new file mode 100644 index 0000000..0680b43 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/app.component.html @@ -0,0 +1 @@ + diff --git a/frontend-roadreport-deploy/src/app/app.component.scss b/frontend-roadreport-deploy/src/app/app.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/app.component.spec.ts b/frontend-roadreport-deploy/src/app/app.component.spec.ts new file mode 100644 index 0000000..ccb377b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/app.component.spec.ts @@ -0,0 +1,29 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(() => TestBed.configureTestingModule({ + imports: [RouterTestingModule], + declarations: [AppComponent] + })); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'road-report'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('road-report'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('road-report app is running!'); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/app.component.ts b/frontend-roadreport-deploy/src/app/app.component.ts new file mode 100644 index 0000000..3056d8a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/app.component.ts @@ -0,0 +1,16 @@ +import { Component } from "@angular/core"; +import { NgbModalConfig } from "@ng-bootstrap/ng-bootstrap"; + +@Component({ + selector: "app-root", + templateUrl: "./app.component.html", + styleUrls: ["./app.component.scss"], +}) +export class AppComponent { + title = "road-report"; + + constructor(private modalConfig: NgbModalConfig) { + this.modalConfig.centered = true; + this.modalConfig.scrollable = true; + } +} diff --git a/frontend-roadreport-deploy/src/app/app.module.ts b/frontend-roadreport-deploy/src/app/app.module.ts new file mode 100644 index 0000000..587713e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/app.module.ts @@ -0,0 +1,54 @@ +import { LOCALE_ID, NgModule } from "@angular/core"; +import { BrowserModule } from "@angular/platform-browser"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import { AppRoutingModule } from "./app-routing.module"; +import { AppComponent } from "./app.component"; +import { HttpClientModule } from "@angular/common/http"; +import { JwtModule } from "@auth0/angular-jwt"; +import { ToastrModule } from "ngx-toastr"; +import { registerLocaleData } from "@angular/common"; +import localeId from "@angular/common/locales/id"; +import { HttpInterceptors } from "./cores/interceptors"; +import { LightboxModule } from "ngx-lightbox"; +import { FormsModule } from "@angular/forms"; + +registerLocaleData(localeId, "id"); + +export function tokenGetter(): any { + return localStorage.getItem("access_jwt_token"); +} + +export const allowedDomains = ["localhost", "pisdev.my.id"]; + +@NgModule({ + declarations: [AppComponent], + imports: [ + LightboxModule, + BrowserModule, + BrowserAnimationsModule, + AppRoutingModule, + HttpClientModule, + JwtModule.forRoot({ + config: { + tokenGetter, + allowedDomains, + }, + }), + ToastrModule.forRoot({ + timeOut: 2500, + positionClass: "toast-bottom-center", + preventDuplicates: true, + progressBar: true, + }), + FormsModule, + ], + providers: [ + { + provide: LOCALE_ID, + useValue: "id-ID", + }, + HttpInterceptors, + ], + bootstrap: [AppComponent], +}) +export class AppModule {} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/dumps/uploaded.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/dumps/uploaded.service.ts new file mode 100644 index 0000000..d67af25 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/dumps/uploaded.service.ts @@ -0,0 +1,33 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface UploadImage extends Timestamp { + id: string; + filename: string; + file_type: string; + file_size: string; + category: string; + uploaded_ip: string; + folder: string; + rel_path: string; + abs_path: string; + upload_status: boolean; + link_status: boolean; + extra: null; +} + +@Injectable({ + providedIn: "root", +}) +export class UploadImageService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "upload-dumps"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByStatus.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByStatus.service.ts new file mode 100644 index 0000000..8439999 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByStatus.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { ExportLaporanById } from "./export-laporanByid.service"; + +@Injectable({ + providedIn: "root", +}) +export class ExportLaporanByIdStatus extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByid.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByid.service.ts new file mode 100644 index 0000000..ea917ca --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/export/export-laporanByid.service.ts @@ -0,0 +1,32 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { Timestamp } from "../../interfaces/timestamp"; + +export interface ExportLaporanById extends Timestamp { + filename: string; + file_type: string; + file_size: number; + category: string; + folder: string; + rel_path: string; + abs_path: string; + uploader_ip: number; + upload_status: boolean; + link_status: boolean; + id: string; +} + +@Injectable({ + providedIn: "root", +}) +export class ExportLaporanByIdService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "report-list/export"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/gudang/bahan.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/gudang/bahan.service.ts new file mode 100644 index 0000000..97bf652 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/gudang/bahan.service.ts @@ -0,0 +1,25 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface Bahan extends Timestamp { + id: string; + name: string; + qty: number; + unit: string; +} + +@Injectable({ + providedIn: "root", +}) +export class BahanService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "inventory-list"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/home/ringkasan.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/home/ringkasan.service.ts new file mode 100644 index 0000000..a62eb4b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/home/ringkasan.service.ts @@ -0,0 +1,26 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface Ringkasan { + DitindakLanjuti: number; + Selesai: number; + DalamProses: number; + Perbaikan: number; + Ditolak: number; + SemuaLaporan: number; +} + +@Injectable({ + providedIn: "root", +}) +export class RingkasanService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "report-list/count"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/laporan/laporan.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/laporan/laporan.service.ts new file mode 100644 index 0000000..b75f48b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/laporan/laporan.service.ts @@ -0,0 +1,59 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { User } from "../manage/user.service"; +import { + Rating, + Schedule, + Segmens, + StatusReport, + Survey, +} from "../../interfaces/master"; +import { BehaviorSubject, Observable } from "rxjs"; +import { ObjectResponse } from "../../interfaces/api-object-response"; + +export interface Laporan extends Timestamp { + user_level: any; + user_type: any; + id: string; + user_id: string; + status_id: string; + note: string; + no_ticket: string; + assign_survey_to: string; + survey_status: boolean; + survey?: Survey; + status_report: StatusReport; + user: User; + survey_end_date: string; + survey_start_date: string; + schedule: Schedule; + segmens: Segmens[]; + rating?: Rating; +} + +@Injectable({ + providedIn: "root", +}) +export class LaporanService extends ApiService { + private reportDetailsSubject = new BehaviorSubject(null); + + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "report-list"; + } + + getData( + id: string | number, + query?: any + ): Observable> { + const url = this.urlWithId(id); + const params = query ? this.helpers.generateParams(query) : {}; + return this.http.get>(url, { params }); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/laporan/quartet-count.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/laporan/quartet-count.service.ts new file mode 100644 index 0000000..3690225 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/laporan/quartet-count.service.ts @@ -0,0 +1,18 @@ +// import { Injectable } from "@angular/core"; +// import { ApiService } from "../../services/api.service"; +// import { HttpClient } from "@angular/common/http"; +// import { HelpersService } from "../../services/helpers.service"; +// import { Laporan } from "./laporan.service"; + +// @Injectable({ +// providedIn: "root", +// }) +// export class LaporanService extends ApiService { +// constructor( +// public override http: HttpClient, +// public override helpers: HelpersService +// ) { +// super(http, helpers); +// this.endpoint = `report-list/quarter/4`; +// } +// } diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/laporan/rejected-laporan.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/laporan/rejected-laporan.service.ts new file mode 100644 index 0000000..69cd0a2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/laporan/rejected-laporan.service.ts @@ -0,0 +1,32 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { User } from "../manage/user.service"; +import { Schedule, Segmens, StatusReport } from "../../interfaces/master"; + +export interface Rejected extends Timestamp { + id: string; + user_id: string; + status_id: string; + note: string; + no_ticket: string; + status_report: StatusReport; + user: User; + schedule: Schedule; + segmens: Segmens[]; +} + +@Injectable({ + providedIn: "root", +}) +export class RejectedLaporanService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = `rejected`; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/machine-learning/machine-segmen.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/machine-learning/machine-segmen.service.ts new file mode 100644 index 0000000..6e23785 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/machine-learning/machine-segmen.service.ts @@ -0,0 +1,14 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HelpersService } from "../../services/helpers.service"; + +export interface MachineSegmenService extends Timestamp {} + +@Injectable({ + providedIn: "root", +}) +export class MachineSegmenService { + constructor(public http: HttpClient) {} +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/manage/change-password.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/manage/change-password.service.ts new file mode 100644 index 0000000..685a235 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/manage/change-password.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface ChangePassword extends Timestamp { + old_password: string; + new_password: string; +} + +@Injectable({ + providedIn: "root", +}) +export class ChangePasswordService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "users/change-password"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/manage/faq.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/manage/faq.service.ts new file mode 100644 index 0000000..e529413 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/manage/faq.service.ts @@ -0,0 +1,25 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface Faq extends Timestamp { + id: string; + title: string; + desc: string; + order: number; +} + +@Injectable({ + providedIn: "root", +}) +export class FaqService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "faq"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/manage/surveyor.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/manage/surveyor.service.ts new file mode 100644 index 0000000..7faacbf --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/manage/surveyor.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { User } from "./user.service"; + +@Injectable({ + providedIn: "root", +}) +export class SurveyorService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "surveyor"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/manage/user.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/manage/user.service.ts new file mode 100644 index 0000000..8b510c6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/manage/user.service.ts @@ -0,0 +1,36 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface User extends Timestamp { + id: string; + title: string; + desc: string; + order: number; + urole_id: string; + username: string; + fullname: string; + shortname: string; + email: string; + avatar: string; + note: string; + status: boolean; + is_ban: boolean; + google_id: string; + phone: string; +} + +@Injectable({ + providedIn: "root", +}) +export class UserService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "users"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/map/report-segmens.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/map/report-segmens.service.ts new file mode 100644 index 0000000..cefe022 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/map/report-segmens.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { ApiService } from "../../services/api.service"; +import { Timestamp } from "../../interfaces/timestamp"; +import { HelpersService } from "../../services/helpers.service"; +import { AnalyticData, Segmen } from "../../interfaces/master"; + +export interface ReportSegmen extends Timestamp { + id: string; + report_id: string; + map_street_segmen_id: string; + user_type: string; + user_level: string; + segmen: Segmen; + analytic_data: AnalyticData; +} + +@Injectable({ + providedIn: "root", +}) +export class ReportSegmens extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "report-segmens"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/map/street-segmens.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/map/street-segmens.service.ts new file mode 100644 index 0000000..5945154 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/map/street-segmens.service.ts @@ -0,0 +1,28 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { ApiService } from "../../services/api.service"; +import { Timestamp } from "../../interfaces/timestamp"; +import { HelpersService } from "../../services/helpers.service"; + +export interface Peta extends Timestamp { + length: number; + id: string; + map_street_section_id: string; + map_street_id: string; + name: string; + order: number; + geojson: string; +} + +@Injectable({ + providedIn: "root", +}) +export class StreetSegmens extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "street-segmens"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/map/sub-district.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/map/sub-district.service.ts new file mode 100644 index 0000000..f68e5cc --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/map/sub-district.service.ts @@ -0,0 +1,28 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HelpersService } from "../../services/helpers.service"; + +export interface SubDistrict extends Timestamp { + id: string; + province_id: number; + city_id: number; + district_id: number; + name: string; + type: string; + geojson: string; +} + +@Injectable({ + providedIn: "root", +}) +export class SubDistricService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "sub-district"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/detail-perbaikan.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/detail-perbaikan.service.ts new file mode 100644 index 0000000..74a3ce3 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/detail-perbaikan.service.ts @@ -0,0 +1,39 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { Timestamp } from "../../interfaces/timestamp"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { User } from "../manage/user.service"; +import { Segmens, StatusReport } from "../../interfaces/master"; + +export interface DetailPerbaikan extends Timestamp { + id: string; + report_id: string; + date_start: Date; + date_end: Date; + status: string; + note: string; + report: { + id: string; + user_id: string; + status_id: string; + note: string; + no_ticket: string; + status_report: StatusReport; + user: User; + segmens: Segmens[]; + }; +} + +@Injectable({ + providedIn: "root", +}) +export class DetailPerbaikanService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "report-schedules/detail"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/maintenance.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/maintenance.service.ts new file mode 100644 index 0000000..d48839e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/maintenance.service.ts @@ -0,0 +1,34 @@ +import { Injectable } from "@angular/core"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +export interface Maintenance extends Timestamp { + id: string; + report_schedule_id: string; + segmen_id: string; + date: Date; + maintenance_by: string; + note: string; + photo_after: [ + { + filename: string; + abs_path: string; + file_dump_id: string; + } + ]; +} + +@Injectable({ + providedIn: "root", +}) +export class MaintenanceService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = "maintenanced"; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/perbaikan.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/perbaikan.service.ts new file mode 100644 index 0000000..a5638f2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/perbaikan/perbaikan.service.ts @@ -0,0 +1,46 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { Timestamp } from "../../interfaces/timestamp"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; +import { Segmens, StatusReport } from "../../interfaces/master"; +import { User } from "../manage/user.service"; +import { AuthService } from "../../services/auth.service"; + +export interface Perbaikan extends Timestamp { + id: string; + report_id: string; + date_start: Date; + date_end: Date; + status: string; + note: string; + report: { + id: string; + user_id: string; + status_id: string; + note: string; + no_ticket: string; + status_report: StatusReport; + user: User; + segmens: Segmens[]; + }; +} + +@Injectable({ + providedIn: "root", +}) +export class PerbaikanService extends ApiService { + constructor( + private auth: AuthService, + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + + if (auth.getLoggedUser().role.code == "PNGL") { + this.endpoint = `report-schedules/pengelola/${auth.getLoggedUser().id}`; + } else { + this.endpoint = `report-schedules`; + } + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/rekapitulasi/rekapitulasi.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/rekapitulasi/rekapitulasi.service.ts new file mode 100644 index 0000000..e1db591 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/rekapitulasi/rekapitulasi.service.ts @@ -0,0 +1,16 @@ +import { Injectable } from "@angular/core"; +import { ApiService } from "../../services/api.service"; +import { HttpClient } from "@angular/common/http"; +import { HelpersService } from "../../services/helpers.service"; + +@Injectable({ + providedIn: "root", +}) +export class RekapitulasiService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/surveyor/postsurvey.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/surveyor/postsurvey.service.ts new file mode 100644 index 0000000..f0ac142 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/surveyor/postsurvey.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { ApiService } from "../../services/api.service"; +import { HelpersService } from "../../services/helpers.service"; +import { Survey } from "../../interfaces/master"; + +@Injectable({ + providedIn: "root", +}) +export class PostSurveyService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService + ) { + super(http, helpers); + this.endpoint = `survey`; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/surveyor/surveyor.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/surveyor/surveyor.service.ts new file mode 100644 index 0000000..a429c77 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/surveyor/surveyor.service.ts @@ -0,0 +1,39 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { Timestamp } from "../../interfaces/timestamp"; +import { ApiService } from "../../services/api.service"; +import { HelpersService } from "../../services/helpers.service"; +import { Schedule, Segmens, StatusReport } from "../../interfaces/master"; +import { User } from "../manage/user.service"; +import { AuthService } from "../../services/auth.service"; +import { Router } from "@angular/router"; + +export interface Surveyor extends Timestamp { + id: string; + user_id: string; + status_id: string; + note: string; + no_ticket: string; + survey_status: boolean; + survey_end_date: string; + survey_start_date: string; + status_report: StatusReport; + user: User; + schedule: Schedule; + segmens: Segmens[]; +} + +@Injectable({ + providedIn: "root", +}) +export class SurveyorService extends ApiService { + constructor( + public override http: HttpClient, + public override helpers: HelpersService, + private router: Router, + private auth: AuthService + ) { + super(http, helpers); + this.endpoint = `report-list/surveyor/${auth.getLoggedUser().id}`; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/api-services/tes.service.ts b/frontend-roadreport-deploy/src/app/cores/api-services/tes.service.ts new file mode 100644 index 0000000..eada5e0 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/api-services/tes.service.ts @@ -0,0 +1,14 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; + +@Injectable({ + providedIn: "root", +}) +export class JsonDataService { + constructor(private http: HttpClient) {} + + getJsonData(): Observable { + return this.http.get("assets/graf-tes.json"); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/class-templates/base-crud.component.ts b/frontend-roadreport-deploy/src/app/cores/class-templates/base-crud.component.ts new file mode 100644 index 0000000..2db9a0b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/class-templates/base-crud.component.ts @@ -0,0 +1,161 @@ +import { AfterViewInit, Component, OnDestroy, OnInit } from "@angular/core"; +import { HTTPQuery } from "../interfaces/http-query"; +import { Subject, debounceTime, takeUntil } from "rxjs"; +import { FormControl } from "@angular/forms"; +import { HelpersService } from "../services/helpers.service"; +import { LoadingService } from "../services/loading.service"; +import { ApiService } from "../services/api.service"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { ConfirmationModalComponent } from "src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component"; + +@Component({ + selector: "base-crud", + template: "", +}) +export class BaseCrudComponent implements OnInit, OnDestroy, AfterViewInit { + pageTitle = ""; + + queryLimit = 10; + queryPage = 1; + querySort = "-created_at"; + queries: HTTPQuery = {}; + + searchFields = ""; + searchForm = new FormControl(); + searchSubs$ = new Subject(); + + dataSource: T[] = []; + dataSourceLength = 0; + dataSourceTotal = 0; + dataSourceSubs$ = new Subject(); + + pageSizeOptions = [5, 10, 25, 50]; + + constructor( + public helpers: HelpersService, + public loading: LoadingService, + public api: ApiService, + public modal: NgbModal + ) { + this.queries = { + limit: this.queryLimit, + page: this.queryPage, + sort: this.querySort, + }; + } + + ngOnInit(): void { + this.getAll(); + } + + ngAfterViewInit(): void { + this.searchForm.valueChanges + .pipe(debounceTime(1000), takeUntil(this.searchSubs$)) + .subscribe((value) => { + if (value.trim().length >= 3 && !value.startsWith(" ")) { + this.queries = { + ...this.queries, + search: { + fields: this.searchFields, + value: value, + }, + }; + } else if (value.trim().length === 0 && !value.startsWith(" ")) { + delete this.queries["search"]; + } else { + return; + } + this.getAll(false); + }); + } + + ngOnDestroy(): void { + this.dataSourceSubs$.next(); + this.dataSourceSubs$.complete(); + + this.searchSubs$.next(); + this.searchSubs$.complete(); + + this.loading.hide(); + } + + getAll(isTotalChange = true): void { + this.loading.show(); + this.api + .getAll(this.queries) + .pipe(takeUntil(this.dataSourceSubs$)) + .subscribe({ + next: ({ data, total }) => { + this.loading.hide(); + this.dataSource = data; + this.dataSourceLength = total; + if (isTotalChange) this.dataSourceTotal = total; + }, + error: () => { + this.loading.hide(); + this.helpers.toast("error", `Gagal mengambil data`); + }, + }); + } + + onPageSizeChange(pageSize: Event): void { + const value = parseInt((pageSize.target as HTMLInputElement).value); + this.queryLimit = value; + this.queries = { + ...this.queries, + limit: this.queryLimit, + page: this.queryPage, + }; + this.getAll(false); + } + + onPaginateChange(page: any): void { + this.queryPage = page; + this.queries = { + ...this.queries, + page: this.queryPage, + }; + this.getAll(false); + } + + parseNumber(value: number): number { + return this.queries["page"] && this.queries["limit"] + ? value + 1 + (this.queries["page"] - 1) * this.queries["limit"] + : value; + } + + onDeleteData( + id: string | number, + subject: string | null | undefined = null + ): void { + const modalRef = this.modal.open(ConfirmationModalComponent, { + size: "sm", + }); + modalRef.componentInstance.modalType = 2; + modalRef.componentInstance.message = `Anda yakin ingin menghapus ${ + subject ? `${subject}` : "data" + } ?`; + modalRef.result.then( + (result) => { + if (result) { + this.api.delete(id).subscribe({ + next: () => { + this.helpers.toast( + "success", + `Berhasil menghapus ${subject ?? "data"}` + ); + this.getAll(true); + }, + error: () => { + this.helpers.toast( + "error", + `Gagal menghapus data ${subject} ?? 'data'` + ); + }, + }); + } + }, + () => {} + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/form-validators/cant-contain-whitespace.ts b/frontend-roadreport-deploy/src/app/cores/form-validators/cant-contain-whitespace.ts new file mode 100644 index 0000000..28f0cc5 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/form-validators/cant-contain-whitespace.ts @@ -0,0 +1,12 @@ +import { AbstractControl, ValidationErrors } from "@angular/forms"; + +export class CantContainWhiteSpaceValidator { + static cantContainSpace(control: AbstractControl): ValidationErrors | null { + if (control?.value) { + if ((control.value as string).indexOf(" ") >= 0) { + return { cantContainSpace: true }; + } + } + return null; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/form-validators/email-validation.ts b/frontend-roadreport-deploy/src/app/cores/form-validators/email-validation.ts new file mode 100644 index 0000000..923e138 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/form-validators/email-validation.ts @@ -0,0 +1,24 @@ +import { AbstractControl, ValidationErrors } from "@angular/forms"; + +export class EmailValidator { + static emailValidation(control: AbstractControl): ValidationErrors | null { + const allowedDomains = ["gmail.com"]; + + // if (control?.value) { + // const email = control.value as string; + // const domain = email.split("@")[1]; + // if (!allowedDomains.includes(domain)) { + // return { emailValidation: true }; + // } + // } + if (control?.value) { + const email = control.value as string; + const domain = email.split("@")[1]; + if (domain && (domain.endsWith(".com") || domain.endsWith(".co"))) { + return null; // Email dengan domain .com atau .co diizinkan + } + } + return { emailValidation: true }; + // return null; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/form-validators/whitespace.ts b/frontend-roadreport-deploy/src/app/cores/form-validators/whitespace.ts new file mode 100644 index 0000000..c0496b0 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/form-validators/whitespace.ts @@ -0,0 +1,13 @@ +import { AbstractControl, ValidationErrors } from "@angular/forms"; + +export class WhiteSpaceValidator { + static noWhiteSpace(control: AbstractControl): ValidationErrors | null { + if (control?.value) { + const trimmedValue = control.value.trim(); + if (trimmedValue.length !== control.value.length) { + return { noWhiteSpace: true }; + } + } + return null; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/guards/auth.guard.ts b/frontend-roadreport-deploy/src/app/cores/guards/auth.guard.ts new file mode 100644 index 0000000..66836bb --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/guards/auth.guard.ts @@ -0,0 +1,23 @@ +import { CanActivateFn, Router } from "@angular/router"; +import { AuthService } from "../services/auth.service"; +import { inject } from "@angular/core"; +import { HelpersService } from "../services/helpers.service"; + +export const authGuard: CanActivateFn = (route, state) => { + const auth = inject(AuthService); + const router = inject(Router); + const helpers = inject(HelpersService); + + if (!auth.isAuthenticated()) { + auth.removeToken(); + router.navigate(["/auth"], { + queryParams: { + url: state.url, + }, + }); + helpers.toast("error", "Silakan login terlebih dahulu"); + return false; + } + + return true; +}; diff --git a/frontend-roadreport-deploy/src/app/cores/guards/login.guard.ts b/frontend-roadreport-deploy/src/app/cores/guards/login.guard.ts new file mode 100644 index 0000000..07cad5f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/guards/login.guard.ts @@ -0,0 +1,16 @@ +import { CanActivateFn, Router } from "@angular/router"; +import { AuthService } from "../services/auth.service"; +import { inject } from "@angular/core"; + +export const loginGuard: CanActivateFn = (route, state) => { + const auth = inject(AuthService); + const router = inject(Router); + + if (auth.isAuthenticated()) { + router.navigate(["/dashboard"]); + return false; + } else { + auth.removeToken(); + return true; + } +}; diff --git a/frontend-roadreport-deploy/src/app/cores/guards/role.guard.ts b/frontend-roadreport-deploy/src/app/cores/guards/role.guard.ts new file mode 100644 index 0000000..f3817cf --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/guards/role.guard.ts @@ -0,0 +1,25 @@ +import { + ActivatedRouteSnapshot, + CanActivateFn, + Router, + RouterStateSnapshot, +} from "@angular/router"; +import { AuthService } from "../services/auth.service"; +import { inject } from "@angular/core"; + +export const HasRoleGuard: CanActivateFn = ( + route: ActivatedRouteSnapshot, + state: RouterStateSnapshot +) => { + const auth = inject(AuthService); + const router = inject(Router); + + const roleUser = auth.getLoggedUser().role.code; + const userAccess = route.data["access_role"]; + if (userAccess.includes(roleUser)) { + return true; + } else { + router.navigate(["**"]); + return false; + } +}; diff --git a/frontend-roadreport-deploy/src/app/cores/interceptors/api.interceptor.ts b/frontend-roadreport-deploy/src/app/cores/interceptors/api.interceptor.ts new file mode 100644 index 0000000..dbfbc14 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interceptors/api.interceptor.ts @@ -0,0 +1,20 @@ +import { Injectable } from "@angular/core"; +import { HttpRequest, HttpHandler, HttpEvent } from "@angular/common/http"; +import { Observable } from "rxjs"; + +@Injectable() +export class ApiInterceptor { + baseApi = "https://api-roadreport.pisdev.my.id"; + + intercept( + request: HttpRequest, + next: HttpHandler + ): Observable> { + const match = /^(\/(api|auth).+)/; + const clientReq = request.clone({ + url: request.url.replace(match, `${this.baseApi}$1`), + }); + + return next.handle(clientReq); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/interceptors/auth.interceptor.ts b/frontend-roadreport-deploy/src/app/cores/interceptors/auth.interceptor.ts new file mode 100644 index 0000000..1d03e48 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interceptors/auth.interceptor.ts @@ -0,0 +1,23 @@ +import { Injectable } from "@angular/core"; +import { AuthService } from "../services/auth.service"; +import { HttpEvent, HttpHandler, HttpRequest } from "@angular/common/http"; +import { Observable } from "rxjs"; + +@Injectable() +export class AuthInterceptor { + constructor(private auth: AuthService) {} + + intercept( + req: HttpRequest, + next: HttpHandler + ): Observable> { + if (!req.url.endsWith("login")) { + req = req.clone({ + setHeaders: { + Authorization: `Bearer ${this.auth.getToken()}`, + }, + }); + } + return next.handle(req); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/interceptors/error.interceptor.ts b/frontend-roadreport-deploy/src/app/cores/interceptors/error.interceptor.ts new file mode 100644 index 0000000..b279f80 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interceptors/error.interceptor.ts @@ -0,0 +1,47 @@ +import { Injectable } from "@angular/core"; +import { + HttpRequest, + HttpHandler, + HttpEvent, + HttpErrorResponse, +} from "@angular/common/http"; +import { Observable, catchError, retry, throwError } from "rxjs"; +import { AuthService } from "../services/auth.service"; +import { Router } from "@angular/router"; +import { HelpersService } from "../services/helpers.service"; + +@Injectable() +export class ErrorInterceptor { + constructor( + private auth: AuthService, + private router: Router, + private helpers: HelpersService + ) {} + + intercept( + request: HttpRequest, + next: HttpHandler + ): Observable> { + return next.handle(request).pipe( + retry(1), + catchError((error: HttpErrorResponse) => { + if (error.status === 401) { + this.auth.removeToken(); + this.router.navigate(["/auth"], { + queryParams: { url: this.router.url }, + }); + this.helpers.toast("error", "Sesi Anda telah berakhir"); + } + let message = ""; + if (error.error instanceof ErrorEvent) { + // handle client-side error + message = `Error: ${error.error.message}`; + } else { + // handle server-side error + message = `Error Status: ${error.status}\nMessage: ${error.message}`; + } + return throwError(() => error); + }) + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/interceptors/index.ts b/frontend-roadreport-deploy/src/app/cores/interceptors/index.ts new file mode 100644 index 0000000..cc3a26c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interceptors/index.ts @@ -0,0 +1,10 @@ +import { HTTP_INTERCEPTORS } from "@angular/common/http"; +import { ApiInterceptor } from "./api.interceptor"; +import { AuthInterceptor } from "./auth.interceptor"; +import { ErrorInterceptor } from "./error.interceptor"; + +export const HttpInterceptors = [ + { provide: HTTP_INTERCEPTORS, useClass: ApiInterceptor, multi: true }, + { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, + { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }, +]; diff --git a/frontend-roadreport-deploy/src/app/cores/interfaces/api-array-response.ts b/frontend-roadreport-deploy/src/app/cores/interfaces/api-array-response.ts new file mode 100644 index 0000000..d56b85c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interfaces/api-array-response.ts @@ -0,0 +1,11 @@ +export interface ArrayResponse { + data: T[]; + page: number; + total: number; + perPage: number; + lastPage: number; + nextPage: string; + previousPage: string; + statusCode: number; + message: string; +} diff --git a/frontend-roadreport-deploy/src/app/cores/interfaces/api-object-response.ts b/frontend-roadreport-deploy/src/app/cores/interfaces/api-object-response.ts new file mode 100644 index 0000000..3f32889 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interfaces/api-object-response.ts @@ -0,0 +1,7 @@ +export interface ObjectResponse { + report: any; + data: T; + statusCode: number; + message: string; + errors: any; +} diff --git a/frontend-roadreport-deploy/src/app/cores/interfaces/http-query.ts b/frontend-roadreport-deploy/src/app/cores/interfaces/http-query.ts new file mode 100644 index 0000000..8463e1e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interfaces/http-query.ts @@ -0,0 +1,11 @@ +export interface HTTPQuery { + page?: number; + limit?: number; + sort?: string; + fields?: string; + embed?: string; + search?: any; + filter?: any; + operation?: string; + embedOptions?: any; +} diff --git a/frontend-roadreport-deploy/src/app/cores/interfaces/master.ts b/frontend-roadreport-deploy/src/app/cores/interfaces/master.ts new file mode 100644 index 0000000..67c4f9a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interfaces/master.ts @@ -0,0 +1,103 @@ +import { Timestamp } from "./timestamp"; + +export interface Segmen { + id: string; + map_street_section_id: string; + map_street_id: string; + name: string; + center_point: string; + length: number; + order: number; + geojson: string; + photos: Photos[]; +} + +export interface Segmens { + id: string; + report_id: string; + map_street_segmen_id: string; + user_type: string; + user_level: string; + segmen: Segmen; + photos: Photos[]; + analytic_data?: AnalyticData; +} + +export interface AnalyticData { + id: string; + report_segmen_id: string; + type_segmen_system: string; + level_segmen_system: string; + type_segmen_admin: string; + level_segmen_admin: string; + confidence: number; +} + +export interface Survey extends Timestamp { + id: string; + report_id: string; + created_by: string; + date: Date; + tingkat_kerusakan: string; + tipe_kerusakan: string; + kedalaman_lubang: string; + jenis_material: string; + masukan_material: string; + length: number; + width: number; + note: string; + photos: Photo[]; +} + +export interface Photo { + id: string; + survey_id: string; + filename: string; + abs_path: string; + file_dump_id: null; + created_at: Date; + updated_at: Date; +} + +export interface StatusReport { + id: string; + name: string; +} + +export interface Schedule { + id: string; + report_id: string; + date_start: Date; + status: string; + note: string; + date_end: Date; + length: number; +} + +export interface Photos { + id: string; + report_segmen_id: string; + filename: string; + abs_path: string; + file_dump_id: string; + created_at: Date; + updated_at: Date; +} + +export interface CenterPoint { + type: string; + coordinates: string[]; +} + +export interface Rating { + id: string; + report_id: string; + rate: number; + comment: string; + created_at: Date; + updated_at: Date; +} + +export interface PredictRoad { + predicted_label: string; +} diff --git a/frontend-roadreport-deploy/src/app/cores/interfaces/timestamp.ts b/frontend-roadreport-deploy/src/app/cores/interfaces/timestamp.ts new file mode 100644 index 0000000..ba70f27 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/interfaces/timestamp.ts @@ -0,0 +1,5 @@ +export interface Timestamp { + created_at?: Date; + updated_at?: Date; + deleted_at?: Date; +} diff --git a/frontend-roadreport-deploy/src/app/cores/pipes/remove-trailing-zero.pipe.ts b/frontend-roadreport-deploy/src/app/cores/pipes/remove-trailing-zero.pipe.ts new file mode 100644 index 0000000..571b364 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/pipes/remove-trailing-zero.pipe.ts @@ -0,0 +1,10 @@ +import { Pipe, PipeTransform } from "@angular/core"; + +@Pipe({ name: "removeTrailingZero", standalone: true }) +export class RemoveTrailingZeroPipe implements PipeTransform { + transform(value: number): string { + const roundedValue = Math.round(value * 100) / 100; // Round the number to two decimal places + const stringValue = roundedValue.toString(); + return stringValue.endsWith(".00") ? stringValue.slice(0, -3) : stringValue; + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/resolver/api.resolver.ts b/frontend-roadreport-deploy/src/app/cores/resolver/api.resolver.ts new file mode 100644 index 0000000..6e6c540 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/resolver/api.resolver.ts @@ -0,0 +1,28 @@ +import { Injectable } from "@angular/core"; +import { + ActivatedRoute, + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from "@angular/router"; +import { Observable, of } from "rxjs"; +import { + Laporan, + LaporanService, +} from "../api-services/laporan/laporan.service"; + +@Injectable({ + providedIn: "root", +}) +export class ReportResolver implements Resolve { + constructor( + private api: LaporanService, + private activatedRoute: ActivatedRoute + ) {} + resolve( + route: ActivatedRouteSnapshot, + state: RouterStateSnapshot + ): Laporan | Observable | Promise { + throw new Error("Method not implemented."); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/services/api.service.ts b/frontend-roadreport-deploy/src/app/cores/services/api.service.ts new file mode 100644 index 0000000..68f765f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/services/api.service.ts @@ -0,0 +1,64 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { HelpersService } from "./helpers.service"; +import { ObjectResponse } from "../interfaces/api-object-response"; +import { ArrayResponse } from "../interfaces/api-array-response"; +import { HTTPQuery } from "../interfaces/http-query"; + +@Injectable({ + providedIn: "root", +}) +export class ApiService { + private baseApiUrl = "/api"; + endpoint = ""; + query: HTTPQuery = {}; + + constructor(public http: HttpClient, public helpers: HelpersService) {} + + url(): string { + return `${this.baseApiUrl}/${this.endpoint}`; + } + + urlWithId(id: string | number): string { + return `${this.baseApiUrl}/${this.endpoint}/${id}`; + } + + urlCustom(c: string): string { + return `${this.baseApiUrl}/${this.endpoint}/${c}`; + } + + urlArray(c: string[]): string { + return `${this.baseApiUrl}/${this.endpoint}/${c.join("/")}`; + } + + insert(data: any): Observable> { + const url = this.url(); + return this.http.post>(url, data); + } + + getAll(query?: HTTPQuery): Observable> { + const url = this.url(); + const params = query ? this.helpers.generateParams(query) : {}; + return this.http.get>(url, { params }); + } + + getById( + id: string | number, + query?: HTTPQuery + ): Observable> { + const url = this.urlWithId(id); + const params = query ? this.helpers.generateParams(query) : {}; + return this.http.get>(url, { params }); + } + + update(id: string | number, data: any): Observable> { + const url = this.urlWithId(id); + return this.http.put>(url, data); + } + + delete(id: string | number): Observable> { + const url = this.urlWithId(id); + return this.http.delete>(url); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/services/auth.service.ts b/frontend-roadreport-deploy/src/app/cores/services/auth.service.ts new file mode 100644 index 0000000..aa1179d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/services/auth.service.ts @@ -0,0 +1,131 @@ +import { HttpClient, HttpHeaders } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Router } from "@angular/router"; +import { JwtHelperService } from "@auth0/angular-jwt"; +import { Buffer } from "buffer"; +import { Observable } from "rxjs"; +import { HelpersService } from "./helpers.service"; + +export interface LoginResponse { + data: any; + statusCode: number; + message: string; + errors: any; +} + +export interface LoginPayload { + username: string; + password: string; + remember_me: boolean; +} + +export interface LogoutResponse { + data: any; + statusCode: number; + message: string; +} + +@Injectable({ + providedIn: "root", +}) +export class AuthService { + protected token = "access_token"; + protected jwtToken = "access_jwt_token"; + protected authURL = "/auth/login"; + protected logoutURL = "/logout"; + + constructor( + private http: HttpClient, + private router: Router, + private jwtHelper: JwtHelperService, + private helpers: HelpersService + ) {} + + btoa(data: string): string { + if (typeof window !== "undefined") { + return this.btoaUtf8(data); + } else { + const buffer = Buffer.from(data, "binary"); + return buffer.toString("base64"); + } + } + + btoaUtf8(data: string): string { + const utf8Data = encodeURIComponent(data).replace( + /%([0-9A-F]{2})/g, + (_, p1) => String.fromCharCode(parseInt(p1, 16)) + ); + return window.btoa(utf8Data); + } + + login({ + username, + password, + remember_me, + }: LoginPayload): Observable { + const auth = "Basic " + this.btoa(`${username}:${password}`); + const headers = new HttpHeaders().append("Authorization", auth); + const url = this.authURL; + return this.http.post(url, { remember_me }, { headers }); + } + + setToken(token: string): void { + localStorage.setItem(this.token, token); + } + + getToken(): string { + return localStorage.getItem(this.token) ?? ""; + } + + setJwtToken(jwtToken: string): void { + localStorage.setItem(this.jwtToken, jwtToken); + } + + getJwtToken(): string { + return localStorage.getItem(this.jwtToken) ?? ""; + } + + removeToken(): void { + localStorage.removeItem(this.token); + localStorage.removeItem(this.jwtToken); + } + + isAuthenticated(): boolean { + return !this.jwtHelper.isTokenExpired(this.getJwtToken()); + } + + authRedirect() { + this.removeToken(); + this.router.navigate(["auth"], { + queryParams: { url: this.router.url }, + }); + this.helpers.toast("error", "Silahkan login terlebih dahulu"); + } + + getLoggedUser(jwt = null): any { + if (!this.isAuthenticated()) { + this.authRedirect(); + return null; + } + + const token = jwt ?? this.getJwtToken(); + const decodedToken = this.jwtHelper.decodeToken(token); + if (!decodedToken) { + this.authRedirect(); + return null; + } + + return decodedToken.user; + } + + logout(): void { + this.http + .post("https://api-roadreport.pisdev.my.id/auth/logout", {}) + .subscribe(() => { + if (!this.getLoggedUser()) return; + this.removeToken(); + this.router.navigate(["auth"]); + }); + console.log("tes"); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/services/helpers.service.ts b/frontend-roadreport-deploy/src/app/cores/services/helpers.service.ts new file mode 100644 index 0000000..969f092 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/services/helpers.service.ts @@ -0,0 +1,139 @@ +import { HttpParams } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import * as dayjs from "dayjs"; +import * as relativeTime from "dayjs/plugin/relativeTime"; +import "dayjs/locale/id"; +import { ToastrService } from "ngx-toastr"; +import { FormGroup } from "@angular/forms"; +import { RouterStateSnapshot } from "@angular/router"; +import { HTTPQuery } from "../interfaces/http-query"; + +@Injectable({ + providedIn: "root", +}) +export class HelpersService { + constructor(private toastr: ToastrService) { + dayjs.locale("id"); + } + + toHttpParams(query: any, params: HttpParams, state: string): HttpParams { + const attributes = Object.keys(query); + + if (attributes.length) { + if (state === "filter") { + attributes.forEach((attribute) => { + const keys = Object.keys(query[attribute]); + + if (keys.length) { + keys.forEach((key) => { + params = params.set( + `${attribute}[${key}]`, + query[attribute][key] + ); + }); + } + }); + } else { + params = params.set(`search[${query.fields}]`, query.value); + } + } + + if (query.operation) { + params = params.set("operation", query.operation); + } + + return params; + } + + generateParams(query: HTTPQuery): HttpParams { + const { + page, + limit, + sort, + fields, + embed, + search, + filter, + operation, + embedOptions, + } = query; + + let params = new HttpParams(); + + if (page != null && page > -1) { + params = params.set("page", page.toString()); + } + if (limit != null && limit > -1) { + params = params.set("limit", limit.toString()); + } + if (sort) { + params = params.set("sort", sort); + } + if (fields) { + params = params.set("fields", fields); + } + if (embed) { + params = params.set("embed", embed); + } + if (search) { + params = this.toHttpParams(search, params, "search"); + } + if (filter) { + params = this.toHttpParams(filter, params, "filter"); + } + if (operation) { + params = params.set("operation", operation); + } + if (embedOptions && typeof embedOptions === "object") { + embedOptions.forEach((option: any) => { + if (option.embed) { + if (option.fields) { + params = params.set(`${option.embed}.fields`, option.fields); + } + if (option.sort) { + params = params.set(`${option.embed}.sort`, option.sort); + } + } + }); + } + + return params; + } + + toast(type: string, message: string) { + if (type === "success") { + this.toastr.success(message); + } else if (type === "error") { + this.toastr.error(message); + } else { + this.toastr.info(message); + } + } + + isInvalid(form: FormGroup, control: string): boolean { + return ( + (form.get(control)?.invalid && + (form.get(control)?.dirty || form.get(control)?.touched)) || + false + ); + } + + hasError(form: FormGroup, control: string, error: string): boolean { + return ( + (form.get(control)?.invalid && + (form.get(control)?.dirty || form.get(control)?.touched) && + form.get(control)?.hasError(error)) || + false + ); + } + + previousUrl(state: RouterStateSnapshot) { + const splited = state.url.split("/"); + return splited.splice(0, splited.length - 1).join("/"); + } + + timeAgo(date: Date): string { + dayjs.extend(relativeTime); + return dayjs(date).fromNow(); + } +} diff --git a/frontend-roadreport-deploy/src/app/cores/services/loading.service.ts b/frontend-roadreport-deploy/src/app/cores/services/loading.service.ts new file mode 100644 index 0000000..dff5124 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/cores/services/loading.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from "@angular/core"; +import { BehaviorSubject } from "rxjs"; + +@Injectable({ + providedIn: "root", +}) +export class LoadingService { + private loading$ = new BehaviorSubject(false); + + isLoading() { + return this.loading$.asObservable(); + } + + show() { + this.loading$.next(true); + } + + hide() { + this.loading$.next(false); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/auth/auth.component.html b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.html new file mode 100644 index 0000000..48b953b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.html @@ -0,0 +1,116 @@ +
+
+
+ +

Road
Report

+

+ Sistem Pelaporan Kerusakan Lokasi
Dinas PUPR Kota Batu +

+
+ +
+ +
+
+
+
+

Selamat Datang

+

+ Masukan username dan kata sandi anda untuk masuk ke dalam dashboard +

+
+ +
+
Masuk
+ +
+
+ + +
+
+ +
+ + +
+
+
+
+ + +
+ +
+ +
+
+
+ +

+ © All Right Reversed by Dinas PUPR Kota Batu +

+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/auth/auth.component.scss b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/auth/auth.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.spec.ts new file mode 100644 index 0000000..4dfbf77 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AuthComponent } from './auth.component'; + +describe('AuthComponent', () => { + let component: AuthComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [AuthComponent] + }); + fixture = TestBed.createComponent(AuthComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/auth/auth.component.ts b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.ts new file mode 100644 index 0000000..fd9faf8 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/auth/auth.component.ts @@ -0,0 +1,54 @@ +import { Component } from "@angular/core"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { ActivatedRoute, Router } from "@angular/router"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; + +@Component({ + selector: "app-auth", + templateUrl: "./auth.component.html", + styleUrls: ["./auth.component.scss"], + host: { class: "flex-fill" }, +}) +export class AuthComponent { + isShowPassword = false; + isFormSubmitted = false; + + form: FormGroup; + + redirectUrl = ""; + + constructor( + private formBuilder: FormBuilder, + private auth: AuthService, + private activatedRoute: ActivatedRoute, + private router: Router, + private helpers: HelpersService + ) { + this.form = this.formBuilder.group({ + username: [null, [Validators.required]], + password: [null, [Validators.required]], + remember_me: [false], + }); + + this.redirectUrl = this.activatedRoute.snapshot.queryParams["url"]; + } + + onSubmit() { + if (this.form.valid) { + this.isFormSubmitted = true; + this.auth.login(this.form.value).subscribe({ + next: ({ data }) => { + this.isFormSubmitted = false; + this.auth.setToken(data.token); + this.auth.setJwtToken(data.jwtToken); + this.router.navigate([this.redirectUrl ?? "/dashboard"]); + }, + error: (err) => { + this.isFormSubmitted = false; + this.helpers.toast("error", "Username atau Password salah!"); + }, + }); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/auth/auth.module.ts b/frontend-roadreport-deploy/src/app/pages/auth/auth.module.ts new file mode 100644 index 0000000..313c8c2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/auth/auth.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { AuthComponent } from "./auth.component"; +import { RouterModule, Routes } from "@angular/router"; +import { ReactiveFormsModule } from "@angular/forms"; + +const routes: Routes = [ + { + path: "", + component: AuthComponent, + }, +]; + +@NgModule({ + declarations: [AuthComponent], + imports: [CommonModule, RouterModule.forChild(routes), ReactiveFormsModule], +}) +export class AuthModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.html new file mode 100644 index 0000000..6c949f2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.html @@ -0,0 +1,13 @@ + + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.spec.ts new file mode 100644 index 0000000..a7bd4f8 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AlertComponent } from './alert.component'; + +describe('AlertComponent', () => { + let component: AlertComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [AlertComponent] + }); + fixture = TestBed.createComponent(AlertComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.ts new file mode 100644 index 0000000..fb0bc44 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/alert/alert.component.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { Component, Input } from "@angular/core"; + +@Component({ + selector: "app-alert", + standalone: true, + imports: [CommonModule], + templateUrl: "./alert.component.html", + styleUrls: ["./alert.component.scss"], +}) +export class AlertComponent { + @Input() bgColor: string = ""; + @Input() textColor: string = ""; + @Input() message: string = ""; + @Input() statusMessage: string = ""; + @Input() height: string = ""; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.html new file mode 100644 index 0000000..03b13da --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.html @@ -0,0 +1,43 @@ + + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.spec.ts new file mode 100644 index 0000000..6475695 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ConfirmationModalComponent } from './confirmation-modal.component'; + +describe('ConfirmationModalComponent', () => { + let component: ConfirmationModalComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ConfirmationModalComponent] + }); + fixture = TestBed.createComponent(ConfirmationModalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.ts new file mode 100644 index 0000000..7b7f081 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/confirmation-modal/confirmation-modal.component.ts @@ -0,0 +1,18 @@ +import { Component, Input } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; + +@Component({ + selector: "app-confirmation-modal", + standalone: true, + imports: [CommonModule], + templateUrl: "./confirmation-modal.component.html", + styleUrls: ["./confirmation-modal.component.scss"], +}) +export class ConfirmationModalComponent { + // modal type 1: logout, 2: delete, 3: confirmation + @Input() modalType: number = 1; + @Input() message: string = "Yakin ingin logout?"; + + constructor(public activeModal: NgbActiveModal) {} +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.html new file mode 100644 index 0000000..4dfaa4e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.html @@ -0,0 +1,29 @@ + + + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.spec.ts new file mode 100644 index 0000000..a607692 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ImageShowModalComponent } from './image-show-modal.component'; + +describe('ImageShowModalComponent', () => { + let component: ImageShowModalComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ImageShowModalComponent] + }); + fixture = TestBed.createComponent(ImageShowModalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.ts new file mode 100644 index 0000000..9bf2d46 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/image-show-modal/image-show-modal.component.ts @@ -0,0 +1,17 @@ +import { Component, Input } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { Segmens } from "src/app/cores/interfaces/master"; + +@Component({ + selector: "app-image-show-modal", + standalone: true, + imports: [CommonModule], + templateUrl: "./image-show-modal.component.html", + styleUrls: ["./image-show-modal.component.scss"], +}) +export class ImageShowModalComponent { + // Input diisi sesuai Interface + @Input() data!: Segmens; + constructor(public activeModal: NgbActiveModal) {} +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.html new file mode 100644 index 0000000..a095afa --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.html @@ -0,0 +1,8 @@ +
+ +
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.spec.ts new file mode 100644 index 0000000..d1f3bf1 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LightboxComponent } from './lightbox.component'; + +describe('LightboxComponent', () => { + let component: LightboxComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [LightboxComponent] + }); + fixture = TestBed.createComponent(LightboxComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.ts new file mode 100644 index 0000000..390914c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/lightbox/lightbox.component.ts @@ -0,0 +1,53 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { Lightbox, LightboxConfig, LightboxModule } from "ngx-lightbox"; + +interface Album { + src: string; + caption: string; + thumb: string; +} + +@Component({ + selector: "app-lightbox", + standalone: true, + imports: [CommonModule, LightboxModule], + templateUrl: "./lightbox.component.html", + styleUrls: ["./lightbox.component.scss"], +}) +export class LightboxComponent implements OnInit { + @Input() data: any; + + public _album: Album[] = []; + + constructor( + private _lightbox: Lightbox, + private _lightboxConfig: LightboxConfig + ) { + _lightboxConfig.fadeDuration = 1; + _lightboxConfig.showZoom = true; + _lightboxConfig.wrapAround = true; + _lightboxConfig.positionFromTop = 50; + _lightboxConfig.disableScrolling = false; + _lightboxConfig.fadeDuration = 0.7; + } + + ngOnInit(): void { + if (this.data) { + const album: Album = { + src: this.data.abs_path, + caption: this.data.filename, + thumb: this.data.abs_path, + }; + this._album.push(album); + } + } + + open(index: number): void { + this._lightbox.open(this._album, index); + } + + close(): void { + this._lightbox.close(); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.html new file mode 100644 index 0000000..3af96ba --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.html @@ -0,0 +1,106 @@ +
+
+
+ +
    +
  • + + + {{ item.status }} +
  • +
+
+
+ +
+
+ +
+ + +
+
+ +
+ +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.scss new file mode 100644 index 0000000..a8eb6ec --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.scss @@ -0,0 +1,19 @@ +.btn-custom { + background-color: ""; +} + +.leaflet-container.crosshair-cursor-enabled { + cursor: default; +} + +::ng-deep .leaflet-interactive { + cursor: default !important; +} + +.leaflet-marker-icon .leaflet-zoom-animated .leaflet-interactive { + cursor: pointer !important; +} + +.custom-popup { + cursor: pointer !important; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.spec.ts new file mode 100644 index 0000000..175a264 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MapComponent } from './map.component'; + +describe('MapComponent', () => { + let component: MapComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [MapComponent] + }); + fixture = TestBed.createComponent(MapComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.ts new file mode 100644 index 0000000..ca608f8 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/map/map.component.ts @@ -0,0 +1,706 @@ +import { CommonModule } from "@angular/common"; +import { + Component, + Input, + SimpleChanges, + AfterViewInit, + OnDestroy, +} from "@angular/core"; +import { LeafletModule } from "@asymmetrik/ngx-leaflet"; +import { + NgbAlertModule, + NgbCollapseModule, + NgbDropdownModule, + NgbModal, + NgbModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { + latLng, + tileLayer, + Map, + Polyline, + LatLngExpression, + FeatureGroup, + DivIcon, +} from "leaflet"; +import * as L from "leaflet"; +import "leaflet.markercluster"; +import { SubDistricService } from "src/app/cores/api-services/map/sub-district.service"; +import { ReportSegmens } from "src/app/cores/api-services/map/report-segmens.service"; +import { LaporanService } from "src/app/cores/api-services/laporan/laporan.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { DetailPerbaikanService } from "src/app/cores/api-services/perbaikan/detail-perbaikan.service"; +import * as dayjs from "dayjs"; + +interface Kerusakan { + status: string; + jumlah: number; +} + +@Component({ + selector: "app-map", + standalone: true, + imports: [ + CommonModule, + LeafletModule, + NgbDropdownModule, + NgbAlertModule, + NgbCollapseModule, + NgbModule, + ], + templateUrl: "./map.component.html", + styleUrls: ["./map.component.scss"], +}) +export class MapComponent implements AfterViewInit { + isExpand = true; + @Input() polylineData: any = L.layerGroup(); + @Input() perbaikanSegmen: any; + + @Input() showOption: boolean = true; + @Input() showStatus: boolean = true; + + @Input() allowDragging: boolean = true; + + @Input() cnterLatLng: any = { lat: -7.869576, lng: 112.5309706 }; + + scheduleLayer: FeatureGroup = new FeatureGroup(); + + polylineLayer: FeatureGroup = new FeatureGroup(); + polygonLayer: FeatureGroup = new FeatureGroup(); + pointLayer: FeatureGroup = new FeatureGroup(); + + selectedData: any[] = []; + selectedOption: string = "DSS"; + + map: Map | undefined; + + zoom: number = 14; + lat: number = -7.8699381; + lng: number = 112.5285772; + dayjs = dayjs; + + public mapOptions = { + layers: [ + tileLayer( + "http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga", + { + maxZoom: 22, + minZoom: 11, + } + ), + ], + scrollWheelZoom: false, + zoom: this.zoom, + dragging: this.allowDragging, + doubleClickZoom: false, + touchZoom: false, + tap: false, + center: latLng(this.lat, this.lng), + }; + + constructor( + public helpers: HelpersService, + public loading: LoadingService, + public api: LaporanService, + public modal: NgbModal, + private reportSegmens: ReportSegmens, + private subDistrict: SubDistricService, + private perbaikan: DetailPerbaikanService + ) {} + + initMap(map: Map) { + if (!this.map) this.map = map; + this.map.zoomControl.setPosition("bottomright"); + } + + ngAfterViewInit(): void { + window.dispatchEvent(new Event("resize")); + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes["cnterLatLng"]) { + } + if (changes["allowDragging"]) { + this.mapOptions.dragging = this.allowDragging; + } + } + + ngOnInit(): void { + if (this.polylineData.segmen == null && this.perbaikanSegmen == null) { + this.getSubDistrict(); + this.getReportSegmens(); + } else if (this.perbaikanSegmen != null) { + this.getReportSegmensBySchedule(); + } else { + this.getReportSegmentById(); + } + this.condition(); + } + + isCollapsed: boolean = false; + toggleCollapse() { + if (!this.isCollapsed) { + this.getStatusDss(); + } + this.isCollapsed = !this.isCollapsed; + } + + toggleFullscreen() { + const mapElement = document.getElementById("map"); + + if (mapElement) { + if (!document.fullscreenElement) { + if (mapElement.requestFullscreen) { + mapElement.requestFullscreen(); + } + } else { + if (document.exitFullscreen) { + document.exitFullscreen(); + } + } + } + } + + onOptionChange(selectedValue: any) { + this.selectedOption = selectedValue; + + if (this.map) { + this.map.removeLayer(this.pointLayer); + this.map.removeLayer(this.polygonLayer); + this.map.removeLayer(this.polylineLayer); + } + + this.selectedData = []; + + if (selectedValue === "DSS") { + if (this.map) { + this.map.closePopup(); + } + } else if (selectedValue === "Titik Laporan") { + this.getStatusTitik(); + this.getStatusSegmenByReport(); + } + + if (this.map) { + if (selectedValue === "DSS") { + this.polygonLayer.addTo(this.map); + this.polylineLayer.addTo(this.map); + } else if (selectedValue === "point") { + this.pointLayer.addTo(this.map); + } + } + } + + createCustomIcon(imageUrl: string, width: number, height: number): DivIcon { + return new DivIcon({ + className: "custom-icon", + html: ``, + iconSize: [width, height], + iconAnchor: [width / 2, height], + }); + } + + addMarkers(status: string): L.Icon | DivIcon { + const iconUrl = this.getIconByStatus(status); + + const iconOptions: L.IconOptions = { + iconUrl: iconUrl, + iconSize: [32, 32], + }; + + return L.icon(iconOptions); + } + + getIconByStatus(status: string): string { + switch (status) { + case "PROG": + return "assets/images/icon/marker-dalam_proses.png"; + case "FOLUP": + return "assets/images/icon/marker-tindak_lanjut.png"; + case "DONE": + return "assets/images/icon/marker-selesai.png"; + case "RPR": + return "assets/images/icon/marker-perbaikan.png"; + case "FIXED": + return "assets/images/icon/marker-selesai-perbaikan.png"; + default: + return "assets/images/icon/marker-default.png"; + } + } + + getColorByStatusTitikLaporan(status_id: string): string { + const colorMap: { [key: string]: string } = { + "Dalam Proses": "#586AF5", + "Tindak Lanjut": "#FFAB00", + "Selesai Perbaikan": "#663000", + Perbaikan: "#F35625", + Selesai: "#24D07A", + }; + + return colorMap[status_id] || "transparent"; + } + + getStatusDss() { + const colorMap: { [key: string]: string } = { + "Berlubang Parah": "#215A99", + "Berlubang Sedang": "#2B79CC", + "Berlubang Ringan": "#87C0FF", + "Terkelupas Parah": "#18795F", + "Terkelupas Sedang": "#1CA762", + "Terkelupas Ringan": "#4FDA95", + "Retak Parah": "#992A44", + "Retak Sedang": "#FF4671", + "Retak Ringan": "#FF90AA", + "Bergelombang Parah": "#322564", + "Bergelombang Sedang": "#644BC8", + "Bergelombang Ringan": "#977EFB", + "PermukaanKasar Berat": "#CCCC00", + "PermukaanKasar Sedang": "#FFFF00", + "PermukaanKasar Ringan": "#FFFF66", + }; + const colors: string[] = Object.values(colorMap); + + this.statusDss = Object.keys(colorMap).map((status, index) => ({ + status, + jumlah: 0, + color: colors[index], + })); + } + + getStatusTitik() { + const statusMap: { [key: string]: string } = { + "Dalam Proses": "#586AF5", + "Tindak Lanjut": "#FFAB00", + "Selesai Perbaikan": "#663000", + Perbaikan: "#F35625", + Selesai: "#24D07A", + }; + + const colors: string[] = Object.values(statusMap); + + this.statusTitikLaporan = Object.keys(statusMap).map((status, index) => ({ + status, + jumlah: 0, + color: colors[index], + })); + } + + getColorByStatusDss(status: string, userLevel?: string): string { + const userStatus = `${status} ${userLevel}`; + const colorMap: { [key: string]: string } = { + "- -": "#EC8F5E", + "Berlubang Parah": "#215A99", + "Berlubang Sedang": "#2B79CC", + "Berlubang Ringan": "#87C0FF", + "Terkelupas Parah": "#18795F", + "Terkelupas Sedang": "#1CA762", + "Terkelupas Ringan": "#4FDA95", + "Retak Parah": "#992A44", + "Retak Sedang": "#FF4671", + "Retak Ringan": "#FF90AA", + "Bergelombang Parah": "#322564", + "Bergelombang Sedang": "#644BC8", + "Bergelombang Ringan": "#977EFB", + "PermukaanKasar Berat": "#CCCC00", + "PermukaanKasar Sedang": "#FFFF00", + "PermukaanKasar Ringan": "#FFFF66", + }; + + return colorMap[userStatus] || colorMap[status]; + } + + condition(): boolean { + if (this.polylineLayer.getLayers().length === 0) { + return true; + } else { + return false; + } + } + + statusDss: Kerusakan[] = []; + statusTitikLaporan: Kerusakan[] = []; + + sortCustomDss() { + this.statusTitikLaporan.sort((a, b) => { + const urutanDss = [ + "Dalam Proses", + "Ditindak Lanjuti", + "Perbaikan", + "Selesai", + ]; + return urutanDss.indexOf(a.status) - urutanDss.indexOf(b.status); + }); + } + + sortByCustomOrder() { + this.statusDss.sort((a, b) => { + const urutanStatus = [ + "Berlubang Parah", + "Berlubang Sedang", + "Berlubang Ringan", + "Terkelupas Parah", + "Terkelupas Sedang", + "Terkelupas Ringan", + "Retak Parah", + "Retak Sedang", + "Retak Ringan", + "Bergelombang Parah", + "Bergelombang Sedang", + "Bergelombang Ringan", + "NULL", + ]; + return urutanStatus.indexOf(a.status) - urutanStatus.indexOf(b.status); + }); + } + + embedReportSegments = { + embed: "segmen,analytic_data", + }; + + embedReportSegmentsPerbaikan = { + embed: "user.user,user.segmens.segmen,user.status_report", + }; + + embedReportSchedule = { + embed: "user.user,user.segmens.segmen,user.status_report", + }; + + getReportSegmensBySchedule(): void { + this.mapOptions.zoom = 18; + this.mapOptions.dragging = false; + + this.perbaikan.getById(this.perbaikanSegmen).subscribe((response) => { + const data = response.data.report.segmens; + + for (const segmen of data) { + const geojson = JSON.parse(segmen.segmen.geojson); + const coordinates = geojson.coordinates; + + const coordById = coordinates[0]; + + this.lat = coordById[1]; + this.lng = coordById[0]; + + const latLngCoordinates: LatLngExpression[] = coordinates.map( + (coord: [number, number]) => ({ + lat: coord[1], + lng: coord[0], + }) + ); + + const status_level = segmen.user_level; + const status_type = segmen.user_type; + const polyline = new Polyline(latLngCoordinates, { + // color: this.getColorByStatusDss(status_type, status_level), + color: "#586AF5", + weight: 8, + }); + + polyline.on("mouseover", function () { + (".leaflet-mouse-marker"); + }); + this.scheduleLayer.addLayer(polyline); + } + + if (this.map) { + this.map?.panTo(latLng(this.lat, this.lng)); + this.scheduleLayer.addTo(this.map); + } + }); + } + + // Show Segmen ID By Report, EndPoint:Report-Segmen/ID + // Menampilkan satu Segmen By ID -> Page: Data-Laporan + getReportSegmentById(): void { + this.loading.isLoading(); + this.mapOptions.zoom = 19; + this.mapOptions.dragging = false; + this.reportSegmens.getById(this.polylineData.id).subscribe({ + next: ({}) => { + const geojson = JSON.parse(this.polylineData.segmen.geojson); + const coordinates = geojson.coordinates; + + const coordById = coordinates[0]; + + this.lat = coordById[1]; + this.lng = coordById[0]; + + const latLngCoordinates: LatLngExpression[] = coordinates.map( + (coord: [number, number]) => ({ + lat: coord[1], + lng: coord[0], + }) + ); + + const status_level = this.polylineData.user_level; + const status_type = this.polylineData.user_type; + + const polyline = new Polyline(latLngCoordinates, { + color: this.getColorByStatusDss(status_type, status_level), + weight: 8, + }); + + console.log(status_type, status_level); + + if (this.map) { + this.polylineLayer.addTo(this.map); + this.map.setZoom(this.mapOptions.zoom); + } + + this.map?.panTo(latLng(this.lat, this.lng)); + this.polylineLayer.addLayer(polyline); + }, + error: () => {}, + }); + } + + // Show Segmen By Report Segments, EndPoint:Report-Segmens + // Menampilkan seluruh segmen + getReportSegmens(): void { + this.loading.isLoading(); + this.reportSegmens.getAll(this.embedReportSegments).subscribe( + (response) => { + const data = response.data; + + if (data && data.length > 0) { + this.polylineLayer.clearLayers(); + + for (const feature of data) { + const geojson = JSON.parse(feature.segmen.geojson); + + const coordinates = geojson.coordinates; + + const featureCoordinates: LatLngExpression[] = coordinates.map( + (coord: [number, number]) => ({ + lat: coord[1], + lng: coord[0], + }) + ); + + const status_level = feature.user_level; + const status_type = feature.user_type; + + const polyline = new Polyline(featureCoordinates, { + color: this.getColorByStatusDss(status_type, status_level), + weight: 5, + }); + + this.polylineLayer.addLayer(polyline); + } + + if (this.map) { + this.polylineLayer.addTo(this.map); + } + } + }, + (error) => {} + ); + } + + // ngOnDestroy(): void { + // this.getStatusSegmenByReport(); + // } + + embedReportList = { + embed: + "segmens.segmen,segmens.analytic_data,segmens.photos,status_report,user", + }; + // Show Segmen By Status Laporan, EndPoint:Report-List + // Menampilkan titik segmen laporan berdasarkan laporan + getStatusSegmenByReport(): void { + this.api.getAll(this.embedReportList).subscribe((response) => { + const data = response.data; + + if (data && data[0]?.segmens && data[0]?.segmens.length > 0) { + this.pointLayer.clearLayers(); + + for (const segmenData of data) { + const segmens = segmenData.segmens; + for (const segmen of segmens) { + const geojson = JSON.parse(segmen?.segmen?.geojson); + const coordinates = geojson.coordinates; + + const latLngCoordinates: LatLngExpression[] = coordinates.map( + (coord: [number, number]) => ({ + lat: coord[1], + lng: coord[0], + }) + ); + + const hasil = segmen.user_type + " " + segmen.user_level; + + const status_id = segmenData.status_id; + + if (status_id !== "RJT") { + const customIcon = L.icon({ + iconUrl: this.getIconByStatus(status_id), + iconSize: [32, 32], + iconAnchor: [16, 32], + }); + + const marker = L.marker(latLngCoordinates[0], { + icon: customIcon, + }).addTo(this.pointLayer); + + this.pointLayer.setStyle({ className: "mask" }); + + marker.addTo(this.pointLayer); + marker.on("click", (e) => { + for (const photo of segmen.photos) { + if (this.map) { + L.popup({ + className: "custom-popup", + }) + .setLatLng(e.latlng) + .setContent( + ` +
+
+
+

+ ${segmenData.status_report.name} +

+

+ No.Tiket ${segmenData.no_ticket} +

+
+ +
+ +
+
+ + Nama ${segmenData.user.fullname} +
+
+ + ${segmen.segmen.name} +
+
+ + ${dayjs(segmenData.created_at).format("DD-MM-YYYY")} +
+
+
+ +
+ + + ${ + segmen.user_type === "-" && segmen.user_level === "-" + ? `Belum Diketahui` + : `${segmen.user_type}${segmen.user_level}` + } + +
+ +

+ ${segmenData.note} +

+
+
+ ` + ) + .openOn(this.map); + } + } + }); + } + this.getColorByStatusTitikLaporan(segmenData.status_report.name); + } + } + this.getStatusTitik(); + if (this.map) { + this.pointLayer.addTo(this.map); + } + } + }); + } + + // Show Polygon, EndPoint:sub-district + getSubDistrict(): void { + this.subDistrict.getAll().subscribe( + (response) => { + const data = response.data; + + if (data && data.length > 0) { + this.polygonLayer.clearLayers(); + + for (const item of data) { + const geojson = JSON.parse(item.geojson); + + const polygon = L.geoJSON(geojson, { + style: { + fillColor: "green", + weight: 2, + color: "white", + }, + }); + + polygon.on("click", (e) => { + const layer = e.target; + const name = item.name; + + const popup = L.popup().setContent(name); + + layer.bindPopup(popup).openPopup(); + }); + + polygon.addTo(this.polygonLayer); + } + if (this.map) { + this.polygonLayer.addTo(this.map); + } + } + }, + (error) => {} + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.html new file mode 100644 index 0000000..7aa74ac --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.html @@ -0,0 +1,112 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.scss new file mode 100644 index 0000000..a93aa82 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.scss @@ -0,0 +1,18 @@ +.custom-day { + text-align: center; + padding: 0.185rem 0.25rem; + display: inline-block; + height: 2rem; + width: 2rem; +} +.custom-day.focused { + background-color: #e6e6e6; +} +.custom-day.range, +.custom-day:hover { + background-color: rgb(2, 117, 216); + color: white; +} +.custom-day.faded { + background-color: rgba(216, 127, 2, 0.5); +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.spec.ts new file mode 100644 index 0000000..f79f647 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ModalAssignSurveyorComponent } from './modal-assign-surveyor.component'; + +describe('ModalAssignSurveyorComponent', () => { + let component: ModalAssignSurveyorComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ModalAssignSurveyorComponent] + }); + fixture = TestBed.createComponent(ModalAssignSurveyorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.ts new file mode 100644 index 0000000..6e8ca1e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/modal-assign-surveyor/modal-assign-surveyor.component.ts @@ -0,0 +1,170 @@ +import { CommonModule } from "@angular/common"; +import { Component, Input, OnInit } from "@angular/core"; +import { + FormBuilder, + Validators, + FormGroup, + ReactiveFormsModule, + FormsModule, +} from "@angular/forms"; +import { + NgbActiveModal, + NgbCalendar, + NgbDate, + NgbDatepicker, +} from "@ng-bootstrap/ng-bootstrap"; +import { UserService } from "src/app/cores/api-services/manage/user.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; + +@Component({ + selector: "app-modal-assign-surveyor", + standalone: true, + imports: [CommonModule, ReactiveFormsModule, NgbDatepicker, FormsModule], + templateUrl: "./modal-assign-surveyor.component.html", + styleUrls: ["./modal-assign-surveyor.component.scss"], +}) +export class ModalAssignSurveyorComponent implements OnInit { + @Input() action = "create"; + @Input() data: any = {}; + + form: FormGroup = {} as FormGroup; + + fromDate: NgbDate; + toDate: NgbDate | null = null; + showDatePicker = false; + hoveredDate: NgbDate | null = null; + + surveyorSelected: any; + dataSurveyor: any; + + todayDate: { + year: number; + month: number; + day: number; + }; + + constructor( + calendar: NgbCalendar, + private surveyor: UserService, + public activeModal: NgbActiveModal, + public helpers: HelpersService, + private formBuilder: FormBuilder + ) { + const today = new Date(); + this.todayDate = { + year: today.getFullYear(), + month: today.getMonth() + 1, + day: today.getDate(), + }; + this.surveyor + .getAll({ + filter: { urole_id: { eq: "1b4701ab-da41-405b-9fe3-039a4daf0094" } }, + limit: 10, + sort: "-created_at", + }) + .subscribe({ + next: ({ data }) => { + this.dataSurveyor = data; + }, + }); + + this.fromDate = calendar.getToday(); + this.toDate = calendar.getNext(calendar.getToday(), "d", 1); + } + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + survey_start_date: [this.fromDate, Validators.required], + survey_end_date: [this.fromDate], + assign_survey_to: [null, [Validators.required]], + }); + } + + formatDate(date: any): string { + const year = date.year; + const month = date.month < 10 ? "0" + date.month : date.month; + const day = date.day < 10 ? "0" + date.day : date.day; + + return `${year}-${month}-${day}`; + } + + formatAndPatchValues(): void { + const formattedStartDate = this.formatDate(this.fromDate); + const formattedEndDate = this.toDate ? this.formatDate(this.toDate) : null; + + this.form.patchValue({ + survey_start_date: formattedStartDate, + survey_end_date: formattedEndDate, + }); + } + + onSubmit(): void { + this.formatAndPatchValues(); + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } + + onSurveyorByChange(event: any): void { + const assignSurveyorControl = this.form.get("assign_surveyor"); + if (assignSurveyorControl) { + assignSurveyorControl.setValue(event.target.value); + } + } + + toggleDatePicker() { + this.showDatePicker = !this.showDatePicker; + } + + getFormattedDateRange(): any { + if (this.fromDate) { + const fromDateStr = `${this.fromDate.day}/${this.fromDate.month}/${this.fromDate.year}`; + if (this.toDate) { + const toDateStr = `${this.toDate.day}/${this.toDate.month}/${this.toDate.year}`; + return `${fromDateStr} - ${toDateStr}`; + } else { + return fromDateStr; + } + } else { + return ""; + } + } + + onDateSelection(date: NgbDate) { + if (!this.fromDate && !this.toDate) { + this.fromDate = date; + } else if (this.fromDate && !this.toDate && date.after(this.fromDate)) { + this.toDate = date; + } else { + this.toDate = null; + this.fromDate = date; + } + } + + isHovered(date: NgbDate) { + return ( + this.fromDate && + !this.toDate && + this.hoveredDate && + date.after(this.fromDate) && + date.before(this.hoveredDate) + ); + } + + isInside(date: NgbDate) { + return this.toDate && date.after(this.fromDate) && date.before(this.toDate); + } + + isRange(date: NgbDate) { + return ( + date.equals(this.fromDate) || + (this.toDate && date.equals(this.toDate)) || + this.isInside(date) || + this.isHovered(date) + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.html new file mode 100644 index 0000000..6ce040a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.html @@ -0,0 +1,209 @@ +
+
+

+ +

+
+
+ +
+
+
+ +
Sistem Rekomendasi
+
+
+ +
+
+ Loading... +
+
+
+ Proses validasi kerusakan... +
+

+ Tunggu sebentar lagi, dalam proses validasi gambar + kerusakan jalan. +

+
+
+
+

+ Jenis kerusakan dan tipe kerusakan berdasarkan gambar + tersebut yang benar adalah : +

+
+ Jenis Kerusakan :  + {{ type_predict }} +
+
+ Tingkat Kerusakan :  + {{ level_predict }} +
+
+
+
+
+ Ganti Data Sekarang +
+
+ Nanti +
+
+
+
+
Jenis Kerusakan
+
{{ segmenType }}
+
+ +
+
+
+
Tingkat Kerusakan
+
{{ segmenLevel }}
+
+
+
Nama
+
{{ segmentData?.segmen?.name }}
+
+
+
+ Latitude & Longitude +
+
+ + [ + {{ coordinates[1] }} + ] , + +
+ + [ + {{ coordinates[0] }} + ] + +
+
+
+
Panjang
+
+ {{ + segmentData.segmen.length + ? (segmentData.segmen.length | number : "1.2-2") + : "-" + }} + m +
+
+
+
Foto
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.spec.ts new file mode 100644 index 0000000..c039d8f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SegmentComponent } from './segment.component'; + +describe('SegmentComponent', () => { + let component: SegmentComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SegmentComponent] + }); + fixture = TestBed.createComponent(SegmentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.ts new file mode 100644 index 0000000..418f894 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/segment/segment.component.ts @@ -0,0 +1,293 @@ +import { CommonModule } from "@angular/common"; +import { Component, ViewChild, Input } from "@angular/core"; +import { + NgbAccordionModule, + NgbModal, + NgbToastModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { KerusakanComponent } from "../../pages/laporan/modal/kerusakan/kerusakan.component"; +import { MapComponent } from "../map/map.component"; +import { LightboxComponent } from "../lightbox/lightbox.component"; +import { Observable, Subject, takeUntil } from "rxjs"; +import { ReportSegmens } from "src/app/cores/api-services/map/report-segmens.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { HttpClient } from "@angular/common/http"; +import { FormsModule } from "@angular/forms"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { PredictRoad } from "src/app/cores/interfaces/master"; +import { MachineSegmenService } from "src/app/cores/api-services/machine-learning/machine-segmen.service"; + +export interface FilePreviewModel { + uploadResponse?: any; + file: File | Blob; + fileName: string; +} + +@Component({ + selector: "app-segment", + standalone: true, + imports: [ + NgbAccordionModule, + CommonModule, + MapComponent, + LightboxComponent, + FormsModule, + NgbToastModule, + ], + templateUrl: "./segment.component.html", + styleUrls: ["./segment.component.scss"], +}) +export class SegmentComponent { + @ViewChild("map") Map!: MapComponent; + @Input() segmentData: any; + @Input() index: any; + @Input() statusLaporan: any; + + show = false; + showRecommend: boolean = false; + isLoading: boolean = false; + coordinates: [][] = []; + base64Image: any; + + accordionData = {}; + + segmenType: any; + segmenLevel: any; + + dataUpdateSubs$ = new Subject(); + + selectType = ""; + selectLevel = ""; + + constructor( + public loading: LoadingService, + public http: HttpClient, + private auth: AuthService, + private machine: MachineSegmenService, + private api: ReportSegmens, + public helpers: HelpersService, + public modal: NgbModal + ) {} + + laterRecomend() { + this.show = false; + } + + abs_pathUrl: string = ""; + base64String!: string; + imageUrl: any; + + ngOnInit(): void { + this.segmenType = this.segmentData.user_type; + this.segmenLevel = this.segmentData.user_level; + + if (this.segmenType === "-" && this.segmenLevel === "-") { + this.show = true; + } + + if (this.segmentData && this.segmentData.photos) { + let absPaths = this.segmentData.photos.map( + (photo: any) => photo.abs_path + ); + this.abs_pathUrl = absPaths[0]; + } + + const geojson = JSON.parse(this.segmentData.segmen.geojson); + this.coordinates = geojson.coordinates; + } + + onType(data: any): void { + const modalRef = this.modal.open(KerusakanComponent); + modalRef.componentInstance.data = data; + + modalRef.result.then( + (result) => { + if (result) { + this.api + .update(data, result) + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil diubah"); + this.api + .getById(this.segmentData.id) + .pipe() + .subscribe({ + next: ({ data }) => { + this.segmenLevel = data.user_level; + this.segmenType = data.user_type; + }, + }); + }, + error: () => { + this.helpers.toast("error", "Data gagal diubah"); + }, + }); + } + }, + (reason) => {} + ); + } + + fetchImageAndDisplay() { + let imageUrl = this.abs_pathUrl; + + imageUrl = imageUrl.replace(/^https?:\/\/[^\/]+/, ""); + + this.getBase64ImageFromURL(imageUrl).subscribe( + (base64data: string) => { + const mimeType = this.getMimeTypeFromUrl(imageUrl); + this.base64Image = `data:${mimeType};base64,${base64data}`; + const file = this.base64ToFile( + base64data, + mimeType, + `image.${mimeType.split("/")[1]}` + ); + this.sendImageToEndpoint(file); + }, + (error) => { + console.error("Error fetching image:", error); + } + ); + } + + base64ToFile(base64: string, mimeType: string, fileName: string): File { + const byteString = atob(base64); + const ab = new ArrayBuffer(byteString.length); + const ia = new Uint8Array(ab); + for (let i = 0; i < byteString.length; i++) { + ia[i] = byteString.charCodeAt(i); + } + const blob = new Blob([ab], { type: mimeType }); + return new File([blob], fileName, { + type: mimeType, + lastModified: Date.now(), + }); + } + + getMimeTypeFromUrl(url: string): string { + const extension = url.split(".").pop()?.toLowerCase(); + return extension === "png" ? "image/png" : "image/jpeg"; + } + + getBase64ImageFromURL(url: string): Observable { + return new Observable((observer) => { + const img = new Image(); + img.crossOrigin = "Anonymous"; + img.src = url; + + img.onload = () => { + const canvas = document.createElement("canvas"); + canvas.width = img.width; + canvas.height = img.height; + const ctx = canvas.getContext("2d"); + + if (ctx) { + ctx.drawImage(img, 0, 0); + const mimeType = this.getMimeTypeFromUrl(url); + const dataURL = canvas + .toDataURL(mimeType) + .replace(/^data:image\/(png|jpeg);base64,/, ""); + observer.next(dataURL); + observer.complete(); + } else { + observer.error("Unable to get 2D context"); + } + }; + + img.onerror = (err) => observer.error(err); + }); + } + + predict_road: string = ""; + type_predict: string = ""; + level_predict: string = ""; + + onFileSelected(event: any) { + const file: File = event.target.files[0]; // Mengambil file yang dipilih dari input + if (file) { + this.sendImageToEndpoint(file); // Mengirim file ke fungsi sendImageToEndpoint + } + } + + sendImageToEndpoint(image: Blob) { + this.isLoading = true; + this.showRecommend = false; + const api = "https://api-model.roadreport.id//predict-road"; + + const form = new FormData(); + form.append("image", image); + + this.http.post(api, form).subscribe( + (res) => { + this.predict_road = res.predicted_label; + + const splitWords = this.predict_road.split(" "); + if (splitWords.length === 2) { + this.type_predict = splitWords[0]; + this.level_predict = splitWords[1]; + } + + this.isLoading = false; + this.showRecommend = true; + }, + + (error) => {} + ); + } + + changeDetailBasedOnRecommendation() { + if (this.segmentData && this.segmentData.photos) { + let absPaths = this.segmentData.photos.map( + (photo: any) => photo.abs_path + ); + } + + this.api + .update(this.segmentData.id, { + user_type: this.type_predict, + user_level: this.level_predict, + }) + + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.api + .getById(this.segmentData.id) + .pipe() + .subscribe({ + next: ({ data }) => { + this.segmenLevel = data.user_level; + this.segmenType = data.user_type; + }, + }); + this.helpers.toast("success", "Data berhasil diubah"); + }, + error: () => { + this.helpers.toast("error", "Data gagal diubah"); + }, + }); + } + + onDetail(data: any): void { + const modalRef = this.modal.open(LightboxComponent); + modalRef.componentInstance.data = data; + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + + return userRole === "SADM"; + } else { + return false; + } + } + + parsing(text: any) { + const coordinates = JSON.parse(text); + return coordinates.reverse().join(", "); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/adapter.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/adapter.ts new file mode 100644 index 0000000..89b431e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/adapter.ts @@ -0,0 +1,58 @@ +import { + HttpRequest, + HttpClient, + HttpEvent, + HttpEventType, +} from "@angular/common/http"; +import { catchError, map } from "rxjs/operators"; +import { Observable, of } from "rxjs"; +import { + FilePickerAdapter, + UploadResponse, + UploadStatus, + FilePreviewModel, +} from "ngx-awesome-uploader"; + +export class Adapter extends FilePickerAdapter { + constructor(private http: HttpClient) { + super(); + } + public uploadFile(fileItem: FilePreviewModel): Observable { + const form = new FormData(); + form.append("file", fileItem.file); + form.append("category", "image"); + form.append("folder", "image"); + const api = "https://api-roadreport.pisdev.my.id/api/upload-dumps"; + const req = new HttpRequest("POST", api, form, { reportProgress: true }); + return this.http.request(req).pipe( + map((res: HttpEvent) => { + if (res.type === HttpEventType.Response) { + const responseFromBackend = res.body; + return { + body: responseFromBackend, + status: UploadStatus.UPLOADED, + }; + } else if (res.type === HttpEventType.UploadProgress) { + if (res.total !== undefined) { + const uploadProgress = +Math.round((100 * res.loaded) / res.total); + return { + status: UploadStatus.IN_PROGRESS, + progress: uploadProgress, + }; + } + } + return { + status: UploadStatus.ERROR, + body: undefined, + }; + }), + catchError((er) => { + return of({ status: UploadStatus.ERROR, body: er }); + }) + ); + } + public removeFile(): Observable { + const removeApi = "https://api-roadreport.pisdev.my.id/api/upload-dumps"; + return this.http.post(removeApi, {}); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.html new file mode 100644 index 0000000..520c18f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.html @@ -0,0 +1,203 @@ +
+
+

+ +

+
+
+ +
+
+
Foto Sesudah
+ + Belum ada foto + +
+
+ +
+ + + +
+ +
+
+
+ +
+ {{ fileItem.fileName }} +
+

+ File Name: {{ fileItem.fileName }} +

+

+ File Size: {{ fileItem.file.size }} +

+
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
Keterangan
+
+ + {{ tes.note ? tes.note : "-" }} + +
+
+ +
+
+
+ +
+
+
+
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.scss new file mode 100644 index 0000000..8f531d6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.scss @@ -0,0 +1,29 @@ +.map-containet { + position: relative; +} + +.collapse-content { + transition: height 0.5s; + + overflow: hidden; +} + +img.uploaded-image:not(:first-child) { + margin-left: 2px; +} + +ngx-awesome-uploader { + margin: auto; +} + +::ng-deep .file-preview-actions { + display: none; +} + +::ng-deep .ngx-close-icon-wrapper { + display: none; +} + +ngx-awesome-uploader { + background-color: red; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.spec.ts new file mode 100644 index 0000000..ddd710e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UploadImageComponent } from './upload-image.component'; + +describe('UploadImageComponent', () => { + let component: UploadImageComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [UploadImageComponent] + }); + fixture = TestBed.createComponent(UploadImageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.ts new file mode 100644 index 0000000..40be953 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/components/upload-image/upload-image.component.ts @@ -0,0 +1,230 @@ +import { CommonModule } from "@angular/common"; +import { Component, OnInit, Input } from "@angular/core"; +import { FilePreviewModel, ValidationError } from "ngx-awesome-uploader"; +import { FilePickerModule } from "ngx-awesome-uploader"; +import { HttpClient } from "@angular/common/http"; +import { Adapter } from "./adapter"; +import { Observable, of } from "rxjs"; +import { delay } from "rxjs/operators"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { + ModalDismissReasons, + NgbAccordionModule, + NgbModal, +} from "@ng-bootstrap/ng-bootstrap"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { + Maintenance, + MaintenanceService, +} from "src/app/cores/api-services/perbaikan/maintenance.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { LightboxComponent } from "../lightbox/lightbox.component"; +import { ActivatedRoute } from "@angular/router"; +import { AlertComponent } from "../alert/alert.component"; +import { FormsModule } from "@angular/forms"; +import { LaporanService } from "src/app/cores/api-services/laporan/laporan.service"; + +export interface PhotoAfter { + filename: string; + abs_path: string; + file_dump_id: string; +} + +@Component({ + selector: "app-upload-image", + standalone: true, + imports: [ + CommonModule, + NgbAccordionModule, + FilePickerModule, + LightboxComponent, + FormsModule, + ], + templateUrl: "./upload-image.component.html", + styleUrls: ["./upload-image.component.scss"], +}) +export class UploadImageComponent + extends BaseCrudComponent + implements OnInit +{ + @Input() detailedSegment: any; + @Input() index: any; + @Input() status_report: any; + + adapter = new Adapter(this.http); + imageFiles: PhotoAfter[] = []; + + note: any; + id: string = ""; + form: any = {}; + + constructor( + private auth: AuthService, + private laporan: LaporanService, + private http: HttpClient, + private activatedRoute: ActivatedRoute, + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: MaintenanceService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + this.id = this.activatedRoute.snapshot.params["id"]; + } + + override ngOnInit(): void { + this.queries = { + filter: { + report_schedule_id: { eq: `${this.id}` }, + segmen_id: { eq: `${this.detailedSegment?.segmen?.id}` }, + }, + limit: 10, + }; + + this.form.report_schedule_id = this.id; + this.form.segmen_id = this.detailedSegment.segmen.id; + this.form.date = new Date(); + this.form.note = ""; + this.getAll(); + this.checkFoto(); + } + + override getAll(): void { + this.loading.show(); + this.api.getAll(this.queries).subscribe({ + next: ({ data }) => { + this.loading.hide(); + this.note = data; + if (data?.[0]?.photo_after) { + this.imageFiles = data[0].photo_after; + } else { + } + }, + error: () => { + this.loading.hide(); + this.helpers.toast("error", `Gagal mengambil data`); + }, + }); + } + + checkFoto(): boolean { + for (const item of this.imageFiles) { + if (item.abs_path) { + return true; + } + } + return false; + } + + public onFileAdded(file: FilePreviewModel) {} + + public onValidationError(error: ValidationError): void { + if (error.error === "FILE_MAX_SIZE") { + this.helpers.toast( + `warning`, + "File terlalu besar maksimal yang diizinkan adalah 5mb" + ); + } + } + + onFileInputChange(event: any) {} + + isUploadSuccessful: boolean = false; + public uploadSuccess(event: any): void { + this.modal.dismissAll; + this.loading.isLoading(); + this.imageFiles.push({ + filename: event.uploadResponse.data.filename, + abs_path: event.uploadResponse.data.abs_path, + file_dump_id: event.uploadResponse.data.id, + }); + this.isUploadSuccessful = true; + } + + public onSubmit() { + this.form.photo_after = this.imageFiles; + + this.api + .insert(this.form) + .pipe() + .subscribe({ + next: () => { + this.helpers.toast("success", "Foto berhasil ditambahkan"); + this.getAll(); + this.laporan.getAll(); + }, + }); + + setTimeout(() => { + window.location.reload(); + }, 1500); + } + + public removeFile(index: number): void { + this.imageFiles.splice(index, 1); + } + + public onRemoveSuccess(e: FilePreviewModel) { + alert("Data berhasil dihapus"); + } + + public myCustomValidator(file: File): Observable { + if (!file.name.includes("uploader")) { + return of(true).pipe(delay(2000)); + } + return of(false).pipe(delay(2000)); + } + + closeResult = ""; + open(content: any) { + if (this.status_report.id == "FOLUP") { + const modalRef = this.modal.open(AlertComponent, { + backdropClass: "bg-info", + size: "sm", + }); + modalRef.componentInstance.bgColor = "#4b527e"; + modalRef.componentInstance.textColor = "#000000"; + modalRef.componentInstance.message = "Ubah status menjadi"; + modalRef.componentInstance.statusMessage = "Perbaikan"; + } else { + this.modal + .open(content, { + ariaLabelledBy: "modal-basic-title", + centered: true, + }) + .result.then( + (result) => { + this.closeResult = `Closed with: ${result}`; + }, + (reason) => { + this.closeResult = `Dismissed ${this.getDismissReason(reason)}`; + } + ); + } + } + + closeModal() { + this.modal.dismissAll(); + } + + private getDismissReason(reason: any): string { + if (reason === ModalDismissReasons.ESC) { + return "by pressing ESC"; + } else if (reason === ModalDismissReasons.BACKDROP_CLICK) { + return "by clicking on a backdrop"; + } else { + return `with: ${reason}`; + } + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + return userRole === "SADM"; + } else { + return false; + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard-menu.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard-menu.ts new file mode 100644 index 0000000..9108c9e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard-menu.ts @@ -0,0 +1,44 @@ +export const menu = [ + { + name: "Dasbor", + link: "/dashboard/home", + icon: "bi bi-house", + access: ["SADM", "PNGL", "SVEI"], + }, + { + name: "Data Laporan", + link: "/dashboard/data-laporan", + icon: "bi bi-clipboard", + access: ["SADM", "PNGL"], + }, + { + name: "Data Gudang", + link: "/dashboard/data-gudang", + icon: "bi bi-archive", + access: ["SADM"], + }, + { + name: "Jadwal Perbaikan", + link: "/dashboard/jadwal-perbaikan", + icon: "bi bi-calendar4", + access: ["SADM", "PNGL"], + }, + { + name: "Rekapitulasi", + link: "/dashboard/rekapitulasi", + icon: "bi bi-list-ul", + access: ["SADM"], + }, + { + name: "Kelola Data", + link: "/dashboard/setting", + icon: "bi bi-gear", + access: ["SADM"], + }, + { + name: "Jadwal Survey", + link: "/dashboard/surveyor", + icon: "bi bi-calendar4", + access: ["SVEI"], + }, +]; diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.html new file mode 100644 index 0000000..09518f7 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.html @@ -0,0 +1,25 @@ + +
+
+
+ + + + + +
+ + +
+ +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.scss new file mode 100644 index 0000000..120bcf7 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.scss @@ -0,0 +1,16 @@ +.progress-bar { + animation: indeterminate 1s infinite linear; + transform-origin: 0% 50%; +} + +@keyframes indeterminate { + 0% { + transform: translateX(0) scaleX(0); + } + 40% { + transform: translateX(0) scaleX(0.4); + } + 100% { + transform: translateX(100%) scaleX(0.5); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.spec.ts new file mode 100644 index 0000000..5e98991 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DashboardComponent } from './dashboard.component'; + +describe('DashboardComponent', () => { + let component: DashboardComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DashboardComponent] + }); + fixture = TestBed.createComponent(DashboardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.ts new file mode 100644 index 0000000..cd123b0 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.component.ts @@ -0,0 +1,44 @@ +import { ChangeDetectorRef, Component, OnDestroy, OnInit } from "@angular/core"; +import { Observable, Subscription } from "rxjs"; +import { BreakpointObserver, BreakpointState } from "@angular/cdk/layout"; +import { LoadingService } from "src/app/cores/services/loading.service"; + +@Component({ + selector: "app-dashboard", + templateUrl: "./dashboard.component.html", + styleUrls: ["./dashboard.component.scss"], + host: { class: "flex-fill bg-secondary bg-opacity-10" }, +}) +export class DashboardComponent implements OnInit, OnDestroy { + isSidenavCollapsed = false; + isMobile = false; + breakpointSubscription!: Subscription; + isLoading$ = new Observable(); + + constructor( + private breakpointObserver: BreakpointObserver, + private loading: LoadingService, + private cdr: ChangeDetectorRef + ) {} + + ngOnInit(): void { + this.breakpointSubscription = this.breakpointObserver + .observe("(max-width: 1199.98px)") + .subscribe((state: BreakpointState) => { + this.isMobile = state.matches; + }); + this.isLoading$ = this.loading.isLoading(); + } + + ngAfterViewChecked() { + this.cdr.detectChanges(); + } + + ngOnDestroy(): void { + this.breakpointSubscription.unsubscribe(); + } + + onToggleSidebar(e: any) { + this.isSidenavCollapsed = e; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.module.ts new file mode 100644 index 0000000..00920e6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/dashboard.module.ts @@ -0,0 +1,109 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { DashboardComponent } from "./dashboard.component"; +import { RouterModule, Routes } from "@angular/router"; +import { SidenavComponent } from "./layouts/sidenav/sidenav.component"; +import { TopbarComponent } from "./layouts/topbar/topbar.component"; +import { HasRoleGuard } from "src/app/cores/guards/role.guard"; +import { RekapitulasiComponent } from "./pages/rekapitulasi/rekapitulasi.component"; + +const routes: Routes = [ + { + path: "", + component: DashboardComponent, + children: [ + { + path: "", + redirectTo: "home", + pathMatch: "full", + }, + { + canActivate: [HasRoleGuard], + data: { + access_role: ["SADM", "PNGL", "SVEI"], + }, + path: "home", + loadChildren: () => + import("./pages/home/home.module").then((m) => m.HomeModule), + }, + { + canActivate: [HasRoleGuard], + data: { + access_role: ["SADM", "PNGL"], + }, + path: "data-laporan", + loadChildren: () => + import("./pages/laporan/laporan.module").then((m) => m.LaporanModule), + }, + { + path: "data-gudang", + canActivate: [HasRoleGuard], + data: { + access_role: ["SADM"], + }, + loadChildren: () => + import("./pages/gudang/gudang.module").then((m) => m.GudangModule), + }, + { + path: "jadwal-perbaikan", + canActivate: [HasRoleGuard], + data: { + access_role: ["SADM", "PNGL"], + }, + loadChildren: () => + import("./pages/perbaikan/perbaikan.module").then( + (m) => m.PerbaikanModule + ), + }, + { + path: "setting", + canActivate: [HasRoleGuard], + data: { + access_role: ["SADM"], + }, + loadChildren: () => + import("./pages/setting/setting.module").then((m) => m.SettingModule), + }, + { + path: "rekapitulasi", + canActivate: [HasRoleGuard], + data: { + access_role: ["SADM"], + }, + loadChildren: () => + import("./pages/rekapitulasi/rekapitulasi.module").then( + (m) => m.RekapitulasiModule + ), + }, + { + path: "surveyor", + canActivate: [HasRoleGuard], + data: { + access_role: ["SVEI", "SADM"], + }, + loadChildren: () => + import("./pages/surveyor/surveyor.module").then( + (m) => m.SurveyorModule + ), + }, + { + path: "**", + loadChildren: () => + import("../error-not-found/error-not-found.module").then( + (m) => m.ErrorNotFoundModule + ), + }, + ], + }, +]; + +@NgModule({ + declarations: [DashboardComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + SidenavComponent, + TopbarComponent, + ], +}) +export class DashboardModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.html new file mode 100644 index 0000000..471d944 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.html @@ -0,0 +1,82 @@ + + + + +
+
+

Road Report

+ Sistem Pelaporan Jalan Rusak +
+ +
+ +
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.spec.ts new file mode 100644 index 0000000..024df44 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SidenavComponent } from './sidenav.component'; + +describe('SidenavComponent', () => { + let component: SidenavComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [SidenavComponent] + }); + fixture = TestBed.createComponent(SidenavComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.ts new file mode 100644 index 0000000..5c42ce1 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.component.ts @@ -0,0 +1,80 @@ +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, + ViewChild, +} from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { menu } from "../../dashboard-menu"; +import { RouterModule } from "@angular/router"; +import { NgbOffcanvas, NgbOffcanvasModule } from "@ng-bootstrap/ng-bootstrap"; +import { Subscription } from "rxjs"; +import { SidenavService } from "./sidenav.service"; +import { AuthService } from "src/app/cores/services/auth.service"; + +@Component({ + selector: "dashboard-sidenav", + standalone: true, + imports: [CommonModule, RouterModule, NgbOffcanvasModule], + templateUrl: "./sidenav.component.html", + styleUrls: ["./sidenav.component.scss"], +}) +export class SidenavComponent implements OnInit, OnDestroy { + @Input() isMobile = false; + @Output() toggleSidebar = new EventEmitter(); + menu = menu; + isSidenavCollapsed = false; + private _isPNGL: boolean | null = null; + + @ViewChild("sidemenuContent") offcanvasContent!: HTMLElement; + private offcanvasSubscription = new Subscription(); + + constructor( + private sidenav: SidenavService, + private offcanvas: NgbOffcanvas, + private auth: AuthService + ) {} + + ngOnInit(): void { + this.offcanvasSubscription = this.sidenav + .getTriggerObservable() + .subscribe(() => { + this.offcanvas.open(this.offcanvasContent, { + ariaLabelledBy: "offcanvas-sidemenu", + }); + }); + } + + ngOnDestroy(): void { + this.offcanvasSubscription.unsubscribe(); + } + + onToggleSidebar(): void { + this.isSidenavCollapsed = !this.isSidenavCollapsed; + this.toggleSidebar.emit(this.isSidenavCollapsed); + } + + isPNGL(): boolean { + if (this._isPNGL !== null) { + return this._isPNGL; + } + + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + this._isPNGL = userRole === "SADM"; + return this._isPNGL; + } else { + this._isPNGL = false; + return false; + } + } + + isAllowedNameMenu(menuItem: any) { + const userRole = this.auth.getLoggedUser().role.code; + return menuItem.access.includes(userRole); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.service.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.service.ts new file mode 100644 index 0000000..fb04642 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/sidenav/sidenav.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from "@angular/core"; +import { Subject } from "rxjs"; + +@Injectable({ + providedIn: "root", +}) +export class SidenavService { + private triggerSource = new Subject(); + + triggerSideMenu() { + this.triggerSource.next(); + } + + getTriggerObservable() { + return this.triggerSource.asObservable(); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.html new file mode 100644 index 0000000..632a138 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.html @@ -0,0 +1,92 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.spec.ts new file mode 100644 index 0000000..57c2ab9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ActionComponent } from './action.component'; + +describe('ActionComponent', () => { + let component: ActionComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ActionComponent] + }); + fixture = TestBed.createComponent(ActionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.ts new file mode 100644 index 0000000..11c55d7 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/action/action.component.ts @@ -0,0 +1,61 @@ +import { CommonModule } from "@angular/common"; +import { Component, Input, OnInit } from "@angular/core"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { UserService } from "src/app/cores/api-services/manage/user.service"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import { HelpersService } from "src/app/cores/services/helpers.service"; + +@Component({ + selector: "app-action", + standalone: true, + imports: [CommonModule, ReactiveFormsModule], + templateUrl: "./action.component.html", + styleUrls: ["./action.component.scss"], +}) +export class ActionComponent implements OnInit { + @Input() action = "update"; + @Input() data: any = {}; + + form: FormGroup = {} as FormGroup; + + constructor( + private api: UserService, + public activeModal: NgbActiveModal, + public helpers: HelpersService, + private formBuilder: FormBuilder + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + old_password: [ + null, + [Validators.required, WhiteSpaceValidator.noWhiteSpace], + ], + new_password: [ + null, + [Validators.required, WhiteSpaceValidator.noWhiteSpace], + ], + }); + + // set form if action is update and there is data + if (this.action === "update" && this.data) { + this.form.patchValue(this.data); + } + } + + onSubmit(): void { + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.html new file mode 100644 index 0000000..eee3752 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.html @@ -0,0 +1,73 @@ +
+ + +
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.scss new file mode 100644 index 0000000..ad8f020 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.scss @@ -0,0 +1,10 @@ +.customDropdown { + width: 512px; +} + +@media screen and (min-width: 0px) and (max-width: 550px) { + .customDropdown { + width: 300px; + min-height: 280px; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.spec.ts new file mode 100644 index 0000000..d650c16 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TopbarComponent } from './topbar.component'; + +describe('TopbarComponent', () => { + let component: TopbarComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [TopbarComponent] + }); + fixture = TestBed.createComponent(TopbarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.ts new file mode 100644 index 0000000..c578fcf --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/layouts/topbar/topbar.component.ts @@ -0,0 +1,93 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { SidenavService } from "../sidenav/sidenav.service"; +import { NgbDropdownModule, NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { ConfirmationModalComponent } from "../../components/confirmation-modal/confirmation-modal.component"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { ActionComponent } from "./action/action.component"; +import { Subject, takeUntil } from "rxjs"; +import { ChangePasswordService } from "src/app/cores/api-services/manage/change-password.service"; +import { ActivatedRoute } from "@angular/router"; + +@Component({ + selector: "dashboard-topbar", + standalone: true, + imports: [CommonModule, NgbDropdownModule], + templateUrl: "./topbar.component.html", + styleUrls: ["./topbar.component.scss"], +}) +export class TopbarComponent implements OnInit { + dataUpdateSubs$ = new Subject(); + + @Input() isMobile = false; + fullName: string = ""; + email: string = ""; + + id = this.activatedRoute.snapshot.params["id"]; + + constructor( + private api: ChangePasswordService, + private modal: NgbModal, + private helpers: HelpersService, + private activatedRoute: ActivatedRoute, + private sidenav: SidenavService, + private auth: AuthService + ) {} + + loggedUser = this.auth.getLoggedUser(); + ngOnInit(): void { + if (this.loggedUser) { + this.fullName = this.loggedUser.fullname; + this.email = this.loggedUser.email; + } + } + + onTriggerMenu(): void { + this.sidenav.triggerSideMenu(); + } + + changePassword(): void { + const modalRef = this.modal.open(ActionComponent); + modalRef.componentInstance.action = "update"; + modalRef.result.then( + (result) => { + if (result) { + this.api + .update(this.loggedUser.id, result) + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil diubah"); + }, + error: (e) => { + this.helpers.toast("error", e.error.message); + }, + }); + } + }, + () => {} + ); + } + + get2letters(name: string): string { + const collap = name + .toUpperCase() + .split(" ") + .map((word) => word.charAt(0)) + .join(""); + return collap; + } + + onLogout(): void { + const modalRef = this.modal.open(ConfirmationModalComponent, { + size: "sm", + }); + + modalRef.result.then((result) => { + if (result) { + this.auth.logout(); + } + }); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.html new file mode 100644 index 0000000..e633d2c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.html @@ -0,0 +1,82 @@ + + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.spec.ts new file mode 100644 index 0000000..267588d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ActionComponent } from './action.component'; + +describe('ActionComponent', () => { + let component: ActionComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ActionComponent] + }); + fixture = TestBed.createComponent(ActionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.ts new file mode 100644 index 0000000..74213f5 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/action/action.component.ts @@ -0,0 +1,57 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import { HelpersService } from "src/app/cores/services/helpers.service"; + +@Component({ + selector: "app-action", + standalone: true, + imports: [CommonModule, ReactiveFormsModule], + templateUrl: "./action.component.html", + styleUrls: ["./action.component.scss"], +}) +export class ActionComponent implements OnInit { + @Input() action = "create"; + @Input() data: any = {}; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + private formBuilder: FormBuilder, + public helpers: HelpersService + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + name: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + qty: [ + null, + [Validators.required, Validators.pattern(/^[0-9]+(\.[0-9]{1,2})?$/)], + ], + unit: ["Kg", [Validators.required]], + }); + + // set form if action is update and there is data + if (this.action === "update" && this.data) { + this.form.patchValue(this.data); + } + } + + onSubmit(): void { + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.html new file mode 100644 index 0000000..1671b3d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.html @@ -0,0 +1,129 @@ + +

Data Gudang

+ + +
+ +
+
+ + +
+ +
+ + +

+ Belum ada data. +

+ + +

+ Tidak ada hasil pencarian +

+ + + +
+ + + + + + + + + + + + + + + + + +
MaterialJumlahSatuan
{{ d.name }}{{ d.qty }}{{ d.unit }} +
+ + +
+
+
+ + +
+
+ Item per halalaman + + dari {{ dataSourceLength }} +
+ + +
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.scss new file mode 100644 index 0000000..fe22199 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.scss @@ -0,0 +1,3 @@ +.form-control::placeholder { + color: #bdbdbd; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.spec.ts new file mode 100644 index 0000000..6ec2a61 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GudangComponent } from './gudang.component'; + +describe('GudangComponent', () => { + let component: GudangComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [GudangComponent] + }); + fixture = TestBed.createComponent(GudangComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.ts new file mode 100644 index 0000000..ba28fdf --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.component.ts @@ -0,0 +1,81 @@ +import { Component } from "@angular/core"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { ActionComponent } from "./action/action.component"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { + Bahan, + BahanService, +} from "src/app/cores/api-services/gudang/bahan.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { Subject, takeUntil } from "rxjs"; + +@Component({ + selector: "app-gudang", + templateUrl: "./gudang.component.html", + styleUrls: ["./gudang.component.scss"], +}) +export class GudangComponent extends BaseCrudComponent { + dataInsertSubs$ = new Subject(); + dataUpdateSubs$ = new Subject(); + + constructor( + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: BahanService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + + this.searchFields = "name"; + } + + onCreate(): void { + const modalRef = this.modal.open(ActionComponent); + modalRef.componentInstance.action = "create"; + modalRef.result.then( + (result) => { + if (result) { + this.api + .insert(result) + .pipe(takeUntil(this.dataInsertSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil ditambahkan"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + }, + () => {} + ); + } + + onUpdate(data: Bahan): void { + const modalRef = this.modal.open(ActionComponent); + modalRef.componentInstance.action = "update"; + modalRef.componentInstance.data = data; + modalRef.result.then( + (result) => { + if (result) { + this.api + .update(data.id, result) + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil diubah"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal diubah"); + }, + }); + } + }, + () => {} + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.module.ts new file mode 100644 index 0000000..93eb0b7 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/gudang/gudang.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { GudangComponent } from "./gudang.component"; +import { RouterModule, Routes } from "@angular/router"; +import { NgbPaginationModule } from "@ng-bootstrap/ng-bootstrap"; +import { ReactiveFormsModule } from "@angular/forms"; +import { loginGuard } from "src/app/cores/guards/login.guard"; + +const routes: Routes = [ + { + path: "", + component: GudangComponent, + }, +]; + +@NgModule({ + declarations: [GudangComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + ReactiveFormsModule, + NgbPaginationModule, + ], +}) +export class GudangModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.html new file mode 100644 index 0000000..ac2720d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.html @@ -0,0 +1,6 @@ +

Dasbor

+
+ + + +
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.spec.ts new file mode 100644 index 0000000..ba1b4a3 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomeComponent } from './home.component'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [HomeComponent] + }); + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.ts new file mode 100644 index 0000000..be17790 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.component.ts @@ -0,0 +1,8 @@ +import { Component } from "@angular/core"; + +@Component({ + selector: "app-home", + templateUrl: "./home.component.html", + styleUrls: ["./home.component.scss"], +}) +export class HomeComponent {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.module.ts new file mode 100644 index 0000000..60ece48 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/home.module.ts @@ -0,0 +1,26 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { HomeComponent } from "./home.component"; +import { RouterModule, Routes } from "@angular/router"; +import { RingkasanComponent } from "./views/ringkasan/ringkasan.component"; +import { PetaComponent } from "./views/peta/peta.component"; +import { LaporanBaruComponent } from "./views/laporan-baru/laporan-baru.component"; + +const routes: Routes = [ + { + path: "", + component: HomeComponent, + }, +]; + +@NgModule({ + declarations: [HomeComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + RingkasanComponent, + PetaComponent, + LaporanBaruComponent, + ], +}) +export class HomeModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.html new file mode 100644 index 0000000..37d9829 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.html @@ -0,0 +1,94 @@ +
+
Data Laporan Terbaru
+ +

+ Belum ada data. +

+ + +
+ + + + + + + + + + + + + + + + + + + {{ d.created_at | date : "dd/MM/yyyy" }} + + + + + + + + + + + +
TanggalNo TiketNama PelaporStatusNo. HPLokasiAksi
+ + + {{ d.survey_start_date | date : "dd/MM/yyyy" + }}{{ + d.survey_end_date + ? "-" + (d.survey_end_date | date : "dd/MM/yyyy") + : "" + }} + 13978383{{ d.user.fullname }} + + {{ + d.status_report.id === "DONE" + ? "Selesai" + : d.status_report.name + }} + + {{ d.user.phone }} + {{ + d.segmens.length > 0 + ? d.segmens[d.segmens.length - 1].segmen.name + : "-" + }} + +
+ + +
+
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.spec.ts new file mode 100644 index 0000000..141e087 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LaporanBaruComponent } from './laporan-baru.component'; + +describe('LaporanBaruComponent', () => { + let component: LaporanBaruComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [LaporanBaruComponent] + }); + fixture = TestBed.createComponent(LaporanBaruComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.ts new file mode 100644 index 0000000..8a4a12c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/laporan-baru/laporan-baru.component.ts @@ -0,0 +1,55 @@ +import { Component } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { + Laporan, + LaporanService, +} from "src/app/cores/api-services/laporan/laporan.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { Router } from "@angular/router"; +import { AuthService } from "src/app/cores/services/auth.service"; + +@Component({ + selector: "laporan-baru", + standalone: true, + imports: [CommonModule], + templateUrl: "./laporan-baru.component.html", + styleUrls: ["./laporan-baru.component.scss"], +}) +export class LaporanBaruComponent extends BaseCrudComponent { + constructor( + private router: Router, + protected auth: AuthService, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: LaporanService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.queries = { + page: 1, + limit: 3, + sort: "-created_at", + embed: "status_report,user,segmens,segmens.segmen,segmens.photos", + }; + if (this.auth.getLoggedUser().role.code == "SADM") { + } else if (this.auth.getLoggedUser().role.code == "PNGL") { + this.queries.filter = { status_id: { ne: `PROG,RJT` } }; + } else { + this.api.endpoint = `report-list/surveyor/${auth.getLoggedUser().id}`; + } + } + + goToDetail(id: string) { + if (this.auth.getLoggedUser().role.code === "SVEI") { + this.router.navigate([ + "dashboard", + "surveyor", + this.auth.getLoggedUser().id, + ]); + } + this.router.navigate(["dashboard", "data-laporan", id]); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.html new file mode 100644 index 0000000..8e220c2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.html @@ -0,0 +1 @@ + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.spec.ts new file mode 100644 index 0000000..01b058a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PetaComponent } from './peta.component'; + +describe('PetaComponent', () => { + let component: PetaComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [PetaComponent] + }); + fixture = TestBed.createComponent(PetaComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.ts new file mode 100644 index 0000000..17a385f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/peta/peta.component.ts @@ -0,0 +1,11 @@ +import { Component } from "@angular/core"; +import { MapComponent } from "src/app/pages/dashboard/components/map/map.component"; + +@Component({ + selector: "peta", + standalone: true, + imports: [MapComponent], + templateUrl: "./peta.component.html", + styleUrls: ["./peta.component.scss"], +}) +export class PetaComponent {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.html new file mode 100644 index 0000000..b08a635 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.html @@ -0,0 +1,98 @@ +
+
Ringkasan Total Laporan
+ +

+ Belum ada data. +

+ +
+
+
+
+

Dalam Proses

+
+ {{ count["Dalam Proses"] ? count["Dalam Proses"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Ditindak Lanjuti

+
+ {{ count["Ditindak Lanjuti"] ? count["Ditindak Lanjuti"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Perbaikan

+
+ {{ count["Perbaikan"] ? count["Perbaikan"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Selesai

+
+ {{ + count["Laporan Selesai & Sudah Divalidasi"] + ? count["Laporan Selesai & Sudah Divalidasi"] + : "-" + }} +
+
+ + + +
+
+ +
+
+
+

Total Laporan

+
+ {{ count["Semua Laporan"] ? count["Semua Laporan"] : "-" }} +
+
+ + + +
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.spec.ts new file mode 100644 index 0000000..9328dc1 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RingkasanComponent } from './ringkasan.component'; + +describe('RingkasanComponent', () => { + let component: RingkasanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [RingkasanComponent] + }); + fixture = TestBed.createComponent(RingkasanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.ts new file mode 100644 index 0000000..1a56901 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/home/views/ringkasan/ringkasan.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { RingkasanService } from "src/app/cores/api-services/home/ringkasan.service"; + +@Component({ + selector: "ringkasan-total-laporan", + standalone: true, + imports: [CommonModule], + templateUrl: "./ringkasan.component.html", + styleUrls: ["./ringkasan.component.scss"], +}) +export class RingkasanComponent implements OnInit { + count!: any; + + constructor(private api: RingkasanService) {} + + ngOnInit(): void { + this.api.getAll().subscribe({ + next: ({ data }) => { + this.count = data; + }, + }); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.html new file mode 100644 index 0000000..5d1581b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.html @@ -0,0 +1,300 @@ + +
+
+
+ +
Detail Laporan
+
+ +
+
+
+ + + +
+ +
+
+
+
+ +
+
+ +
Survei
+
+
+
+

+ Kondisi jalan membutuhkan survey untuk menindak lanjuti laporan, + silahkan klik tombol survey untuk memberikan tugas kepada surveyor. +

+
+
+
+ +
+
+ +
+
+ +
+ Laporan sedang disurvei + +
+
+
+ +
+
+ +
+ Laporan sudah disurvei + +
+
+ +
+
+
+
+ +
+
+
+
+
Tingkat Kerusakan
+
+ {{ reportDetails?.survey?.tingkat_kerusakan }} +
+
+
+
Tipe Kerusakan
+
{{ reportDetails?.survey?.tipe_kerusakan }}
+
+
+
Kedalaman Lubang
+
+ {{ reportDetails?.survey?.kedalaman_lubang }} +
+
+
+
Panjang Kerusakan
+
+ {{ reportDetails?.survey?.length }} m +
+
+
+
Lebar Kerusakan
+
+ {{ reportDetails?.survey?.width }} m +
+
+
+
Estimasi Kebutuhan Material
+
{{ reportDetails?.survey?.jenis_material }}
+
+
+
Keterangan Material
+
+ {{ + reportDetails?.survey?.masukan_material + ? reportDetails?.survey?.masukan_material + : "-" + }} +
+
+
+
Catatan
+
+ {{ reportDetails?.survey?.note ? reportDetails?.survey?.note : "-" }} +
+
+
+
+ +
+
+
Data Pelapor
+
+
No. Tiket
+
{{ reportDetails.no_ticket }}
+
+
+
Nama
+
{{ reportDetails.user.fullname }}
+
+
+
Email
+
{{ reportDetails.user.email }}
+
+
+
No. HP
+
{{ reportDetails.user.phone }}
+
+
+
Lokasi
+
+ {{ + reportDetails.segmens.length > 0 + ? reportDetails.segmens[reportDetails.segmens.length - 1].segmen + .name + : "-" + }} +
+
+
+
Keterangan
+
+ {{ reportDetails.note }} +
+
+
+
Status Laporan
+
+ + {{ + reportDetails.status_report.id === "DONE" + ? "Selesai" + : reportDetails.status_report.name + }} + +
+
+
+
Tanggal Dilaporkan
+
+ {{ reportDetails.created_at | date : "dd/MM/yyyy" }} +
+
+
+
Review
+
+ {{ + reportDetails.rating !== null && reportDetails.rating?.comment !== "" + ? reportDetails.rating?.comment + : "-" + }} +
+
+ +
+
+
+
+
+
+
Data Laporan
+
+
+ +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.scss new file mode 100644 index 0000000..d3b5900 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.scss @@ -0,0 +1,3 @@ +.tes a:hover { + color: white; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.spec.ts new file mode 100644 index 0000000..b6befb6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailComponent } from './detail.component'; + +describe('DetailComponent', () => { + let component: DetailComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DetailComponent] + }); + fixture = TestBed.createComponent(DetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.ts new file mode 100644 index 0000000..551a5aa --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.component.ts @@ -0,0 +1,221 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { + Laporan, + LaporanService, +} from "src/app/cores/api-services/laporan/laporan.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { SubmitComponent } from "../modal/submit/submit.component"; +import { Segmens } from "src/app/cores/interfaces/master"; +import { ModalAssignSurveyorComponent } from "../../../components/modal-assign-surveyor/modal-assign-surveyor.component"; +import { Subject, takeUntil } from "rxjs"; +import { ExportLaporanByIdService } from "src/app/cores/api-services/export/export-laporanByid.service"; +import { RejectedLaporanService } from "src/app/cores/api-services/laporan/rejected-laporan.service"; +import { AlertComponent } from "../modal/alert/alert.component"; +import { HttpClient } from "@angular/common/http"; +import * as saveAs from "file-saver"; + +@Component({ + selector: "app-detail", + templateUrl: "./detail.component.html", + styleUrls: ["./detail.component.scss"], +}) +export class DetailComponent + extends BaseCrudComponent + implements OnInit +{ + reportDetails: Laporan | undefined; + segmens: Segmens[] | undefined; + dataInsertSubs$ = new Subject(); + + id: string = ""; + showButtonCompleted: boolean = true; + public isCollapsed = true; + + rate: any; + + constructor( + private http: HttpClient, + private auth: AuthService, + private activatedRoute: ActivatedRoute, + private router: Router, + private download: ExportLaporanByIdService, + private rejected: RejectedLaporanService, + public override api: LaporanService, + public override modal: NgbModal, + public override helpers: HelpersService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.queries = { + sort: "-updated_at", + page: 1, + limit: 10, + embed: + "status_report,user,segmens,segmens.segmen,segmens.photos,schedule,survey,survey.photos,rating", + }; + this.api.endpoint = "report-list"; + } + + override ngOnInit(): void { + this.id = this.activatedRoute.snapshot.params["id"]; + this.loading.isLoading(); + this.api + .getById(this.id, this.queries) + .pipe() + .subscribe({ + next: ({ data }) => { + this.reportDetails = data; + this.segmens = data.segmens; + }, + error: () => { + this.helpers.toast("error", "Data tidak ditemukan"); + }, + }); + } + + reportCompleted() { + this.api.update(this.id, { status_id: "DONE" }).subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil Diperbarui"); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + + getData() { + this.api + .getById(this.id, this.queries) + .pipe() + .subscribe({ + next: ({ data }) => { + this.reportDetails = data; + }, + error: () => { + this.helpers.toast("error", "Data Gagal Diperbarui"); + }, + }); + } + + reportReject() { + const modalRef = this.modal.open(SubmitComponent); + modalRef.componentInstance.modalType = 1; + modalRef.componentInstance.message = "Ditolak"; + modalRef.result.then( + (result) => { + if (result) { + this.api.update(this.id, { status_id: "RJT" }).subscribe({ + next: () => { + this.getData(); + this.helpers.toast("danger", "Data berhasil Ditolak"); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + this.rejected + .insert({ report_id: this.id, note: result.note }) + .subscribe({}); + this.showButtonCompleted = false; + } + }, + () => {} + ); + } + + onCreateSurveyor() { + const modalRef = this.modal.open(ModalAssignSurveyorComponent); + modalRef.componentInstance.action = "update"; + modalRef.result.then((result) => { + if (result) { + this.api + .update(this.id, result) + .pipe(takeUntil(this.dataInsertSubs$)) + .subscribe({ + next: () => { + this.getData(); + this.helpers.toast("success", "Surveyor berhasil ditambahkan"); + }, + error: (e) => { + this.helpers.toast( + "error", + `Surveyor gagal ditambahkan ${e.error.message}` + ); + }, + }); + } + }); + } + + downloadFile(data: any) { + const blob = new Blob([data], { type: "application/pdf" }); + + const url = window.URL.createObjectURL(blob); + + const link = document.createElement("a"); + link.href = url; + link.download = `laporan${this.id}.pdf`; + document.body.appendChild(link); + + link.click(); + document.body.removeChild(link); + } + + onDownload() { + this.loading.show(); + this.download + .getById(this.id) + .pipe() + .subscribe({ + next: ({ data }) => { + this.loading.hide(); + const rel_path = data.rel_path; + window.open(rel_path, "_blank"); + }, + error: (error) => {}, + }); + } + + onBack() { + this.router.navigate(["../"], { relativeTo: this.activatedRoute }); + } + + goToFollowUp() { + this.api.getData(this.id, this.queries).subscribe({ + next: ({ data }) => { + let showAlert = false; + data.segmens.forEach((segment) => { + if ( + segment.user_level.trim() === "-" || + segment.user_type.trim() === "-" + ) { + showAlert = true; + } + }); + if (showAlert) { + this.modal.open(AlertComponent); + } else { + this.router.navigate(["tindak-lanjut"], { + relativeTo: this.activatedRoute, + }); + } + }, + }); + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + return userRole === "SADM"; + } else { + return false; + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.module.ts new file mode 100644 index 0000000..e2926cf --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/detail/detail.module.ts @@ -0,0 +1,33 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { DetailComponent } from "./detail.component"; +import { RouterModule, Routes } from "@angular/router"; +import { LeafletModule } from "@asymmetrik/ngx-leaflet"; +import { SegmentComponent } from "../../../components/segment/segment.component"; +import { FormsModule } from "@angular/forms"; +import { ReportResolver } from "src/app/cores/resolver/api.resolver"; +import { NgbAlertModule, NgbCollapseModule } from "@ng-bootstrap/ng-bootstrap"; +import { LightboxComponent } from "../../../components/lightbox/lightbox.component"; + +const routes: Routes = [ + { + path: "", + component: DetailComponent, + }, +]; + +@NgModule({ + declarations: [DetailComponent], + providers: [ReportResolver], + imports: [ + CommonModule, + RouterModule.forChild(routes), + LeafletModule, + SegmentComponent, + FormsModule, + NgbAlertModule, + NgbCollapseModule, + LightboxComponent, + ], +}) +export class DetailModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.html new file mode 100644 index 0000000..678f4ff --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.html @@ -0,0 +1,242 @@ + +

Data Laporan

+ + +
+ +
+ +
+ + +
+ + + + + + + +
+
+
+ + +

+ Belum ada data. +

+ + +

+ Tidak ada hasil pencarian +

+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
TanggalNo TiketNama PelaporStatusLihat MapsLokasiAksi
{{ d.created_at | date : "dd/MM/yyyy" }}{{ d.no_ticket }}{{ d.user.fullname }} + + {{ + d.status_report.id === "DONE" + ? "Selesai" + : d.status_report.name + }} + + + + {{ + "[" + + parsing(d.segmens[d.segmens.length - 1].segmen.center_point) + .coordinates.reverse() + .join(", ") + + "]" + }} + + + {{ + d.segmens.length > 0 + ? d.segmens[d.segmens.length - 1].segmen.name + : "-" + }} + +
+ + +
+
+
+ + +
+
+ Item per halalaman + + dari {{ dataSourceLength }} +
+ + +
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.scss new file mode 100644 index 0000000..f14b81d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.scss @@ -0,0 +1,11 @@ +.has-search input { + padding-left: 3rem; +} + +.has-search .form-control-feedback { + position: absolute; +} + +.form-control::placeholder { + color: #BDBDBD; +} \ No newline at end of file diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.spec.ts new file mode 100644 index 0000000..237ae41 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LaporanComponent } from './laporan.component'; + +describe('LaporanComponent', () => { + let component: LaporanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [LaporanComponent] + }); + fixture = TestBed.createComponent(LaporanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.ts new file mode 100644 index 0000000..f791fc9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.component.ts @@ -0,0 +1,111 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { + Laporan, + LaporanService, +} from "src/app/cores/api-services/laporan/laporan.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { ExportLaporanByIdStatus } from "src/app/cores/api-services/export/export-laporanByStatus.service"; +import { ExportLaporanById } from "src/app/cores/api-services/export/export-laporanByid.service"; + +@Component({ + selector: "app-laporan", + templateUrl: "./laporan.component.html", + styleUrls: ["./laporan.component.scss"], +}) +export class LaporanComponent + extends BaseCrudComponent + implements OnInit +{ + constructor( + private activatedRoute: ActivatedRoute, + private router: Router, + private auth: AuthService, + private exportAll: ExportLaporanByIdStatus, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: LaporanService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.searchFields = "no_ticket,user.fullname,segmens.segmen.name"; + this.api.endpoint = `report-list`; + this.queries = { + page: 1, + sort: "-created_at", + limit: 10, + embed: "status_report,user,segmens,segmens.segmen,segmens.photos", + }; + if (this.auth.getLoggedUser().role.code == "PNGL") { + this.api.endpoint = `report-list/pengelola`; + } + } + + statusId: string = ""; + + field = { + eq: this.statusId, + }; + + applyFilter(statusId: string) { + this.statusId = statusId; + if (this.statusId !== "") { + this.queries.filter = { status_id: { eq: this.statusId } }; + } else { + if (this.auth.getLoggedUser().role.code == "SADM") { + delete this.queries.filter.status_id; + } else { + this.queries.filter = { status_id: { ne: `PROG,RJT` } }; + } + } + this.getAll(); + return true; + } + + export() { + this.loading.show(); + this.exportAll.endpoint = `report-list/export-all/${this.statusId}`; + this.exportAll + .getAll() + .pipe() + .subscribe({ + next: (response: any) => { + const data = response.data; + const rel_path = data.rel_path; + setTimeout(() => { + window.open(rel_path, "_blank"); + }, 500); + window.open(rel_path, "_blank"); + this.loading.hide(); + }, + error: (error) => {}, + }); + } + + goToDetail(id: string) { + if (this.auth.getLoggedUser().role.code == "PNGL") { + this.router.navigate(["dashboard", "data-laporan", id]); + } else { + this.router.navigate([id], { relativeTo: this.activatedRoute }); + } + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + + return userRole === "SADM"; + } else { + return false; + } + } + + parsing(text: string) { + return JSON.parse(text); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.module.ts new file mode 100644 index 0000000..f888b25 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/laporan.module.ts @@ -0,0 +1,42 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { LaporanComponent } from "./laporan.component"; +import { RouterModule, Routes } from "@angular/router"; +import { + NgbDropdownModule, + NgbPaginationModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { ReactiveFormsModule } from "@angular/forms"; +import { AlertComponent } from "./modal/alert/alert.component"; + +const routes: Routes = [ + { + path: "", + component: LaporanComponent, + children: [], + }, + { + path: ":id", + loadChildren: () => + import("./detail/detail.module").then((m) => m.DetailModule), + }, + { + path: ":id/tindak-lanjut", + loadChildren: () => + import("./tindak-lanjut/tindak-lanjut.module").then( + (m) => m.TindakLanjutModule + ), + }, +]; + +@NgModule({ + declarations: [LaporanComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + ReactiveFormsModule, + NgbDropdownModule, + NgbPaginationModule, + ], +}) +export class LaporanModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.html new file mode 100644 index 0000000..fc6478e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.html @@ -0,0 +1,28 @@ + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.scss new file mode 100644 index 0000000..8fdbf04 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.scss @@ -0,0 +1,10 @@ +.icon-container { + display: flex; + justify-content: center; + align-items: center; + width: 32px; + height: 32px; + color: #EB5757; + margin: 0 auto; + font-size: 32px; +} \ No newline at end of file diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.spec.ts new file mode 100644 index 0000000..57c2ab9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ActionComponent } from './action.component'; + +describe('ActionComponent', () => { + let component: ActionComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ActionComponent] + }); + fixture = TestBed.createComponent(ActionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.ts new file mode 100644 index 0000000..5f4045f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/action/action.component.ts @@ -0,0 +1,16 @@ +import { Component, Input } from '@angular/core'; +import { CommonModule } from "@angular/common"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; + +@Component({ + selector: 'app-action', + standalone: true, + imports: [CommonModule], + templateUrl: './action.component.html', + styleUrls: ['./action.component.scss'] +}) +export class ActionComponent { + @Input() data: any; + + constructor(public activeModal: NgbActiveModal) {} +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.html new file mode 100644 index 0000000..7ff2b9f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.html @@ -0,0 +1,22 @@ + + +

diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.spec.ts new file mode 100644 index 0000000..a7bd4f8 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AlertComponent } from './alert.component'; + +describe('AlertComponent', () => { + let component: AlertComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [AlertComponent] + }); + fixture = TestBed.createComponent(AlertComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.ts new file mode 100644 index 0000000..682ae99 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/alert/alert.component.ts @@ -0,0 +1,24 @@ +import { CommonModule } from "@angular/common"; +import { Component, Input } from "@angular/core"; +import { FormBuilder, FormGroup, ReactiveFormsModule } from "@angular/forms"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { HelpersService } from "src/app/cores/services/helpers.service"; + +@Component({ + selector: "app-alert", + standalone: true, + imports: [CommonModule, ReactiveFormsModule], + templateUrl: "./alert.component.html", + styleUrls: ["./alert.component.scss"], +}) +export class AlertComponent { + @Input() message: string = ""; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + private formBuilder: FormBuilder, + private helpers: HelpersService + ) {} +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.html new file mode 100644 index 0000000..456bafb --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.html @@ -0,0 +1,66 @@ + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.spec.ts new file mode 100644 index 0000000..593cabe --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { KerusakanComponent } from './kerusakan.component'; + +describe('KerusakanComponent', () => { + let component: KerusakanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [KerusakanComponent] + }); + fixture = TestBed.createComponent(KerusakanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.ts new file mode 100644 index 0000000..2ea3383 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/kerusakan/kerusakan.component.ts @@ -0,0 +1,70 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { + NgbAccordionModule, + NgbActiveModal, + NgbDropdownModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { HelpersService } from "src/app/cores/services/helpers.service"; + +@Component({ + selector: "app-kerusakan", + standalone: true, + imports: [ + CommonModule, + NgbDropdownModule, + NgbAccordionModule, + ReactiveFormsModule, + ], + templateUrl: "./kerusakan.component.html", + styleUrls: ["./kerusakan.component.scss"], +}) +export class KerusakanComponent implements OnInit { + @Input() action = "create"; + @Input() data: any; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + private formBuilder: FormBuilder, + public helpers: HelpersService + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + user_type: ["Retak", [Validators.required]], + user_level: ["Berat", [Validators.required]], + }); + } + + onSubmit(): void { + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } + + onUserLevel(event: any): void { + const selectedValue = event.target.value; + const userLevel = this.form.controls["user_level"]; + + userLevel.patchValue(selectedValue); + } + + onUserType(event: any): void { + const selectedValue = event.target.value; + const userType = this.form.controls["user_type"]; + + userType.patchValue(selectedValue); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.html new file mode 100644 index 0000000..ce9b33c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.html @@ -0,0 +1,38 @@ + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.spec.ts new file mode 100644 index 0000000..794c0a8 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SubmitComponent } from './submit.component'; + +describe('SubmitComponent', () => { + let component: SubmitComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SubmitComponent] + }); + fixture = TestBed.createComponent(SubmitComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.ts new file mode 100644 index 0000000..85d916f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/modal/submit/submit.component.ts @@ -0,0 +1,45 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { + FormBuilder, + FormControl, + FormGroup, + ReactiveFormsModule, +} from "@angular/forms"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; + +@Component({ + selector: "app-submit", + standalone: true, + imports: [CommonModule, ReactiveFormsModule], + templateUrl: "./submit.component.html", + styleUrls: ["./submit.component.scss"], +}) +export class SubmitComponent implements OnInit { + @Input() modalType: number = 0; + @Input() message: string = ""; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + private formBuilder: FormBuilder, + public helpers: HelpersService + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + note: [null, [WhiteSpaceValidator.noWhiteSpace]], + }); + } + + onSubmit(): void { + this.activeModal.close(this.form.value); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.html new file mode 100644 index 0000000..9da3263 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.html @@ -0,0 +1,95 @@ +
+
Tindak Lanjuti Laporan
+
+
+
+
+ +
+
+ + + + +
+ + + + + + + {{ date.day }} + + +
+
+
+
+
Tambahkan Pengelola Jalan
+
+
+
+ +
+
+
+
+
+
+ +
+
+ + +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.scss new file mode 100644 index 0000000..d53d0bd --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.scss @@ -0,0 +1,18 @@ +.custom-day { + text-align: center; + padding: 0.185rem 0.25rem; + display: inline-block; + height: 2rem; + width: 2rem; +} +.custom-day.focused { + background-color: #e6e6e6; +} +.custom-day.range, +.custom-day:hover { + background-color: rgb(2, 117, 216); + color: white; +} +.custom-day.faded { + background-color: rgba(2, 117, 216, 0.5); +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.spec.ts new file mode 100644 index 0000000..166f2b0 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TindakLanjutComponent } from './tindak-lanjut.component'; + +describe('TindakLanjutComponent', () => { + let component: TindakLanjutComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [TindakLanjutComponent] + }); + fixture = TestBed.createComponent(TindakLanjutComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.ts new file mode 100644 index 0000000..8b8df4d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.component.ts @@ -0,0 +1,209 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { SubmitComponent } from "../modal/submit/submit.component"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { + Perbaikan, + PerbaikanService, +} from "src/app/cores/api-services/perbaikan/perbaikan.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { NgbDate, NgbCalendar } from "@ng-bootstrap/ng-bootstrap"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import { UserService } from "src/app/cores/api-services/manage/user.service"; + +@Component({ + selector: "app-tindak-lanjut", + templateUrl: "./tindak-lanjut.component.html", + styleUrls: ["./tindak-lanjut.component.scss"], +}) +export class TindakLanjutComponent + extends BaseCrudComponent + implements OnInit +{ + id: string = ""; + form: FormGroup = {} as FormGroup; + + fromDate: NgbDate; + toDate: NgbDate | null = null; + hoveredDate: NgbDate | null = null; + + dateRangeVisible: boolean = false; + showDatePicker = false; + + status_id: string = "FOLUP"; + todayDate: { + year: number; + month: number; + day: number; + }; + + dataPengelola: any = ""; + filterByPengelola = { + filter: { urole_id: { eq: "1038dcc0-3bb0-4253-87fa-ef0e09a4429d" } }, + limit: 10, + sort: "-created_at", + }; + + constructor( + calendar: NgbCalendar, + private pengelola: UserService, + private activatedRoute: ActivatedRoute, + private router: Router, + private formBuilder: FormBuilder, + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: PerbaikanService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + const today = new Date(); + this.todayDate = { + year: today.getFullYear(), + month: today.getMonth() + 1, + day: today.getDate(), + }; + + this.pengelola.getAll(this.filterByPengelola).subscribe({ + next: ({ data }) => { + this.dataPengelola = data; + }, + }); + + this.fromDate = calendar.getToday(); + this.toDate = calendar.getNext(calendar.getToday(), "d", 1); + } + + override ngOnInit(): void { + this.id = this.activatedRoute.snapshot.params["id"]; + this.initForm(); + this.onMaintenanceByChange(this.selectedMaintenanceBy); + } + + onBack(): void { + this.router.navigate(["../"], { relativeTo: this.activatedRoute }); + } + + selectedMaintenanceBy: any; + + onMaintenanceByChange(event: any): void { + // (this.form.controls["list"]).controls[ + // "maintenance_by" + // ].patchValue(event.target.value); + if (event && event.target) { + (this.form.controls["list"]).controls[ + "maintenance_by" + ].patchValue(event.target.value); + } + } + + initForm(): void { + this.form = this.formBuilder.group({ + report_id: [this.id], + date_start: [this.fromDate, Validators.required], + date_end: [this.toDate], + status: [null, WhiteSpaceValidator.noWhiteSpace], + note: [null, WhiteSpaceValidator.noWhiteSpace], + list: this.formBuilder.group({ + maintenance_by: [this.selectedMaintenanceBy, Validators.required], + }), + }); + } + + formatDate(date: any): string { + const year = date.year; + const month = date.month < 10 ? "0" + date.month : date.month; + const day = date.day < 10 ? "0" + date.day : date.day; + + return `${year}-${month}-${day}`; + } + + formatAndPatchValues(): void { + const formattedStartDate = this.formatDate(this.fromDate); + const formattedEndDate = this.toDate ? this.formatDate(this.toDate) : null; + + this.form.patchValue({ + date_start: formattedStartDate, + date_end: formattedEndDate, + }); + } + + onSubmit(): void { + const modalRef = this.modal.open(SubmitComponent); + modalRef.result.then( + (result) => { + if (result) { + this.formatAndPatchValues(); + if (this.form.valid) { + this.api.insert(this.form.value).subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil ditambahkan"); + }, + error: (e) => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + setTimeout(() => { + this.router.navigate(["dashboard", "jadwal-perbaikan"]); + }, 2000); + } + } + }, + () => {} + ); + } + + getFormattedDateRange(): any { + if (this.fromDate) { + const fromDateStr = `${this.fromDate.day}/${this.fromDate.month}/${this.fromDate.year}`; + if (this.toDate) { + const toDateStr = `${this.toDate.day}/${this.toDate.month}/${this.toDate.year}`; + return `${fromDateStr} - ${toDateStr}`; + } else { + return fromDateStr; + } + } else { + return ""; + } + } + + toggleDatePicker() { + this.showDatePicker = !this.showDatePicker; + } + + onDateSelection(date: NgbDate) { + if (!this.fromDate && !this.toDate) { + this.fromDate = date; + } else if (this.fromDate && !this.toDate && date.after(this.fromDate)) { + this.toDate = date; + } else { + this.toDate = null; + this.fromDate = date; + } + } + + isHovered(date: NgbDate) { + return ( + this.fromDate && + !this.toDate && + this.hoveredDate && + date.after(this.fromDate) && + date.before(this.hoveredDate) + ); + } + + isInside(date: NgbDate) { + return this.toDate && date.after(this.fromDate) && date.before(this.toDate); + } + + isRange(date: NgbDate) { + return ( + date.equals(this.fromDate) || + (this.toDate && date.equals(this.toDate)) || + this.isInside(date) || + this.isHovered(date) + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.module.ts new file mode 100644 index 0000000..940047b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/laporan/tindak-lanjut/tindak-lanjut.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { TindakLanjutComponent } from "./tindak-lanjut.component"; +import { RouterModule, Routes } from "@angular/router"; +import { NgbDatepicker, NgbDropdownModule } from "@ng-bootstrap/ng-bootstrap"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; + +const routes: Routes = [ + { + path: "", + component: TindakLanjutComponent, + }, +]; + +@NgModule({ + declarations: [TindakLanjutComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + NgbDatepicker, + FormsModule, + ReactiveFormsModule, + ], +}) +export class TindakLanjutModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.html new file mode 100644 index 0000000..6755cd1 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.html @@ -0,0 +1,230 @@ +
+
+
+ +
Lokasi Perbaikan
+
+ +
+
+
+ + + +
+
+
+ + + Tanggal perbaikan + +
+ + {{ detailSchedule?.date_start | date : "dd/MM/yyyy" + }}{{ + detailSchedule?.date_end + ? "-" + (detailSchedule?.date_end | date : "dd/MM/yyyy") + : "" + }} + +
+
+
+
+
+ +
+ + + + + Data sedang divalidasi oleh admin + + + +
+
+
Segment Jalan
+
+
+
+ +
+
+
+
+
Data Pelapor
+
+
No. Tiket
+
{{ detailSchedule?.report.no_ticket }}
+
+
+
Nama
+
{{ detailSchedule?.report.user.fullname }}
+
+
+
Email
+
{{ detailSchedule?.report.user.email }}
+
+
+
Lokasi
+
+ {{ + detailSchedule?.report.segmens.length > 0 + ? detailSchedule?.report.segmens[ + detailSchedule?.report.segmens.length - 1 + ].segmen.name + : "-" + }} +
+
+ +
+
Status Laporan
+
+ + {{ + detailSchedule?.report?.status_report.id === "DONE" + ? "Selesai" + : detailSchedule?.report?.status_report.name + }} + +
+
+
+
Tanggal Diperbaiki
+
+ {{ detailSchedule?.created_at | date : "dd/MM/yyyy" }} +
+
+
+
+
Data Laporan
+
+
+ + +
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.scss new file mode 100644 index 0000000..f5bba49 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.scss @@ -0,0 +1,5 @@ +@media screen and (min-width: 0px) and (max-width: 550px) { + .date { + margin-left: 0; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.spec.ts new file mode 100644 index 0000000..b6befb6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailComponent } from './detail.component'; + +describe('DetailComponent', () => { + let component: DetailComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DetailComponent] + }); + fixture = TestBed.createComponent(DetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.ts new file mode 100644 index 0000000..b4f51b2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.component.ts @@ -0,0 +1,133 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { LaporanService } from "src/app/cores/api-services/laporan/laporan.service"; +import { SubmitComponent } from "../../laporan/modal/submit/submit.component"; +import { DetailPerbaikanService } from "src/app/cores/api-services/perbaikan/detail-perbaikan.service"; +import { ImageShowModalComponent } from "../../../components/image-show-modal/image-show-modal.component"; +import { MaintenanceService } from "src/app/cores/api-services/perbaikan/maintenance.service"; +import { forkJoin, map } from "rxjs"; + +@Component({ + selector: "app-detail", + templateUrl: "./detail.component.html", + styleUrls: ["./detail.component.scss"], +}) +export class DetailComponent implements OnInit { + detailSchedule: any | null = null; + detailSegmenPerbaikan: any | null = null; + closeResult = ""; + + updateStatus(statusId: string) { + const modalRef = this.modal.open(SubmitComponent); + modalRef.result.then( + (result) => { + if (result) { + this.laporan + .update(this.detailSchedule.report_id, { status_id: statusId }) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil Diperbarui"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + }, + () => {} + ); + } + + onUpdatePerbaikan() { + this.updateStatus("RPR"); + } + + onUpdateDonePerbaikan() { + this.updateStatus("FIXED"); + } + + reportCompleted() { + this.updateStatus("DONE"); + } + + id = this.activatedRoute.snapshot.params["id"]; + segmenId: string | null = null; + photo: any; + isButtonDisabled = false; + + getAll() { + this.api + .getById(this.id) + .pipe() + .subscribe({ + next: ({ data }) => { + this.detailSchedule = data; + + const segmens = this.detailSchedule.report.segmens; + const segmentIds = segmens.map((segment: any) => segment.segmen.id); + const observables = segmentIds.map((segmenId: any) => + this.maintenance.getAll({ + filter: { + report_schedule_id: { eq: `${this.id}` }, + segmen_id: { eq: `${segmenId}` }, + }, + }) + ); + + forkJoin(observables).subscribe({ + next: (results) => { + this.photo = results; + + const hasEmptyData = this.photo.some( + (dataItem: any) => dataItem.data.length === 0 + ); + this.isButtonDisabled = hasEmptyData; + }, + error: () => { + this.helpers.toast("error", "Gagal mengambil data"); + }, + }); + }, + }); + } + + constructor( + private auth: AuthService, + private laporan: LaporanService, + private activatedRoute: ActivatedRoute, + private router: Router, + public api: DetailPerbaikanService, + public maintenance: MaintenanceService, + public modal: NgbModal, + public helpers: HelpersService, + public loading: LoadingService + ) { + this.getAll(); + } + + ngOnInit(): void {} + + onBack(): void { + this.router.navigate(["../../"], { relativeTo: this.activatedRoute }); + } + + onAction(data: any): void { + const modalRef = this.modal.open(ImageShowModalComponent); + modalRef.componentInstance.data = data; + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + return userRole === "SADM"; + } else { + return false; + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.module.ts new file mode 100644 index 0000000..6a406a5 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/detail/detail.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { DetailComponent } from "./detail.component"; +import { RouterModule, Routes } from "@angular/router"; +import { MapComponent } from "../../../components/map/map.component"; +import { UploadImageComponent } from "../../../components/upload-image/upload-image.component"; +import { NgbAlertModule, NgbTooltipModule } from "@ng-bootstrap/ng-bootstrap"; + +const routes: Routes = [ + { + path: "", + component: DetailComponent, + }, +]; + +@NgModule({ + declarations: [DetailComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + MapComponent, + UploadImageComponent, + NgbAlertModule, + NgbTooltipModule, + ], +}) +export class DetailModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.html new file mode 100644 index 0000000..54bd360 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.html @@ -0,0 +1,64 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.scss new file mode 100644 index 0000000..e5a6e47 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.scss @@ -0,0 +1,22 @@ +.ngb-dp-header { + display: none; +} + +.custom-day { + text-align: center; + padding: 0.185rem 0.25rem; + display: inline-block; + height: 2rem; + width: 2rem; +} +.custom-day.focused { + background-color: #e6e6e6; +} +.custom-day.range, +.custom-day:hover { + background-color: rgb(2, 117, 216); + color: white; +} +.custom-day.faded { + background-color: rgba(216, 127, 2, 0.5); +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.spec.ts new file mode 100644 index 0000000..0e8c0f4 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { JadwalComponent } from './jadwal.component'; + +describe('JadwalComponent', () => { + let component: JadwalComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [JadwalComponent] + }); + fixture = TestBed.createComponent(JadwalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.ts new file mode 100644 index 0000000..0b46a13 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/jadwal/jadwal.component.ts @@ -0,0 +1,185 @@ +import { Component, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { + NgbActiveModal, + NgbAlertModule, + NgbCalendar, + NgbModal, +} from "@ng-bootstrap/ng-bootstrap"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { NgbDate, NgbDatepickerModule } from "@ng-bootstrap/ng-bootstrap"; +import { FormsModule } from "@angular/forms"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { + Perbaikan, + PerbaikanService, +} from "src/app/cores/api-services/perbaikan/perbaikan.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; + +@Component({ + selector: "app-jadwal", + standalone: true, + imports: [ + CommonModule, + ReactiveFormsModule, + NgbDatepickerModule, + FormsModule, + NgbAlertModule, + ], + templateUrl: "./jadwal.component.html", + styleUrls: ["./jadwal.component.scss"], +}) +export class JadwalComponent + extends BaseCrudComponent + implements OnInit +{ + form: FormGroup = {} as FormGroup; + + fromDate: NgbDate; + toDate: NgbDate | null = null; + hoveredDate: NgbDate | null = null; + + showDatePicker = false; + + id: string = ""; + data: any; + + todayDate: { + year: number; + month: number; + day: number; + }; + + constructor( + calendar: NgbCalendar, + public activeModal: NgbActiveModal, + private formBuilder: FormBuilder, + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: PerbaikanService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + const today = new Date(); + this.todayDate = { + year: today.getFullYear(), + month: today.getMonth() + 1, + day: today.getDate(), + }; + this.fromDate = calendar.getToday(); + this.toDate = calendar.getNext(calendar.getToday()); + } + + getFormattedDateRange(): any { + const startDate = new Date(this.data.date_start); + const endDate = this.data.date_end ? new Date(this.data.date_end) : null; + + const formattedStartDate = `${startDate.getDate()}/${ + startDate.getMonth() + 1 + }/${startDate.getFullYear()}`; + + if (endDate) { + const formattedEndDate = `${endDate.getDate()}/${ + endDate.getMonth() + 1 + }/${endDate.getFullYear()}`; + return `${formattedStartDate} - ${formattedEndDate}`; + } else { + return formattedStartDate; + } + } + + toggleDatePicker() { + this.showDatePicker = !this.showDatePicker; + } + + override ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + report_id: [this.id], + date_start: [this.fromDate, Validators.required], + date_end: [this.toDate], + }); + if (this.data) { + this.form.patchValue(this.data); + } + } + + onDateSelection(date: NgbDate) { + if (!this.fromDate && !this.toDate) { + this.fromDate = date; + } else if (this.fromDate && !this.toDate && date.after(this.fromDate)) { + this.toDate = date; + } else { + this.toDate = null; + this.fromDate = date; + } + } + + isHovered(date: NgbDate) { + return ( + this.fromDate && + !this.toDate && + this.hoveredDate && + date.after(this.fromDate) && + date.before(this.hoveredDate) + ); + } + + isInside(date: NgbDate) { + return this.toDate && date.after(this.fromDate) && date.before(this.toDate); + } + + isRange(date: NgbDate) { + return ( + date.equals(this.fromDate) || + (this.toDate && date.equals(this.toDate)) || + this.isInside(date) || + this.isHovered(date) + ); + } + + formatDate(date: any): string { + const year = date.year; + const month = date.month < 10 ? "0" + date.month : date.month; + const day = date.day < 10 ? "0" + date.day : date.day; + + return `${year}-${month}-${day}`; + } + + formatAndPatchValues(): void { + const formattedStartDate = this.formatDate(this.fromDate); + const formattedEndDate = this.toDate ? this.formatDate(this.toDate) : null; + + this.form.patchValue({ + date_start: formattedStartDate, + date_end: formattedEndDate, + }); + } + + onSubmit(): void { + this.formatAndPatchValues(); + if (this.form.valid) { + this.api.update(this.data.id, this.form.value).subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil ditambahkan"); + setTimeout(() => { + window.location.reload(); + }, 1000); + this.activeModal.close(this.form.value); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.html new file mode 100644 index 0000000..52af79e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.html @@ -0,0 +1,34 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.scss new file mode 100644 index 0000000..8fdbf04 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.scss @@ -0,0 +1,10 @@ +.icon-container { + display: flex; + justify-content: center; + align-items: center; + width: 32px; + height: 32px; + color: #EB5757; + margin: 0 auto; + font-size: 32px; +} \ No newline at end of file diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.spec.ts new file mode 100644 index 0000000..57c2ab9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ActionComponent } from './action.component'; + +describe('ActionComponent', () => { + let component: ActionComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ActionComponent] + }); + fixture = TestBed.createComponent(ActionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.ts new file mode 100644 index 0000000..afdec41 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/modal/action/action.component.ts @@ -0,0 +1,18 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; + +@Component({ + selector: "app-action", + standalone: true, + imports: [CommonModule], + templateUrl: "./action.component.html", + styleUrls: ["./action.component.scss"], +}) +export class ActionComponent implements OnInit { + @Input() data: any; + + constructor(public activeModal: NgbActiveModal) {} + + ngOnInit(): void {} +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.html new file mode 100644 index 0000000..b17ef5b --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.html @@ -0,0 +1,163 @@ + +

Jadwal Perbaikan

+ + +
+ +
+ +
+ +
+ + +
+
+
+ + +

+ Belum ada data. +

+ + +

+ Tidak ada hasil pencarian +

+ + + +
+ + + + + + + + + + + + + + + + + + + + +
Tanggal PerbaikanNo TiketLokasiNama PelaporAksi
+ {{ d.date_start | date : "dd/MM/yyyy" + }}{{ d.date_end ? "-" + (d.date_end | date : "dd/MM/yyyy") : "" }} + {{ d.report.no_ticket }} + {{ + d.report.segmens.length > 0 + ? d.report.segmens[d.report.segmens.length - 1].segmen.name + : "-" + }} + {{ d.report.user.fullname }} +
+ + + +
+
+
+ + +
+
+ Item per halalaman + + dari {{ dataSourceLength }} +
+ + +
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.scss new file mode 100644 index 0000000..fe22199 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.scss @@ -0,0 +1,3 @@ +.form-control::placeholder { + color: #bdbdbd; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.spec.ts new file mode 100644 index 0000000..b3c0381 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PerbaikanComponent } from './perbaikan.component'; + +describe('PerbaikanComponent', () => { + let component: PerbaikanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [PerbaikanComponent] + }); + fixture = TestBed.createComponent(PerbaikanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.ts new file mode 100644 index 0000000..5406e9d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.component.ts @@ -0,0 +1,112 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { JadwalComponent } from "./jadwal/jadwal.component"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { + Perbaikan, + PerbaikanService, +} from "src/app/cores/api-services/perbaikan/perbaikan.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { AuthService } from "src/app/cores/services/auth.service"; + +@Component({ + selector: "app-perbaikan", + templateUrl: "./perbaikan.component.html", + styleUrls: ["./perbaikan.component.scss"], +}) +export class PerbaikanComponent + extends BaseCrudComponent + implements OnInit +{ + id: string = ""; + fromDate: any; + toDate: any; + + constructor( + private router: Router, + private auth: AuthService, + private activatedRoute: ActivatedRoute, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: PerbaikanService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.searchFields = + "report.no_ticket,report.user.fullname,report.segmens.segmen.name"; + this.queries = { + page: 1, + sort: "-created_at", + limit: 10, + embed: "report.user,report.status_report,report.segmens.segmen", + }; + } + + sortBy: string = ""; + + applyFilter(sortBy: string) { + this.sortBy = sortBy; + if (sortBy === "terbaru") { + this.queries.sort = "-created_at"; + } else if (sortBy === "terlama") { + this.queries.sort = "created_at"; + } else { + this.queries.sort = "-created_at"; + } + if (this.auth.getLoggedUser().role.code == "PNGL") { + this.api.getAll(this.queries).subscribe({ + next: ({ data }) => { + this.loading.hide(); + this.dataSource = data; + }, + error: () => { + this.loading.hide(); + this.helpers.toast("error", `Gagal mengambil data`); + }, + }); + } else { + this.getAll(); + } + } + + goToMap(id: string): void { + this.router.navigate(["detail", id], { relativeTo: this.activatedRoute }); + } + + onUpdateSchedule(data: Perbaikan, id: string): void { + if (id == "RJT" || id == "DONE" || id == "FIXED") { + return alert("Jadwal tidak bisa diubah lagi"); + } + const modalRef = this.modal.open(JadwalComponent); + modalRef.componentInstance.action = "update"; + modalRef.componentInstance.id = id; + modalRef.componentInstance.data = data; + } + + getFormattedDateRange(): any { + if (this.fromDate) { + const fromDateStr = `${this.fromDate.day}/${this.fromDate.month}/${this.fromDate.year}`; + if (this.toDate) { + const toDateStr = `${this.toDate.day}/${this.toDate.month}/${this.toDate.year}`; + return `${fromDateStr} - ${toDateStr}`; + } else { + return fromDateStr; + } + } else { + return ""; + } + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + + return userRole === "SADM"; + } else { + return false; + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.module.ts new file mode 100644 index 0000000..1437eb1 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/perbaikan/perbaikan.module.ts @@ -0,0 +1,33 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { PerbaikanComponent } from "./perbaikan.component"; +import { RouterModule, Routes } from "@angular/router"; +import { + NgbDropdownModule, + NgbPaginationModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { ReactiveFormsModule } from "@angular/forms"; + +const routes: Routes = [ + { + path: "", + component: PerbaikanComponent, + }, + { + path: "detail/:id", + loadChildren: () => + import("./detail/detail.module").then((m) => m.DetailModule), + }, +]; + +@NgModule({ + declarations: [PerbaikanComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + ReactiveFormsModule, + NgbPaginationModule, + NgbDropdownModule, + ], +}) +export class PerbaikanModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.html new file mode 100644 index 0000000..05e825d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.html @@ -0,0 +1,36 @@ +
+
+
Grafik Laporan
+
+ + +
+ + +
+
+
+ +
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.spec.ts new file mode 100644 index 0000000..4bd6992 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GrafikLaporanComponent } from './grafik-laporan.component'; + +describe('GrafikLaporanComponent', () => { + let component: GrafikLaporanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [GrafikLaporanComponent] + }); + fixture = TestBed.createComponent(GrafikLaporanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.ts new file mode 100644 index 0000000..d604915 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/grafik-laporan/grafik-laporan.component.ts @@ -0,0 +1,84 @@ +import { Component } from "@angular/core"; +import { NgbDropdownModule } from "@ng-bootstrap/ng-bootstrap"; +import * as ApexCharts from "apexcharts"; +import { + ChartComponent, + ApexAxisChartSeries, + ApexChart, + ApexXAxis, + ApexDataLabels, + ApexTitleSubtitle, + ApexStroke, + ApexGrid, + NgApexchartsModule, + ApexFill, + ApexResponsive, +} from "ng-apexcharts"; + +export type ChartOptions = { + series: ApexAxisChartSeries; + chart: ApexChart; + xaxis: ApexXAxis; + stroke: ApexStroke; + dataLabels: ApexDataLabels; + yaxis: ApexYAxis; + title: ApexTitleSubtitle; + labels: string[]; + legend: ApexLegend; + subtitle: ApexTitleSubtitle; +}; + +@Component({ + selector: "app-grafik-laporan", + standalone: true, + imports: [NgbDropdownModule, NgApexchartsModule], + templateUrl: "./grafik-laporan.component.html", + styleUrls: ["./grafik-laporan.component.scss"], +}) +export class GrafikLaporanComponent { + public chartOptions: ChartOptions; + + constructor() { + this.chartOptions = { + series: [ + { + name: "Series 1", + data: [30, 40, 25, 50, 49, 21, 70, 51, 10, 98, 10, 50], + }, + ], + chart: { + toolbar: { show: false }, + height: 350, + type: "area", + }, + xaxis: { + categories: [ + "Jan", + "Feb", + "Mar", + "Apr", + "Mei", + "Jun", + "Jul", + "Agu", + "Sep", + "Okt", + "Nov", + "Des", + ], + }, + stroke: { + curve: "smooth", + }, + dataLabels: { + enabled: false, + }, + + yaxis: {}, + title: {}, + labels: [], + legend: {}, + subtitle: {}, + }; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.html new file mode 100644 index 0000000..c813245 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.html @@ -0,0 +1,203 @@ + +
+
Data Laporan
+ + +
+ +
+ + +
+ + + + + + + +
+
+
+ + +

+ Belum ada data. +

+ + +

+ Tidak ada hasil pencarian +

+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
TanggalNo TiketNama PelaporStatusLihat MapsLokasiAksi
{{ d.created_at | date : "dd/MM/yyyy" }}{{ d.no_ticket }}{{ d.user.fullname }} + + {{ + d.status_report.id === "DONE" + ? "Selesai" + : d.status_report.name + }} + + + + {{ + "[" + + parsing(d.segmens[d.segmens.length - 1].segmen.center_point) + .coordinates.reverse() + .join(", ") + + "]" + }} + + + {{ + d.segmens.length > 0 + ? d.segmens[d.segmens.length - 1].segmen.name + : "-" + }} + +
+ +
+
+
+ + +
+
+ Item per halalaman + + dari {{ dataSourceLength }} +
+ + +
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.scss new file mode 100644 index 0000000..211582d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.scss @@ -0,0 +1,11 @@ +.has-search input { + padding-left: 3rem; +} + +.has-search .form-control-feedback { + position: absolute; +} + +.form-control::placeholder { + color: #bdbdbd; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.spec.ts new file mode 100644 index 0000000..237ae41 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LaporanComponent } from './laporan.component'; + +describe('LaporanComponent', () => { + let component: LaporanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [LaporanComponent] + }); + fixture = TestBed.createComponent(LaporanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.ts new file mode 100644 index 0000000..c069145 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/laporan/laporan.component.ts @@ -0,0 +1,96 @@ +import { CommonModule } from "@angular/common"; +import { Component } from "@angular/core"; +import { ReactiveFormsModule } from "@angular/forms"; +import { Router } from "@angular/router"; +import { + NgbDropdownModule, + NgbModal, + NgbPaginationModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { + Laporan, + LaporanService, +} from "src/app/cores/api-services/laporan/laporan.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { AuthService } from "src/app/cores/services/auth.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; + +@Component({ + selector: "app-laporan", + standalone: true, + imports: [ + NgbPaginationModule, + NgbDropdownModule, + CommonModule, + ReactiveFormsModule, + ], + templateUrl: "./laporan.component.html", + styleUrls: ["./laporan.component.scss"], +}) +export class LaporanComponent extends BaseCrudComponent { + constructor( + private router: Router, + private auth: AuthService, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: LaporanService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.queryLimit = 5; + this.queries = { + page: 1, + sort: "-created_at", + limit: 5, + embed: "status_report,user,segmens,segmens.segmen,segmens.photos", + }; + if (this.auth.getLoggedUser().role.code == "PNGL") { + this.api.endpoint = `report-list/pengelola`; + } + } + + statusId: string = ""; + + field = { + eq: this.statusId, + }; + + applyFilter(statusId: string) { + this.statusId = statusId; + if (this.statusId !== "") { + this.queries.filter = { status_id: { eq: this.statusId } }; + } else { + if (this.auth.getLoggedUser().role.code == "SADM") { + delete this.queries.filter.status_id; + } else { + this.queries.filter = { status_id: { ne: `PROG,RJT` } }; + } + } + this.getAll(); + return true; + } + + goToDetail(id: string) { + if (this.auth.getLoggedUser().role.code == "PNGL") { + this.router.navigate(["dashboard", "data-laporan", id]); + } else { + this.router.navigate(["dashboard", "data-laporan", id]); + } + } + + isPNGL(): boolean { + const decodedToken = this.auth.getLoggedUser(); + if (decodedToken) { + const userRole = decodedToken.role.code; + + return userRole === "SADM"; + } else { + return false; + } + } + + parsing(text: string) { + return JSON.parse(text); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.html new file mode 100644 index 0000000..ae6c758 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.html @@ -0,0 +1,425 @@ +

Rekapitulasi

+
+ +
+
+
+ Ringkasan Total Laporan +
+
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+ +

+ Belum ada data. +

+ +
+
+
+
+

Total Laporan

+
+ {{ count["Semua Laporan"] ? count["Semua Laporan"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Dalam Proses

+
+ {{ count["Dalam Proses"] ? count["Dalam Proses"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Ditindak Lanjuti

+
+ {{ count["Ditindak Lanjuti"] ? count["Ditindak Lanjuti"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Perbaikan

+
+ {{ count["Perbaikan"] ? count["Perbaikan"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Tertolak

+
+ {{ count["Ditolak"] ? count["Ditolak"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Selesai

+
+ {{ + count["Laporan Selesai & Sudah Divalidasi"] + ? count["Laporan Selesai & Sudah Divalidasi"] + : "-" + }} +
+
+ + + +
+
+
+
+ + +
+
+
+ +
    +
  • + + + {{ item.status }} +
  • +
+
+
+ +
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+
+
Grafik Laporan
+
+ +
+
+
+
+
+
+
Level Kerusakan
+
+ + +
+ + +
+
+
+ +
+
+
+
+
+
Jenis Kerusakan
+
+ + +
+ + +
+
+
+ +
+
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.scss new file mode 100644 index 0000000..66143df --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.scss @@ -0,0 +1,30 @@ +.has-search input { + padding-left: 3rem; +} + +.has-search .form-control-feedback { + position: absolute; +} + +.form-control::placeholder { + color: #bdbdbd; +} + +.custom-day { + text-align: center; + padding: 0.185rem 0.25rem; + display: inline-block; + height: 2rem; + width: 2rem; +} +.custom-day.focused { + background-color: #e6e6e6; +} +.custom-day.range, +.custom-day:hover { + background-color: rgb(2, 117, 216); + color: white; +} +.custom-day.faded { + background-color: rgba(2, 117, 216, 0.5); +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.spec.ts new file mode 100644 index 0000000..8506d97 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RekapitulasiComponent } from './rekapitulasi.component'; + +describe('RekapitulasiComponent', () => { + let component: RekapitulasiComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [RekapitulasiComponent] + }); + fixture = TestBed.createComponent(RekapitulasiComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.ts new file mode 100644 index 0000000..06e48de --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.component.ts @@ -0,0 +1,1099 @@ +import { Component, OnInit } from "@angular/core"; +import { NgbCalendar, NgbDate, NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { + ApexAxisChartSeries, + ApexChart, + ApexDataLabels, + ApexPlotOptions, + ApexYAxis, + ApexLegend, + ApexStroke, + ApexXAxis, + ApexFill, + ApexTooltip, +} from "ng-apexcharts"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { LaporanService } from "src/app/cores/api-services/laporan/laporan.service"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { + latLng, + tileLayer, + Map, + Polyline, + LatLngExpression, + FeatureGroup, +} from "leaflet"; +import * as L from "leaflet"; +import * as dayjs from "dayjs"; +import { SubDistricService } from "src/app/cores/api-services/map/sub-district.service"; +import { ReportSegmens } from "src/app/cores/api-services/map/report-segmens.service"; +import { HttpClient } from "@angular/common/http"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { RekapitulasiService } from "src/app/cores/api-services/rekapitulasi/rekapitulasi.service"; +import { JsonDataService } from "src/app/cores/api-services/tes.service"; + +export type BarOptions = { + series: ApexAxisChartSeries; + chart: ApexChart; + dataLabels: ApexDataLabels; + plotOptions: ApexPlotOptions; + yaxis: ApexYAxis; + xaxis: ApexXAxis; + fill: ApexFill; + tooltip: ApexTooltip; + stroke: ApexStroke; + legend: ApexLegend; +}; + +export type SplineOptions = { + series: ApexAxisChartSeries; + chart: ApexChart; + xaxis: ApexXAxis; + stroke: ApexStroke; + tooltip: ApexTooltip; + dataLabels: ApexDataLabels; +}; + +export type RadarOptions = { + series: ApexAxisChartSeries; + chart: ApexChart; + title: ApexTitleSubtitle; + xaxis: ApexXAxis; +}; + +export type PieOptions = { + series: ApexNonAxisChartSeries; + chart: ApexChart; + responsive: ApexResponsive[]; + labels: any; +}; + +export type PolarOptions = { + series: ApexNonAxisChartSeries; + chart: ApexChart; + responsive: ApexResponsive[]; + labels: any; + stroke: ApexStroke; + fill: ApexFill; +}; + +interface Kerusakan { + status: string; + jumlah: number; +} + +export interface Graf { + year: number; + statusCode: number; + message: string; + data: Data; +} + +export interface Data { + month?: Data[]; + "Ditindak Lanjuti"?: number; + "Dalam Proses"?: number; + Perbaikan?: number; + Ditolak?: number; + "Laporan Selesai & Sudah Divalidasi"?: number; + "Selesai Perbaikan"?: number; + "Semua Laporan"?: number; + [key: string]: number | Data[] | undefined; +} + +@Component({ + selector: "app-rekapitulasi", + templateUrl: "./rekapitulasi.component.html", + styleUrls: ["./rekapitulasi.component.scss"], +}) +export class RekapitulasiComponent + extends BaseCrudComponent + implements OnInit +{ + // Rekap + count!: any; + + hoveredDate: NgbDate | null = null; + fromDate: NgbDate; + toDate: NgbDate | null = null; + showDatePicker = false; + + // Map or Segmen + public reportSegmensData!: any; + jsonData: any; + + getJsonData(): void { + this.tes.getJsonData().subscribe((data) => { + this.jsonData = data; + console.log(this.jsonData); + const series: { name: string; data: number[] }[] = []; + const cat: string[] = []; + + for (const key in this.jsonData.data) { + const getMonths = + Object.prototype.hasOwnProperty.call(this.jsonData.data, key) && + typeof this.jsonData.data[key] === "object"; + + const isNotSemuaLaporan = key !== "Semua Laporan"; + + const getStatus = !getMonths && isNotSemuaLaporan; + if (getMonths) { + cat.push(key); + } + if (getStatus) { + const statusData: number[] = []; + const monthData = this.jsonData.data[key] === "Object"; + + console.log("month Date", monthData); + } + } + console.log("Isi Categories", cat); + console.log("Isi Series Data", series); + }); + } + + public pieOptions!: PieOptions; + public splineOptions!: SplineOptions; + public radarOptions!: RadarOptions; + + constructor( + private tes: JsonDataService, + private formBuilder: FormBuilder, + private reportSegmens: ReportSegmens, + private subDistrict: SubDistricService, + private report: LaporanService, + private calendar: NgbCalendar, + private rekapitulasi: RekapitulasiService, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: LaporanService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.getJsonData(); + this.initYears(); + const currentYear = new Date().getFullYear(); + for (let i = currentYear - 5; i < currentYear + 1; i++) { + this.years.push(i); + } + this.loadData(); + this.initializeCharts(); + this.fromDate = calendar.getToday(); + this.toDate = calendar.getNext(calendar.getToday(), "d", 1); + this.api.endpoint = `report-list`; + } + + defaultPie: Graf | undefined; + pieData!: Data; + splineData!: Data; + radarData!: Data; + + loadData() { + this.tes + .getJsonData() + .pipe() + .subscribe({ + next: (response: Graf) => { + this.pieData = response.data; + this.splineData = response.data; + this.radarData = response.data; + this.defaultPie = response; + this.quartet(0, 2023); + }, + }); + this.initializeCharts(); + } + + format(date: any): string { + const year = this.formYears.value.years; + let formattedDate = ""; + + if (date instanceof Date && !isNaN(date.getTime())) { + const month = (date.getMonth() + 1).toString().padStart(2, "0"); + const day = date.getDate().toString().padStart(2, "0"); + + formattedDate = `${year}-${month}-${day}`; + } else { + console.log("Nilai date tidak valid."); + } + + return formattedDate; + } + + quartet(quartal: number, year: number) { + let start_date, end_date; + + switch (quartal) { + case 1: + start_date = new Date(year, 0, 1); + end_date = new Date(year, 2, 31); + break; + case 2: + start_date = new Date(year, 3, 1); + end_date = new Date(year, 5, 30); + break; + case 3: + start_date = new Date(year, 6, 1); + end_date = new Date(year, 8, 30); + break; + case 4: + start_date = new Date(year, 9, 1); + end_date = new Date(year, 11, 31); + break; + } + const formattedStartDate = this.format(start_date); + const formattedEndDate = this.format(end_date); + + console.log(formattedStartDate, formattedEndDate); + + this.rekapitulasi.endpoint = `report-list/range-count?start_date=${formattedStartDate}&end_date=${formattedEndDate}`; + this.rekapitulasi.getAll().subscribe({ + next: ({ data }) => { + this.count = data; + }, + }); + + if (quartal === 0) { + const allData = this.defaultPie?.data.month || []; + this.calculateTotalStatus(allData || []); + this.calculateTotalSpline(allData || []); + } else { + this.initializeCharts(); + + const monthsPerQuarter = 3; + const startMonthIndex = (quartal - 1) * monthsPerQuarter; + const endMonthIndex = startMonthIndex + monthsPerQuarter; + + const quarterData = this.pieData.month?.slice( + startMonthIndex, + endMonthIndex + ); + + const splineData = this.splineData.month?.slice( + startMonthIndex, + endMonthIndex + ); + + const radarData = this.radarData.month?.slice( + startMonthIndex, + endMonthIndex + ); + + switch (quartal) { + case 1: + this.splineOptions.xaxis.categories = ["Jan", "Feb", "Mar"]; + this.radarOptions.xaxis.categories = ["Jan", "Feb", "Mar"]; + + break; + case 2: + this.splineOptions.xaxis.categories = ["Apr", "May", "Jun"]; + this.radarOptions.xaxis.categories = ["Apr", "May", "Jun"]; + break; + case 3: + this.splineOptions.xaxis.categories = ["Jul", "Aug", "Sep"]; + this.radarOptions.xaxis.categories = ["Jul", "Aug", "Sep"]; + break; + case 4: + this.splineOptions.xaxis.categories = ["Oct", "Nov", "Dec"]; + this.radarOptions.xaxis.categories = ["Oct", "Nov", "Dec"]; + break; + } + + this.selectedFilter = `Kuartal ${quartal}`; + + this.calculateTotalSpline(radarData || []); + this.calculateTotalStatus(quarterData || []); + } + } + + calculateTotalSpline(data: any[]) { + const statusTotals: { + [key: string]: any | number[]; + } = {}; + + console.log("tes", statusTotals); + + data.forEach((monthData) => { + Object.keys(monthData).forEach((status) => { + if (status !== "month") { + if (!statusTotals[status]) { + statusTotals[status] = []; + } + statusTotals[status].push(monthData[status] || 0); + } + }); + }); + + console.log(this.splineOptions); + + for (const [key, value] of Object.entries(statusTotals)) { + this.splineOptions.series.push({ name: `${key}`, data: value }); + } + for (const [key, value] of Object.entries(statusTotals)) { + this.radarOptions.series.push({ name: `${key}`, data: value }); + } + + return statusTotals; + } + + calculateTotalStatus(data: any[]) { + const statusTotals: { [key: string]: number } = {}; + + data.forEach((monthData) => { + Object.keys(monthData).forEach((status) => { + if (status !== "month") { + if (!statusTotals[status]) { + statusTotals[status] = 0; + } + } + statusTotals[status] += monthData[status] || 0; + }); + }); + + for (const [key, value] of Object.entries(statusTotals)) { + this.pieOptions.labels.push(key); + this.pieOptions.series.push(value); + } + return statusTotals; + } + + formYears: FormGroup = {} as FormGroup; + form: FormGroup = {} as FormGroup; + selectedFilter: string = "Filter"; + + years: number[] = []; + + start_date!: string; + end_date!: string; + + initYears(): void { + this.formYears = this.formBuilder.group({ + years: [2023, [Validators.required]], + }); + } + + getYears() { + this.formYears.valueChanges; + } + + getMonthRange(): { startDate: string; endDate: string } { + const currentDate = new Date(); + const year = currentDate.getFullYear(); + const month = currentDate.getMonth(); + + const startDate = new Date(year, month, 1); + + const endDate = new Date(year, month + 1, 0); + startDate.setDate(startDate.getDate() + 1); + endDate.setDate(endDate.getDate() + 1); + + this.start_date = startDate.toISOString().slice(0, 10); + this.end_date = endDate.toISOString().slice(0, 10); + + this.selectedFilter = `Bulan Sekarang`; + // this.initForm(); + + return { startDate: "", endDate: "" }; + } + + getYearRange(): { startDate: string; endDate: string } { + const currentDate = new Date(); + const currentYear = currentDate.getFullYear(); + + const startDate = new Date(currentYear, 0, 1); + const endDate = new Date(currentYear, 11, 31); + startDate.setDate(startDate.getDate() + 1); + endDate.setDate(endDate.getDate() + 1); + + this.start_date = startDate.toISOString().slice(0, 10); + this.end_date = endDate.toISOString().slice(0, 10); + + this.selectedFilter = `Tahun Sekarang`; + // this.initForm(); + console.log(startDate, endDate); + + return { startDate: "", endDate: "" }; + } + + level!: any; + type: any; + + submitDate(): void { + // Count Status-Laporan + this.rekapitulasi.endpoint = `report-list/range-count?start_date=${this.form.value.start_date}&end_date=${this.form.value.end_date}`; + this.rekapitulasi.getAll().subscribe({ + next: ({ data }) => { + this.count = data; + + const defaultData = { + "Ditindak Lanjuti": 0, + "Dalam Proses": 0, + Perbaikan: 0, + "Laporan Selesai & Sudah Divalidasi": 0, + "Selesai Perbaikan": 0, + Ditolak: 0, + }; + + this.count = { ...defaultData, ...this.count }; + }, + }); + + // Count Tingkat-Kerusakan + this.rekapitulasi.endpoint = `report-segmens/range-level-count?start_date=${this.form.value.start_date}&end_date=${this.form.value.end_date}`; + this.rekapitulasi.getAll().subscribe({ + next: ({ data }) => { + this.level = data; + this.pieOptions.series = Object.values(this.level); + this.pieOptions.labels = Object.keys(this.level).map( + (key) => `${key}: ${this.level[key]}` + ); + + const filteredData: Record = Object.entries(this.level) + .filter(([key]) => key !== "Total Semua Tingkat Kerusakan") + .reduce((obj, [key, value]) => ({ ...obj, [key]: value }), {}); + + this.pieOptions.series = Object.values(filteredData); + this.pieOptions.labels = Object.keys(filteredData).map( + (key) => `${key}: ${filteredData[key]}` + ); + }, + }); + + // Count Tipe-Kerusakan + this.rekapitulasi.endpoint = `report-segmens/range-type-count?start_date=${this.form.value.start_date}&end_date=${this.form.value.end_date}`; + this.rekapitulasi.getAll().subscribe({ + next: ({ data }) => { + this.type = data; + }, + }); + + // Show Laporan + this.api.endpoint = `report-list/range?start_date=${this.start_date}&end_date=${this.end_date}`; + this.api.getAll().subscribe({ + next: ({ data }) => { + this.updateReportSegmens(data); + }, + }); + } + + toggleDatePicker() { + this.showDatePicker = !this.showDatePicker; + } + + formatDate(date: NgbDate): string { + const year = date.year; + const month = date.month < 10 ? "0" + date.month : date.month; + const day = date.day < 10 ? "0" + date.day : date.day; + + return `${year}-${month}-${day}`; + } + + formatDateAndValues(): { startDate: string; endDate: string | null } { + const startDate = this.formatDate(this.fromDate); + let endDate = this.toDate ? this.formatDate(this.toDate) : null; + + if (endDate === null) { + endDate = startDate; + } + + return { startDate, endDate }; + } + + savedDates!: { startDate: string; endDate: string | null }; + + saveDates() { + this.savedDates = this.formatDateAndValues(); + } + + showFormatDate() { + const { startDate, endDate } = this.formatDateAndValues(); + return endDate ? `${startDate} - ${endDate}` : startDate; + } + + // onDateSelection(date: NgbDate) { + // if (!this.fromDate && !this.toDate) { + // this.fromDate = date; + // } else if (this.fromDate && !this.toDate && date.after(this.fromDate)) { + // this.toDate = date; + // } else { + // this.toDate = null; + // this.fromDate = date; + // } + // this.formatDateAndValues(); + // } + + // isHovered(date: NgbDate) { + // return ( + // this.fromDate && + // !this.toDate && + // this.hoveredDate && + // date.after(this.fromDate) && + // date.before(this.hoveredDate) + // ); + // } + + // isInside(date: NgbDate) { + // return this.toDate && date.after(this.fromDate) && date.before(this.toDate); + // } + + // isRange(date: NgbDate) { + // return ( + // date.equals(this.fromDate) || + // (this.toDate && date.equals(this.toDate)) || + // this.isInside(date) || + // this.isHovered(date) + // ); + // } + + summaryReport(): void { + this.api.endpoint = "report-list/count"; + this.api.getAll().subscribe({ + next: ({ data }) => { + this.count = data; + }, + }); + + this.initializeCharts(); + } + + reportList(): void { + this.api.endpoint = "report-list"; + this.queryLimit = 5; + this.searchFields = "no_ticket,user.fullname,segmens.segmen.name"; + this.queries = { + page: 1, + sort: "-created_at", + limit: 5, + embed: "status_report,user,segmens,segmens.segmen,segmens.photos", + }; + this.getAll(); + } + + override ngOnInit(): void { + this.summaryReport(); + this.getMap(); + } + + // Map + map: Map | undefined; + + showOption: boolean = true; + isExpand = true; + isCollapsed: boolean = false; + selectedOption: string = "DSS"; + selectedData: any[] = []; + + statusDss: Kerusakan[] = []; + statusTitikLaporan: Kerusakan[] = []; + + // Map Layer + polylineLayer: FeatureGroup = new FeatureGroup(); + polygonLayer: FeatureGroup = new FeatureGroup(); + pointLayer: FeatureGroup = new FeatureGroup(); + + public mapOptions = { + layers: [ + tileLayer("http://tile.openstreetmap.org/{z}/{x}/{y}.png", { + maxZoom: 22, + minZoom: 11, + }), + ], + scrollWheelZoom: false, + zoom: 14, + dragging: true, + doubleClickZoom: false, + touchZoom: false, + tap: false, + center: latLng(-7.8699381, 112.5285772), + }; + + initMap(map: Map) { + if (!this.map) this.map = map; + this.map.zoomControl.setPosition("bottomright"); + } + + getMap(): void { + this.getSubDistrict(); + this.getReportSegmens(); + } + + toggleFullscreen() { + const mapElement = document.getElementById("map"); + + if (mapElement) { + if (!document.fullscreenElement) { + if (mapElement.requestFullscreen) { + mapElement.requestFullscreen(); + } + } else { + if (document.exitFullscreen) { + document.exitFullscreen(); + } + } + } + } + + toggleCollapse() { + if (!this.isCollapsed) { + this.getStatusDss(); + } + this.isCollapsed = !this.isCollapsed; + } + + onOptionChange(selectedValue: any) { + this.selectedOption = selectedValue; + + if (this.map) { + this.map.removeLayer(this.pointLayer); + this.map.removeLayer(this.polygonLayer); + this.map.removeLayer(this.polylineLayer); + } + + this.selectedData = []; + + if (selectedValue === "DSS") { + if (this.map) { + this.map.closePopup(); + } + } else if (selectedValue === "Titik Laporan") { + this.getStatusTitik(); + this.getStatusSegmenByReport(); + } + + if (this.map) { + if (selectedValue === "DSS") { + this.polygonLayer.addTo(this.map); + this.polylineLayer.addTo(this.map); + } else if (selectedValue === "point") { + this.pointLayer.addTo(this.map); + } + } + } + + getStatusTitik() { + const statusMap: { [key: string]: string } = { + "Dalam Proses": "#586AF5", + "Tindak Lanjut": "#FFAB00", + "Selesai Perbaikan": "#663000", + Perbaikan: "#F35625", + Selesai: "#24D07A", + }; + + const colors: string[] = Object.values(statusMap); + + this.statusTitikLaporan = Object.keys(statusMap).map((status, index) => ({ + status, + jumlah: 0, + color: colors[index], + })); + } + + getColorByStatusTitikLaporan(status_id: string): string { + const colorMap: { [key: string]: string } = { + "Dalam Proses": "#586AF5", + "Tindak Lanjut": "#FFAB00", + "Selesai Perbaikan": "#663000", + Perbaikan: "#F35625", + Selesai: "#24D07A", + }; + + return colorMap[status_id] || "transparent"; + } + + getStatusDss() { + const colorMap: { [key: string]: string } = { + "Berlubang Parah": "#215A99", + "Berlubang Sedang": "#2B79CC", + "Berlubang Ringan": "#87C0FF", + "Terkelupas Parah": "#18795F", + "Terkelupas Sedang": "#1CA762", + "Terkelupas Ringan": "#4FDA95", + "Retak Parah": "#992A44", + "Retak Sedang": "#FF4671", + "Retak Ringan": "#FF90AA", + "Bergelombang Parah": "#322564", + "Bergelombang Sedang": "#644BC8", + "Bergelombang Ringan": "#977EFB", + }; + const colors: string[] = Object.values(colorMap); + + this.statusDss = Object.keys(colorMap).map((status, index) => ({ + status, + jumlah: 0, + color: colors[index], + })); + } + + getColorByStatusDss(status: string, userLevel?: string): string { + const userStatus = `${status} ${userLevel}`; + const colorMap: { [key: string]: string } = { + "Berlubang Parah": "#215A99", + "Berlubang Sedang": "#2B79CC", + "Berlubang Ringan": "#87C0FF", + "Terkelupas Parah": "#18795F", + "Terkelupas Sedang": "#1CA762", + "Terkelupas Ringan": "#4FDA95", + "Retak Parah": "#992A44", + "Retak Sedang": "#FF4671", + "Retak Ringan": "#FF90AA", + "Bergelombang Parah": "#322564", + "Bergelombang Sedang": "#644BC8", + "Bergelombang Ringan": "#977EFB", + NULL: "#000000", + }; + return colorMap[userStatus] || colorMap[status]; + } + + getIconByStatus(status: string): string { + switch (status) { + case "PROG": + return "assets/images/icon/marker-dalam_proses.png"; + case "FOLUP": + return "assets/images/icon/marker-tindak_lanjut.png"; + case "DONE": + return "assets/images/icon/marker-selesai.png"; + case "RPR": + return "assets/images/icon/marker-perbaikan.png"; + case "FIXED": + return "assets/images/icon/marker-selesai-perbaikan.png"; + default: + return "assets/images/icon/marker-default.svg"; + } + } + + getSubDistrict(): void { + this.subDistrict.getAll().subscribe( + (response) => { + const data = response.data; + + if (data && data.length > 0) { + this.polygonLayer.clearLayers(); + + for (const item of data) { + const geojson = JSON.parse(item.geojson); + + const polygon = L.geoJSON(geojson, { + style: { + fillColor: "green", + weight: 2, + color: "white", + }, + }); + + polygon.on("click", (e) => { + const layer = e.target; + const name = item.name; + + const popup = L.popup().setContent(name); + + layer.bindPopup(popup).openPopup(); + }); + + polygon.addTo(this.polygonLayer); + } + if (this.map) { + this.polygonLayer.addTo(this.map); + } + } + }, + (error) => {} + ); + } + + getReportSegmens(): void { + this.loading.isLoading(); + this.reportSegmens + .getAll({ + embed: "segmen,analytic_data", + }) + .subscribe( + ({ data }) => { + this.updateReportSegmens(data); + }, + (error) => { + /* Tangani kesalahan jika ada */ + } + ); + } + + updateReportSegmens(data: any[]): void { + this.reportSegmensData = data; + + if (data && data.length > 0) { + this.polylineLayer.clearLayers(); + + for (const feature of data) { + const geojson = JSON.parse(feature.segmen.geojson); + + const coordinates = geojson.coordinates; + const featureCoordinates: LatLngExpression[] = coordinates.map( + (coord: [number, number]) => ({ + lat: coord[1], + lng: coord[0], + }) + ); + + const status_level = feature.user_level; + const status_type = feature.user_type; + + const polyline = new Polyline(featureCoordinates, { + color: this.getColorByStatusDss(status_type, status_level), + weight: 5, + }); + + this.polylineLayer.addLayer(polyline); + } + + if (this.map) { + this.polylineLayer.addTo(this.map); + } + } + } + + getStatusSegmenByReport(): void { + this.report.endpoint = "report-list"; + this.report + .getAll({ + embed: + "segmens.segmen,segmens.analytic_data,segmens.photos,status_report,user", + }) + .subscribe((response) => { + const data = response.data; + + if (data && data[0]?.segmens && data[0]?.segmens.length > 0) { + this.pointLayer.clearLayers(); + + for (const segmenData of data) { + const segmens = segmenData.segmens; + for (const segmen of segmens) { + const geojson = JSON.parse(segmen?.segmen?.geojson); + const coordinates = geojson.coordinates; + + const latLngCoordinates: LatLngExpression[] = coordinates.map( + (coord: [number, number]) => ({ + lat: coord[1], + lng: coord[0], + }) + ); + + const hasil = segmen.user_type + " " + segmen.user_level; + + const status_id = segmenData.status_id; + + if (status_id !== "RJT") { + const customIcon = L.icon({ + iconUrl: this.getIconByStatus(status_id), + iconSize: [32, 32], + iconAnchor: [16, 32], + }); + + const marker = L.marker(latLngCoordinates[0], { + icon: customIcon, + }).addTo(this.pointLayer); + + this.pointLayer.setStyle({ className: "mask" }); + + marker.addTo(this.pointLayer); + marker.on("click", (e) => { + for (const photo of segmen.photos) { + if (this.map) { + L.popup({ + className: "custom-popup", + }) + .setLatLng(e.latlng) + .setContent( + ` +
+
+
+

+ ${segmenData.status_report.name} +

+

+ No.Tiket ${segmenData.no_ticket} +

+
+ +
+ +
+
+ + Nama ${segmenData.user.fullname} +
+
+ + ${segmen.segmen.name} +
+
+ + ${dayjs(segmenData.created_at).format("DD-MM-YYYY")} +
+
+
+ +
+ + + ${segmen.user_type} + ${segmen.user_level} + +
+ +

+ ${segmenData.note} +

+
+
+ ` + ) + .openOn(this.map); + } + } + }); + } + this.getColorByStatusTitikLaporan(segmenData.status_report.name); + } + } + this.getStatusTitik(); + if (this.map) { + this.pointLayer.addTo(this.map); + } + } + }); + } + + initializeCharts() { + this.pieOptions = { + series: [], + chart: { + width: 380, + type: "pie", + }, + labels: [], + responsive: [ + { + breakpoint: 480, + options: { + chart: { + width: 200, + }, + legend: { + position: "bottom", + }, + }, + }, + ], + }; + this.splineOptions = { + series: [], + chart: { + height: 350, + type: "area", + }, + dataLabels: { + enabled: false, + }, + stroke: { + curve: "smooth", + fill: { + colors: ["none"], + }, + }, + xaxis: { + categories: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + }, + tooltip: { + x: { + format: "dd/MM/yy HH:mm", + }, + }, + }; + this.radarOptions = { + series: [], + chart: { + height: 350, + type: "radar", + }, + title: { + text: "Basic Radar Chart", + }, + xaxis: { + categories: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + }, + }; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.module.ts new file mode 100644 index 0000000..4ccbf66 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/rekapitulasi.module.ts @@ -0,0 +1,49 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { RouterModule, Routes } from "@angular/router"; +import { RekapitulasiComponent } from "./rekapitulasi.component"; +import { RingkasanComponent } from "./ringkasan/ringkasan.component"; +import { MapComponent } from "../../components/map/map.component"; +import { GrafikLaporanComponent } from "./grafik-laporan/grafik-laporan.component"; +import { LaporanComponent } from "./laporan/laporan.component"; +import { + NgbAlertModule, + NgbCollapseModule, + NgbDatepickerModule, + NgbDropdownModule, + NgbModule, + NgbPaginationModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; +import { NgApexchartsModule } from "ng-apexcharts"; +import { LeafletModule } from "@asymmetrik/ngx-leaflet"; + +const routes: Routes = [ + { + path: "", + component: RekapitulasiComponent, + }, +]; + +@NgModule({ + declarations: [RekapitulasiComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + RingkasanComponent, + MapComponent, + GrafikLaporanComponent, + LaporanComponent, + NgbDatepickerModule, + NgbDropdownModule, + FormsModule, + ReactiveFormsModule, + NgApexchartsModule, + NgbPaginationModule, + NgbCollapseModule, + NgbAlertModule, + NgbModule, + LeafletModule, + ], +}) +export class RekapitulasiModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.html new file mode 100644 index 0000000..d8e6f1c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.html @@ -0,0 +1,162 @@ +
+
+
Ringkasan Total Laporan
+
+
+ +
+ + + + + + +
+
+ / +
+
+
+ + +
+
+
+ +
+
+ +

+ Belum ada data. +

+ +
+
+
+
+

Total Laporan

+
+ {{ count["Semua Laporan"] ? count["Semua Laporan"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Dalam Proses

+
+ {{ count["Dalam Proses"] ? count["Dalam Proses"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Ditindak Lanjuti

+
+ {{ count["Ditindak Lanjuti"] ? count["Ditindak Lanjuti"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Perbaikan

+
+ {{ count["Perbaikan"] ? count["Perbaikan"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Tertolak

+
+ {{ count["Ditolak"] ? count["Ditolak"] : "-" }} +
+
+ + + +
+
+ +
+
+
+

Selesai

+
+ {{ + count["Laporan Selesai & Sudah Divalidasi"] + ? count["Laporan Selesai & Sudah Divalidasi"] + : "-" + }} +
+
+ + + +
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.spec.ts new file mode 100644 index 0000000..170bb8c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RingkasanComponent } from './ringkasan.component'; + +describe('RingkasanComponent', () => { + let component: RingkasanComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [RingkasanComponent] + }); + fixture = TestBed.createComponent(RingkasanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.ts new file mode 100644 index 0000000..e3008d6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/rekapitulasi/ringkasan/ringkasan.component.ts @@ -0,0 +1,54 @@ +import { CommonModule } from "@angular/common"; +import { Component, OnInit } from "@angular/core"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; +import { + NgbCalendar, + NgbDate, + NgbDateStruct, + NgbDatepickerModule, + NgbDropdownModule, + NgbModal, +} from "@ng-bootstrap/ng-bootstrap"; +import { RingkasanService } from "src/app/cores/api-services/home/ringkasan.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; + +@Component({ + selector: "app-ringkasan", + standalone: true, + imports: [ + CommonModule, + ReactiveFormsModule, + NgbDropdownModule, + NgbDatepickerModule, + FormsModule, + ], + templateUrl: "./ringkasan.component.html", + styleUrls: ["./ringkasan.component.scss"], +}) +export class RingkasanComponent + extends BaseCrudComponent + implements OnInit +{ + count!: any; + model!: NgbDateStruct; + + constructor( + calendar: NgbCalendar, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: RingkasanService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + } + + override ngOnInit(): void { + this.api.getAll().subscribe({ + next: ({ data }) => { + this.count = data; + }, + }); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.html new file mode 100644 index 0000000..f393f4e --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.html @@ -0,0 +1,145 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.spec.ts new file mode 100644 index 0000000..dd88174 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing"; + +import { ActionFaq } from "./action.component"; + +describe("ActionFaq", () => { + let component: ActionFaq; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ActionFaq], + }); + fixture = TestBed.createComponent(ActionFaq); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it("should create", () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.ts new file mode 100644 index 0000000..2b8db73 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/action/action.component.ts @@ -0,0 +1,64 @@ +import { Component, OnInit, Input } from "@angular/core"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { CommonModule } from "@angular/common"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; +import { CKEditorModule } from "@ckeditor/ckeditor5-angular"; + +@Component({ + selector: "app-action-faq", + standalone: true, + imports: [CommonModule, ReactiveFormsModule, CKEditorModule], + templateUrl: "./action.component.html", + styleUrls: ["./action.component.scss"], +}) +export class ActionFaq implements OnInit { + public Editor = ClassicEditor; + @Input() action = "create"; + @Input() data: any = {}; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + public helpers: HelpersService, + private formBuilder: FormBuilder + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + title: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + desc: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + order: [ + null, + [ + Validators.required, + Validators.pattern(/^[0-9]+(\.[0-9]{1,2})?$/), + WhiteSpaceValidator.noWhiteSpace, + ], + ], + }); + + // set form if action is update and there is data + if (this.action === "update" && this.data) { + this.form.patchValue(this.data); + } + } + + onSubmit(): void { + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.html new file mode 100644 index 0000000..5277aa1 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.html @@ -0,0 +1,96 @@ + +
+ + +
+ +
+
+
+ +

+ Belum ada data. +

+ + +
+ + + + + + + + + + + + + + + + + +
No. UrutJudulDeskripsiAksi
{{ parseNumber(i) }} + {{ d.title }} + + {{ d.desc }} + +
+ + +
+
+
+ +
+
+ Item per halaman + + dari {{ dataSourceLength }} +
+ + +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.scss new file mode 100644 index 0000000..46ad9cb --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.scss @@ -0,0 +1,5 @@ +@media screen and (min-width: 0px) and (max-width: 550px) { + .break-word { + word-break: normal; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.spec.ts new file mode 100644 index 0000000..dc27bf4 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FaqComponent } from './faq.component'; + +describe('FaqComponent', () => { + let component: FaqComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [FaqComponent] + }); + fixture = TestBed.createComponent(FaqComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.ts new file mode 100644 index 0000000..e8bc981 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/FAQ/faq/faq.component.ts @@ -0,0 +1,106 @@ +import { Component } from "@angular/core"; +import { + NgbModal, + NgbPagination, + NgbAlertModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { Faq, FaqService } from "src/app/cores/api-services/manage/faq.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { Subject, takeUntil } from "rxjs"; +import { ActionFaq } from "../action/action.component"; +import { CommonModule } from "@angular/common"; +import { AlertComponent } from "src/app/pages/dashboard/components/alert/alert.component"; + +interface Alert { + type: string; + message: string; +} + +@Component({ + selector: "app-faq", + standalone: true, + imports: [CommonModule, NgbPagination, NgbAlertModule, AlertComponent], + templateUrl: "./faq.component.html", + styleUrls: ["./faq.component.scss"], +}) +export class FaqComponent extends BaseCrudComponent { + dataInsertSubs$ = new Subject(); + dataUpdateSubs$ = new Subject(); + + alerts!: Alert[]; + showFullText: boolean = false; + + constructor( + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: FaqService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + } + + message = "Pertanyaan yang sering ditanyakan oleh pelapor."; + bgColor = "#DEE4EB"; + textColor = "#000000"; + height = "46px"; + + toggleText() { + this.showFullText = !this.showFullText; + } + + onCreate(): void { + const modalRef = this.modal.open(ActionFaq); + + modalRef.componentInstance.action = "create"; + modalRef.result.then( + (result) => { + if (result) { + this.api + .insert(result) + .pipe(takeUntil(this.dataInsertSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil ditambahkan"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + }, + () => {} + ); + } + + onUpdate(data: Faq): void { + const modalRef = this.modal.open(ActionFaq); + modalRef.componentInstance.action = "update"; + modalRef.componentInstance.data = data; + modalRef.result.then( + (result) => { + if (result) { + this.api + .update(data.id, result) + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil diubah"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal diubah"); + }, + }); + } + }, + () => {} + ); + } + + close(alert: Alert) { + this.alerts.splice(this.alerts.indexOf(alert), 1); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.html new file mode 100644 index 0000000..4b0e796 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.html @@ -0,0 +1,190 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.spec.ts new file mode 100644 index 0000000..cb3f6f5 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing"; + +import { ActionPengelola } from "./action.component"; + +describe("ActionComponent", () => { + let component: ActionPengelola; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ActionPengelola], + }); + fixture = TestBed.createComponent(ActionPengelola); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it("should create", () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.ts new file mode 100644 index 0000000..47224c9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/action/action.component.ts @@ -0,0 +1,79 @@ +import { Component, OnInit, Input } from "@angular/core"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { CommonModule } from "@angular/common"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import { EmailValidator } from "src/app/cores/form-validators/email-validation"; + +@Component({ + selector: "app-action-pengelola", + standalone: true, + imports: [CommonModule, ReactiveFormsModule], + templateUrl: "./action.component.html", + styleUrls: ["./action.component.scss"], +}) +export class ActionPengelola implements OnInit { + @Input() action = "create"; + @Input() data: any = {}; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + public helpers: HelpersService, + private formBuilder: FormBuilder + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + urole_id: ["1038dcc0-3bb0-4253-87fa-ef0e09a4429d"], + fullname: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + shortname: [ + null, + [Validators.required, WhiteSpaceValidator.noWhiteSpace], + ], + username: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + email: [ + null, + [ + Validators.required, + WhiteSpaceValidator.noWhiteSpace, + EmailValidator.emailValidation, + ], + ], + pwd: [ + "pengelola456", + [Validators.required, WhiteSpaceValidator.noWhiteSpace], + ], + }); + + // set form if action is update and there is data + if (this.action === "update" && this.data) { + this.form.patchValue(this.data); + } + } + + onSubmit(): void { + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } + + onResetPassword(): void { + this.action === "update" && this.data; + this.form = this.formBuilder.group({ + pwd: ["password123"], + }); + this.activeModal.close(this.form.value); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.html new file mode 100644 index 0000000..c92ea19 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.html @@ -0,0 +1,104 @@ + +
+
+ + +
+
+ +
+
+
+ +

+ Belum ada data. +

+ + +
+ + + + + + + + + + + + + + + + + +
NoNamaEmailAksi
{{ parseNumber(i + 1) }}{{ d.fullname }} + {{ d.email }} + +
+ + +
+
+
+ +
+
+ Item per halaman + + dari {{ dataSourceLength }} +
+ + +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.spec.ts new file mode 100644 index 0000000..c74a3e9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PengelolaComponent } from './pengelola.component'; + +describe('PengelolaComponent', () => { + let component: PengelolaComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [PengelolaComponent] + }); + fixture = TestBed.createComponent(PengelolaComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.ts new file mode 100644 index 0000000..098dd34 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/pengelola/pengelola/pengelola.component.ts @@ -0,0 +1,101 @@ +import { Component } from "@angular/core"; +import { + User, + UserService, +} from "src/app/cores/api-services/manage/user.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { Subject, takeUntil } from "rxjs"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { NgbModal, NgbPagination } from "@ng-bootstrap/ng-bootstrap"; +import { CommonModule } from "@angular/common"; +import { ActionPengelola } from "../action/action.component"; +import { ReactiveFormsModule } from "@angular/forms"; + +@Component({ + selector: "app-pengelola", + standalone: true, + imports: [CommonModule, ReactiveFormsModule, NgbPagination], + templateUrl: "./pengelola.component.html", + styleUrls: ["./pengelola.component.scss"], +}) +export class PengelolaComponent extends BaseCrudComponent { + dataInsertSubs$ = new Subject(); + dataUpdateSubs$ = new Subject(); + + constructor( + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: UserService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + this.searchFields = "fullname,email"; + + this.queries = { + filter: { urole_id: { eq: "1038dcc0-3bb0-4253-87fa-ef0e09a4429d" } }, + limit: 10, + sort: "-created_at", + }; + } + + override parseNumber(value: number): number { + const page = this.queries["page"]; + const limit = this.queries["limit"]; + + if (page && limit) { + return (page - 1) * limit + value; + } + + return value; + } + + onCreate(): void { + const modalRef = this.modal.open(ActionPengelola); + modalRef.componentInstance.action = "create"; + modalRef.result.then( + (result) => { + if (result) { + this.api + .insert(result) + .pipe(takeUntil(this.dataInsertSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil ditambahkan"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + }, + () => {} + ); + } + + onUpdate(data: User): void { + const modalRef = this.modal.open(ActionPengelola); + modalRef.componentInstance.action = "update"; + modalRef.componentInstance.data = data; + modalRef.result.then( + (result) => { + if (result) { + this.api + .update(data.id, result) + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil diubah"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal diubah"); + }, + }); + } + }, + () => {} + ); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.html new file mode 100644 index 0000000..9e41171 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.html @@ -0,0 +1,59 @@ +

Kelola Data

+ +
+ + +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.scss new file mode 100644 index 0000000..211582d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.scss @@ -0,0 +1,11 @@ +.has-search input { + padding-left: 3rem; +} + +.has-search .form-control-feedback { + position: absolute; +} + +.form-control::placeholder { + color: #bdbdbd; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.spec.ts new file mode 100644 index 0000000..956d00c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingComponent } from './setting.component'; + +describe('SettingComponent', () => { + let component: SettingComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SettingComponent] + }); + fixture = TestBed.createComponent(SettingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.ts new file mode 100644 index 0000000..6e7011a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.component.ts @@ -0,0 +1,52 @@ +import { Component, OnInit } from "@angular/core"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { FaqService } from "src/app/cores/api-services/manage/faq.service"; +import { SurveyorService } from "src/app/cores/api-services/manage/surveyor.service"; +import { UserService } from "src/app/cores/api-services/manage/user.service"; + +@Component({ + selector: "app-setting", + templateUrl: "./setting.component.html", + styleUrls: ["./setting.component.scss"], +}) +export class SettingComponent implements OnInit { + active: any; + + dataLengthFaq: number = 0; + dataLengthPengelola: number = 0; + dataLengthSurveyor: number = 0; + + constructor( + public modal: NgbModal, + public apiFaq: FaqService, + public apiUser: UserService + ) {} + + queries = { + filter: { urole_id: { eq: "1038dcc0-3bb0-4253-87fa-ef0e09a4429d" } }, + limit: 10, + }; + + ngOnInit(): void { + this.apiFaq.getAll().subscribe({ + next: ({ data }) => { + this.dataLengthFaq = data.length; + }, + }); + this.apiUser.getAll(this.queries).subscribe({ + next: ({ data }) => { + this.dataLengthPengelola = data.length; + }, + }); + this.apiUser + .getAll({ + filter: { urole_id: { eq: "1b4701ab-da41-405b-9fe3-039a4daf0094" } }, + limit: 10, + }) + .subscribe({ + next: ({ data }) => { + this.dataLengthSurveyor = data.length; + }, + }); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.module.ts new file mode 100644 index 0000000..7da8695 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/setting.module.ts @@ -0,0 +1,30 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { SettingComponent } from "./setting.component"; +import { RouterModule, Routes } from "@angular/router"; +import { NgbNavModule, NgbPaginationModule } from "@ng-bootstrap/ng-bootstrap"; +import { PengelolaComponent } from "./pengelola/pengelola/pengelola.component"; +import { FaqComponent } from "./FAQ/faq/faq.component"; +import { SurveyorComponent } from "../surveyor/surveyor.component"; +import { DataSurveyorComponent } from "./surveyor/surveyor/surveyor.component"; + +const routes: Routes = [ + { + path: "", + component: SettingComponent, + }, +]; + +@NgModule({ + declarations: [SettingComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + NgbNavModule, + NgbPaginationModule, + PengelolaComponent, + FaqComponent, + DataSurveyorComponent, + ], +}) +export class SettingModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.html new file mode 100644 index 0000000..047a662 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.html @@ -0,0 +1,165 @@ + + diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.spec.ts new file mode 100644 index 0000000..57c2ab9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ActionComponent } from './action.component'; + +describe('ActionComponent', () => { + let component: ActionComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ActionComponent] + }); + fixture = TestBed.createComponent(ActionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.ts new file mode 100644 index 0000000..6fb9e72 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/action/action.component.ts @@ -0,0 +1,79 @@ +import { CommonModule } from "@angular/common"; +import { Component, OnInit, Input } from "@angular/core"; +import { + FormBuilder, + FormGroup, + ReactiveFormsModule, + Validators, +} from "@angular/forms"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import { EmailValidator } from "src/app/cores/form-validators/email-validation"; + +@Component({ + selector: "app-action", + standalone: true, + imports: [CommonModule, ReactiveFormsModule], + templateUrl: "./action.component.html", + styleUrls: ["./action.component.scss"], +}) +export class ActionSurveyor implements OnInit { + @Input() action = "create"; + @Input() data: any = {}; + + form: FormGroup = {} as FormGroup; + + constructor( + public activeModal: NgbActiveModal, + public helpers: HelpersService, + private formBuilder: FormBuilder + ) {} + + ngOnInit(): void { + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + urole_id: ["1b4701ab-da41-405b-9fe3-039a4daf0094"], + fullname: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + shortname: [ + null, + [Validators.required, WhiteSpaceValidator.noWhiteSpace], + ], + username: [null, [Validators.required, WhiteSpaceValidator.noWhiteSpace]], + email: [ + null, + [ + Validators.required, + WhiteSpaceValidator.noWhiteSpace, + EmailValidator.emailValidation, + ], + ], + pwd: [ + "pengelola456", + [Validators.required, WhiteSpaceValidator.noWhiteSpace], + ], + }); + + // set form if action is update and there is data + if (this.action === "update" && this.data) { + this.form.patchValue(this.data); + } + } + + onResetPassword(): void { + this.action === "update" && this.data; + this.form = this.formBuilder.group({ + pwd: ["password123"], + }); + this.activeModal.close(this.form.value); + } + + onSubmit(): void { + if (this.form.valid) { + this.activeModal.close(this.form.value); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.html new file mode 100644 index 0000000..94047b0 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.html @@ -0,0 +1,104 @@ + +
+
+ + +
+
+ +
+
+
+ +

+ Belum ada data. +

+ + +
+ + + + + + + + + + + + + + + + + +
NoNamaEmailAksi
{{ parseNumber(i + 1) }}{{ d.fullname }} + {{ d.email }} + +
+ + +
+
+
+ +
+
+ Item per halaman + + dari {{ dataSourceLength }} +
+ + +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.spec.ts new file mode 100644 index 0000000..b9a34ce --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SurveyorComponent } from './surveyor.component'; + +describe('SurveyorComponent', () => { + let component: SurveyorComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SurveyorComponent] + }); + fixture = TestBed.createComponent(SurveyorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.ts new file mode 100644 index 0000000..a12d670 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/setting/surveyor/surveyor/surveyor.component.ts @@ -0,0 +1,101 @@ +import { CommonModule } from "@angular/common"; +import { Component } from "@angular/core"; +import { ReactiveFormsModule } from "@angular/forms"; +import { NgbModal, NgbPagination } from "@ng-bootstrap/ng-bootstrap"; +import { Subject, takeUntil } from "rxjs"; +import { + User, + UserService, +} from "src/app/cores/api-services/manage/user.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { ActionSurveyor } from "../action/action.component"; + +@Component({ + selector: "app-surveyor", + standalone: true, + imports: [CommonModule, ReactiveFormsModule, NgbPagination], + templateUrl: "./surveyor.component.html", + styleUrls: ["./surveyor.component.scss"], +}) +export class DataSurveyorComponent extends BaseCrudComponent { + dataInsertSubs$ = new Subject(); + dataUpdateSubs$ = new Subject(); + + constructor( + public override helpers: HelpersService, + public override loading: LoadingService, + public override api: UserService, + public override modal: NgbModal + ) { + super(helpers, loading, api, modal); + this.searchFields = "fullname,email"; + + this.queries = { + filter: { urole_id: { eq: "1b4701ab-da41-405b-9fe3-039a4daf0094" } }, + limit: 10, + sort: "-created_at", + }; + } + + onCreate(): void { + const modalRef = this.modal.open(ActionSurveyor); + modalRef.componentInstance.action = "create"; + modalRef.result.then( + (result) => { + if (result) { + this.api + .insert(result) + .pipe(takeUntil(this.dataInsertSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil ditambahkan"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + }, + () => {} + ); + } + + onUpdate(data: User): void { + const modalRef = this.modal.open(ActionSurveyor); + modalRef.componentInstance.action = "update"; + modalRef.componentInstance.data = data; + modalRef.result.then( + (result) => { + if (result) { + this.api + .update(data.id, result) + .pipe(takeUntil(this.dataUpdateSubs$)) + .subscribe({ + next: () => { + this.helpers.toast("success", "Data berhasil diubah"); + this.getAll(); + }, + error: () => { + this.helpers.toast("error", "Data gagal diubah"); + }, + }); + } + }, + () => {} + ); + } + + override parseNumber(value: number): number { + const page = this.queries["page"]; + const limit = this.queries["limit"]; + + if (page && limit) { + return (page - 1) * limit + value; + } + + return value; + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/adapter.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/adapter.ts new file mode 100644 index 0000000..994ad99 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/adapter.ts @@ -0,0 +1,75 @@ +import { + HttpRequest, + HttpClient, + HttpEvent, + HttpEventType, +} from "@angular/common/http"; +import { catchError, map } from "rxjs/operators"; +import { Observable, of } from "rxjs"; +import { + FilePickerAdapter, + UploadResponse, + UploadStatus, + FilePreviewModel, +} from "ngx-awesome-uploader"; + +export interface ReportSurvey { + abs_path: string; +} + +export class AdaperSurveyor extends FilePickerAdapter { + imageFiles: ReportSurvey = { abs_path: "" }; + + constructor(private http: HttpClient) { + super(); + } + + public uploadFile(fileItem: FilePreviewModel): Observable { + const form = new FormData(); + form.append("file", fileItem.file); + form.append("category", "image"); + form.append("folder", "image"); + const api = "https://api-roadreport.pisdev.my.id/api/upload-dumps"; + + const req = new HttpRequest("POST", api, form, { reportProgress: true }); + + return this.http.request(req).pipe( + map((res: HttpEvent) => { + if (res.type === HttpEventType.Response) { + const responseFromBackend = res.body; + this.imageFiles = { + abs_path: responseFromBackend.data.abs_path, + }; + + console.log(responseFromBackend); + + return { + body: responseFromBackend, + status: UploadStatus.UPLOADED, + }; + } else if (res.type === HttpEventType.UploadProgress) { + if (res.total !== undefined) { + const uploadProgress = +Math.round((100 * res.loaded) / res.total); + return { + status: UploadStatus.IN_PROGRESS, + progress: uploadProgress, + }; + } + } + return { + status: UploadStatus.ERROR, + body: "Unknown error occurred during upload process.", + }; + }), + catchError((er) => { + return of({ status: UploadStatus.ERROR, body: er }); + }) + ); + } + + public removeFile(fileItem: FilePreviewModel): Observable { + const id = 50; + const removeApi = `https://api-roadreport.pisdev.my.id/api/upload-dumps/${id}`; + return this.http.post(removeApi, { id }); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.html new file mode 100644 index 0000000..e691a0c --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.html @@ -0,0 +1,419 @@ + +
+
+
+ +
Detail Laporan
+
+ +
+
+
+
+ + + Tanggal survey + +
+ - +
+
+
+
+
+ +
+
+
+
+
Permukaan Pengerasan
+
+ + +
+

+ Drag & Drop atau Cari File + maksimal 2 MB +

+

+
+
+
+ + +
+ +
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + + +
+
+ +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + + +
+ +
+ Catatan +
    +
  1. + Ukuran lubang, kecil (diameter < 0,5 m). +
  2. +
  3. + Ukuran lubang, besar (diameter > 0,5 m). +
  4. +
  5. Dangkal, kedalaman < 5 cm.
  6. +
  7. Dalam, kedalaman > 5 cm.
  8. +
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + + +
+ + +
+ Harus diisi +
+
+ Jumlah tidak valid +
+ +

+ Catatan +

+

+ ukur panjang lubang dengan dimensi satuan meter +

+
+ + + +
+ + +
+ Harus diisi +
+
+ Jumlah tidak valid +
+ +

+ Catatan +

+

+ ukur lebar lubang dengan dimensi satuan meter +

+
+ +
+ +
+
Estimasi Kebutuhan Material
+
+ +
+
+ + +
+ Awalan dan akhiran tidak boleh ada spasi +
+
+
+ + +
+ Awalan dan akhiran tidak boleh ada spasi +
+
+
+ +
+
+
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.scss new file mode 100644 index 0000000..178eb59 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.scss @@ -0,0 +1,8 @@ +input::-webkit-input-placeholder { + color: #bdbdbd; +} + +textarea::-webkit-input-placeholder { + color: #bdbdbd; + font-size: 0.875em; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.spec.ts new file mode 100644 index 0000000..b6befb6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailComponent } from './detail.component'; + +describe('DetailComponent', () => { + let component: DetailComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DetailComponent] + }); + fixture = TestBed.createComponent(DetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.ts new file mode 100644 index 0000000..656d8f6 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.component.ts @@ -0,0 +1,120 @@ +import { Component, OnInit } from "@angular/core"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; +import { FormBuilder, FormGroup, Validators } from "@angular/forms"; +import { WhiteSpaceValidator } from "src/app/cores/form-validators/whitespace"; +import { ValidationError } from "ngx-awesome-uploader"; +import { AdaperSurveyor } from "./adapter"; +import { HttpClient } from "@angular/common/http"; +import { PostSurveyService } from "src/app/cores/api-services/surveyor/postsurvey.service"; +import { Survey } from "src/app/cores/interfaces/master"; + +@Component({ + selector: "app-detail", + templateUrl: "./detail.component.html", + styleUrls: ["./detail.component.scss"], +}) +export class DetailComponent + extends BaseCrudComponent + implements OnInit +{ + public adapter = new AdaperSurveyor(this.http); + + public uploadSuccess(event: any): void {} + + public onValidationError(error: ValidationError): void { + alert(`Validation Error ${error.error} in ${error.file?.name}`); + } + + id: string = ""; + isButtonDisabled = false; + + form: FormGroup = {} as FormGroup; + + constructor( + private http: HttpClient, + private activatedRoute: ActivatedRoute, + private router: Router, + private formBuilder: FormBuilder, + public override api: PostSurveyService, + public override modal: NgbModal, + public override helpers: HelpersService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.queries = { + sort: "-updated_at", + page: 1, + limit: 10, + embed: + "status_report,user,segmens,segmens.segmen,segmens.photos,schedule", + }; + } + + override ngOnInit(): void { + this.id = this.activatedRoute.snapshot.params["id"]; + this.initForm(); + } + + initForm(): void { + this.form = this.formBuilder.group({ + report_id: this.id, + tingkat_kerusakan: ["baik", [Validators.required]], + tipe_kerusakan: ["berlubang", [Validators.required]], + kedalaman_lubang: ["tidak_ada", [Validators.required]], + length: [ + null, + [Validators.required, Validators.pattern(/^[0-9]+(\.[0-9]{1,2})?$/)], + ], + width: [ + null, + [Validators.required, Validators.pattern(/^[0-9]+(\.[0-9]{1,2})?$/)], + ], + jenis_material: ["ACBC", [Validators.required]], + masukan_material: [null, [WhiteSpaceValidator.noWhiteSpace]], + note: [null, [WhiteSpaceValidator.noWhiteSpace]], + }); + } + + onBack() { + this.router.navigate(["../"], { relativeTo: this.activatedRoute }); + } + + onSubmit(): void { + if (this.form.valid) { + const photoSurveyor = { + photos: { + abs_path: this.adapter.imageFiles.abs_path, + }, + }; + + console.log(photoSurveyor); + + console.log(this.adapter.imageFiles); + + this.api.insert(this.form.value).subscribe({ + next: ({ data }) => { + console.log("hasil post ke endpoint surveyor", data); + console.log("foto yang akan dikirim", photoSurveyor); + + this.api.update(data.id, photoSurveyor).subscribe({ + next: ({ data }) => { + console.log(data); + }, + }); + this.helpers.toast( + "success", + "Data Hasil Survey berhasil ditambahkan" + ); + // this.router.navigate(["/dashboard/surveyor"]); + }, + error: (e) => { + this.helpers.toast("error", "Data gagal ditambahkan"); + }, + }); + } + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.module.ts new file mode 100644 index 0000000..f7ae2aa --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/detail/detail.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { RouterModule, Routes } from "@angular/router"; +import { DetailComponent } from "./detail.component"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; +import { FilePickerModule } from "ngx-awesome-uploader"; + +const routes: Routes = [ + { + path: "", + component: DetailComponent, + }, +]; + +@NgModule({ + declarations: [DetailComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + FormsModule, + ReactiveFormsModule, + FilePickerModule, + ], +}) +export class DetailModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.html b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.html new file mode 100644 index 0000000..c64a462 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.html @@ -0,0 +1,173 @@ +

Jadwal Survey

+ +
+
+ +
+ +
+ + +
+
+
+ +

+ Belum ada data. +

+ +

+ Tidak ada hasil pencarian +

+ +
+ + + + + + + + + + + + + + + + + + + + + +
Tanggal SurveiNo TiketLokasiNama PelaporLihat MapsAksi
+ {{ d.survey_start_date | date : "dd/MM/yyyy" + }}{{ + d.survey_end_date + ? "-" + (d.survey_end_date | date : "dd/MM/yyyy") + : "" + }} + {{ d.no_ticket }} + {{ + d.segmens.length > 0 + ? d.segmens[d.segmens.length - 1].segmen.name + : "-" + }} + {{ d.user.fullname }} + + {{ + "[" + + parsing(d.segmens[d.segmens.length - 1].segmen.center_point) + .coordinates.reverse() + .join(", ") + + "]" + }} + + +
+ +
+
+
+ +
+
+ Item per halalaman + + dari {{ dataSourceLength }} +
+ + +
+
+
diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.scss b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.scss new file mode 100644 index 0000000..211582d --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.scss @@ -0,0 +1,11 @@ +.has-search input { + padding-left: 3rem; +} + +.has-search .form-control-feedback { + position: absolute; +} + +.form-control::placeholder { + color: #bdbdbd; +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.spec.ts new file mode 100644 index 0000000..b9a34ce --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SurveyorComponent } from './surveyor.component'; + +describe('SurveyorComponent', () => { + let component: SurveyorComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SurveyorComponent] + }); + fixture = TestBed.createComponent(SurveyorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.ts new file mode 100644 index 0000000..1a87a2a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.component.ts @@ -0,0 +1,57 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; +import { NgbModal } from "@ng-bootstrap/ng-bootstrap"; +import { + Surveyor, + SurveyorService, +} from "src/app/cores/api-services/surveyor/surveyor.service"; +import { BaseCrudComponent } from "src/app/cores/class-templates/base-crud.component"; +import { HelpersService } from "src/app/cores/services/helpers.service"; +import { LoadingService } from "src/app/cores/services/loading.service"; + +@Component({ + selector: "app-surveyor", + templateUrl: "./surveyor.component.html", + styleUrls: ["./surveyor.component.scss"], +}) +export class SurveyorComponent + extends BaseCrudComponent + implements OnInit +{ + constructor( + private activatedRoute: ActivatedRoute, + private router: Router, + public override modal: NgbModal, + public override helpers: HelpersService, + public override api: SurveyorService, + public override loading: LoadingService + ) { + super(helpers, loading, api, modal); + this.searchFields = "no_ticket,user.fullname,segmens.segmen.name"; + this.queries = { + page: 1, + sort: "-created_at", + limit: 10, + embed: "status_report,user,segmens,segmens.segmen,segmens.photos,survey", + }; + } + + goToDetail(id: string) { + this.router.navigate([id], { relativeTo: this.activatedRoute }); + } + + applyFilter(sort: string) { + if (sort === "terbaru") { + this.queries.sort = "-created_at"; + } else if (sort === "terbaru") { + this.queries.sort = "created_at"; + } else { + this.queries.sort = "-created_at"; + } + this.getAll(); + } + + parsing(text: string) { + return JSON.parse(text); + } +} diff --git a/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.module.ts b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.module.ts new file mode 100644 index 0000000..464d92a --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/dashboard/pages/surveyor/surveyor.module.ts @@ -0,0 +1,34 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { RouterModule, Routes } from "@angular/router"; +import { SurveyorComponent } from "./surveyor.component"; +import { + NgbDropdownModule, + NgbPaginationModule, +} from "@ng-bootstrap/ng-bootstrap"; +import { ReactiveFormsModule } from "@angular/forms"; + +const routes: Routes = [ + { + path: "", + component: SurveyorComponent, + children: [], + }, + { + path: ":id", + loadChildren: () => + import("./detail/detail.module").then((m) => m.DetailModule), + }, +]; + +@NgModule({ + declarations: [SurveyorComponent], + imports: [ + CommonModule, + RouterModule.forChild(routes), + ReactiveFormsModule, + NgbDropdownModule, + NgbPaginationModule, + ], +}) +export class SurveyorModule {} diff --git a/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.html b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.html new file mode 100644 index 0000000..ddcd843 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.html @@ -0,0 +1,20 @@ +
+
+

404

+ not-found 404 +
+
+

Oppps, halaman tidak ditemukan...

+

halaman yang kamu cari tidak tersedia.

+ + + +
+
diff --git a/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.scss b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.spec.ts b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.spec.ts new file mode 100644 index 0000000..c00bc5f --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ErrorNotFoundComponent } from './error-not-found.component'; + +describe('ErrorNotFoundComponent', () => { + let component: ErrorNotFoundComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ErrorNotFoundComponent] + }); + fixture = TestBed.createComponent(ErrorNotFoundComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.ts b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.ts new file mode 100644 index 0000000..208d8d9 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-error-not-found', + templateUrl: './error-not-found.component.html', + styleUrls: ['./error-not-found.component.scss'] +}) +export class ErrorNotFoundComponent { + +} diff --git a/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.module.ts b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.module.ts new file mode 100644 index 0000000..900bed2 --- /dev/null +++ b/frontend-roadreport-deploy/src/app/pages/error-not-found/error-not-found.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { ErrorNotFoundComponent } from "./error-not-found.component"; +import { RouterModule, Routes } from "@angular/router"; + +const routes: Routes = [ + { + path: "", + component: ErrorNotFoundComponent, + }, +]; + +@NgModule({ + declarations: [ErrorNotFoundComponent], + imports: [CommonModule, RouterModule.forChild(routes)], +}) +export class ErrorNotFoundModule {} diff --git a/frontend-roadreport-deploy/src/assets/.gitkeep b/frontend-roadreport-deploy/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/frontend-roadreport-deploy/src/assets/graf-tes.json b/frontend-roadreport-deploy/src/assets/graf-tes.json new file mode 100644 index 0000000..1f295af --- /dev/null +++ b/frontend-roadreport-deploy/src/assets/graf-tes.json @@ -0,0 +1,112 @@ +{ + "year": 2023, + "statusCode": 200, + "message": "OK", + "data": { + "month": [ + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 2, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 7 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 2, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 3 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 8, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 9 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 9, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 5 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 2, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 3 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 5, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 8 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 4, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 1 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 7, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 5 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 6, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 4 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 2, + "Perbaikan": 3, + "Ditolak": 4, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 6 + }, + { + "Ditindak Lanjuti": 1, + "Dalam Proses": 7, + "Perbaikan": 6, + "Ditolak": 2, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 4 + }, + { + "Ditindak Lanjuti": 5, + "Dalam Proses": 7, + "Perbaikan": 6, + "Ditolak": 1, + "Selesai & Divalidasi": 1, + "Selesai Perbaikan": 5 + } + ], + "Ditindak Lanjuti": 2, + "Dalam Proses": 2, + "Perbaikan": 3, + "Ditolak": 3, + "Laporan Selesai & Sudah Divalidasi": 6, + "Selesai Perbaikan": 0, + "Semua Laporan": 16 + } +} diff --git a/frontend-roadreport-deploy/src/assets/images/batu_city_logo.png b/frontend-roadreport-deploy/src/assets/images/batu_city_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..04c5afcc6b009071f56b4457e3b79bf09f006979 GIT binary patch literal 3679 zcmV-l4xsUgP)2ZC;0008l`E*fJ^QhBl-BQ93<)+ zB><&R?<_U#8zcaxQ2+n`BOf3Dt?&EB$o}#G?>Impv1WkMr|lag=^Z5T@$tyV$K>PV zpWVHYkBuG$&k;^P9N;Eva^e$u5txjiv0F7W#G0j1;5?%uxW(s0e3JBndXzBd{{EWhc~ z$HvFS#l?@1tjgk^>l5LfMbbxtVmv|(ZT`_)D8j?~OiccLoNF!rG9ZWRg z?B$={y|u`_4vMz|qL6Bzgh;J<61eqIc-C!$rYzC$ZspJmI!G@yvX!{$4eHOFPhF$2$ zj;;4|W`#jR@!Tr**5=GcZAvJ(v37$j+Ki3}-Ptndw6tUkU*$AL!KG+-E<<1)z&dwr z%r-6{$4J*X^OT!)HR(OQUQcLSCtoMDy-ikE)7j?B^TlMg)8xY^Z0@X)9{>PSyC)d*d=L0Nm6JDxdeJ>Kp1w&;&9*wQbn;; zx>;Kh#o~0cde|SF)?EezFNza3ci3e+><#Rt?D1)YJZW_918qVMUw(O>Cx)SGx&ah% zFjZiaRYWwGyWf=lqee>LYle+&5110BOc>N^yS<7fSUCBzJRV#(HcCBCL<;47|a0B=eNY(iM?qA6C3#pP6d z&Bd#x3dDoB(U{-Bkru2}N*u9bYHU9{o{rVn(U=n%IM!Giq101(xTX+d`)!Oh;K`o_ zYH5k(W`R>#MD?9-~*H{fg`c^+*(N{SB^i$ES)t!DZa^Wzlzj6j6Ks`#RNEA zHqqnc6^g2B4NKzS?4{B6aoW1I-0I9%Kv<}Dm0 z*)HuaU0_RvBE?!tfg))OMGh_Q7Th5aoDej)6I_D@2=49#3l`k{Ki-mV-EzyRXTuSSM_>fk>x)xzbjq*!1+mp-MWScK67{5BX{VLLomxaZ{;ItUG zp>DLRe%X>0DqpzI>e9fRs^iKPv@u4p3vuJZ5dr|etez!qE9t`Jt)w`sbguG@f=Eq@ zrdXQmU0Y6NNKJ;?Rs3X}8&Z4s?~;_Xnv2w~kCR$55gHCwHQ#NlLJND*@T1dU=tB7t2V{ix+ai%V!($4txlSnbNZ2$D(Dvdf6Uyh#& zwV5uP*)O%PCDB$HMJ{|-o5Zmz5wE96cm(~e-M(x1O8gjZ?D0n0kwiLJ+kmN|v@Fq9 z8&_SIE2VVsc+f-fIvio7XehLm*4B2-(@`9?g~Hx&*t@~u@b*;kOyvQM8J9E}^>_r9Ssy}O;G>}?lxviwd@Fxbb)_N^VJ{U(^HTahYOu6h6y zuR)VyCk&%kiPVKsTpWNR5sy*3+9wzslxjL-5lOQSzGPeVlJ<*Ny~k4yk#9tb*crOE^6t9uYI+Ya#10=UB%Vsm|o7T`=PBKdpwPxKl!|B;uuc0*4 zl7Z|1+xNS3iRyUVRX2vlL9uBA9wb?ETdlIqW;4rR+h;3hwpmNbR^G-702785adv?I zBA%7%b<^9JuQn;|^?Dz89u3_9Zn<1JUgl-1RpR*?44xMR$?SGxAI;c->jOqCUpz-F zV<}_N+caD*ochptAed!y!-i&o-+X(^(e>rkMXLO<8(YS1+#tB!R$DpQ%!6YIv2+lm z3?y#L7Prw|wM5gbyi~4@O?C^1#~!5`J>#})6a+!Gn#}@CFpB*lHNlo<8-z$)w}O`% z7B44DCR?37<-ap&dm=ZYmq~Kd`b^@;-n|Kqv5zs(Zhbh;s2HxXZtb_w|L)^|Wy z(2S@U0nTMN7%~=ux^`_FT>v%sx>E^>`n6lGT}iXGWemqYHjfd8#UCJKRwEDqh7yJo zV0Bu9AycQX#fb|5pi#qD^qc+tsLLOFdv<5bR&yz_RxKx=4MbZ-@j};D>~_89(PwUk z7PLwl1A+;plo&i zEa9KJ7-_QT{@y{;Jm!`=&wO={^!KGWSx;Mc` x=)aIR^N}ira~u8_=`v@=LH;+=W-|N6z_LtEMskueG7x^lzm@PCZz29nq=Q1vdz?_C}ap_t)%Qrj4ezmgs7}p zCnaSaWNU`G-|2Us`^Ww7-hb|W9v=1io^#&wo^#&iocE+$yl{?08nR)Y-0-6W@B62>=LM(dzNP1*$8FqC9JYc7F3pwI(h5P^ir}T@f6ekfBy?YgSm;BQM_E_7zzvW|xb_Ea zF9U%X6%xubW9GIQ&UulHJrU-&ZX8kR0!#|+pCnDRvScEg#+ivb1dT{uoJ}E=&`D@U z--_TBM=fJ(p`n1tM>jL}C?+5Ypa6LfTiH?8&93YPaNP&(4=TpK9USB$L?-GsbCGsy ztpqBk)Pt4m89m?yr^v^=$Nz|D=_#Vxs+!7vfM%w$K;*0YYG%06NS3hUb(+`3?E1KY zbYMtAep~`&?dHlZ#8x%vX7)AWTE{T`khH~`9LlqT8UoRZbx0nxfJMlqyZ#(z z1?>Ty;IzN%d_HE*1~(dH10Q*_aXu!9@)axHhgbR?Un^N9S#oC1{OU`a5Dn;tSo}#O zYF33#h$%jY@J;%#B6?~0?BXm`=zreYj-P%{+X#0B!eGG&NbYL z=i6*|FL*jPEt=y5h~gXkR5$d5W$ktX!Jd0!PS)Wf z#d2TL3%H9!9cr>V8gK3{3ET0`@hCmre{XQ7&bkDNx}}L$9!|#3_*Jxh{I zbe9=!LHGinfqkjMjf6!zjhQ(De3Lg`r7m*O&Kx)ObMZI}kn7+P@hSo9%}cpGmMf16 zD1UWwTuSfRUtGRFyyezD%i&JHTn@77s}Rv>VfuMeMdyzzH>5Us4^&qF<|3c(*)L3& z1)dt6HVc(L5>Jvf>A;olP7AfJbCj7pW%EKLoK5qlo=gI&nd`Ze9qUH;wnhB@0u=MUp$FNxu2W4oxqys zY^*l|f2KjM{?6{X!nyoQ3-d@S%!5cA+Fx!PBzF7U$+INSxPnnHm$U;U;3xGyLM zIb}G$)_*X}2da^9! zhTo69AAYL-$$|{3(oqRtbgCu|Y3F-9Mm1vI{yyZS9Pn;P36b9;wRO_#&yD+%GAuGN zgY(kW-W_dY5-2n2YZos6DxNvWY&E>{ig2y5n8*5r##nB2jE( z4*}Bi)ZO2`;=~5Xp40g}!b?__+U)@>(=8c!JEg%(K{lfb01#w#byB+Wo4w~A=gKdw+egL( z1BZ(PIRyHI(FQ)vmYX+_<;)Cd&QTS>Ft3=%MOaQNh+A`<^-aUi=Sg5H)ve7pa(9az z90ycA^OS#o>RHyx&#_1pL-}Y61O3iyBo;!T#I8=(R(rdc>Q*l#j;qILhP{Ag#^X(^ zhUyu|%S$Ic&vhRjRbp6}o|Fc>Li=D2;mtC~54#yUJhZDskiBw+?q`?qHeE?@N~@bT3^Qy`2LT`D!jxz7;h zdef(nAzrBc);&$=zDix}o9{tP6gthSFw@7`5JPJlOZrZ;`nVk(81->k!B8AKspe*H z%&{=Do6e(*Fi^-ee@raqa2^PH_>$+1ONywgK3j}=x3ek}__0hbLXfzB*$(c>PFn3t zI0nO8I^L7=0v?QBYv-N3-fV07iyG(ro-Bg{M;fVCtPA}b$$ah7DtR;Ji>#^)O+vfO zNas{bzQo>k$ICn#Rf54t=Z%JZv}q>!h^IxtOW`pVgtOdGF(JC+yy!U2G4cH{Ou{)# zl9}CIDL-&5+hdSgq^eN8h@|e>Ux!Nzoec3EM3qix{AnYF9f}gXg9Z_O`cmD}0hMMk7q-$#tWAyg&=L zW)^9NI?WU)Q(DKfAJ{#3vsk(caQcBdW+xx5QZl@F(jGU88VFYbgJ@Lp|2BU9kAm(0 zC2{_uqG6gky(TT$p9z4bpd3^df1A2Fgqov@({6GfO)w z@-HRo=Japwv6q^K?0`PQ%fvO!%t4_!&V=^|&X*9Ejne^VxmVY~zY) zh)mmIoIP|2shQ5OU3jK9R{KeN=T*4b=QV@5uPNygYROiR#*s*P2cWVMy!--|dVhC* za`#)Gw(X$m!nw)N<=^N@#Kp^v)E<0bc-v0f${!oRR|ROCm`3f<^9w?)HI8@@0^*DH z1|;QJ6T{`6B>pE3#yeO3`E)iJB?x7BB!BV>t~doxPpEpMgyGD$nnEb|T{cq5qF9XY zi;9G^+3LXznOK1}4T~KyLQmIh1QrmahMWen3BV_|x3;{{AWHj_euU?DrGIp@Di#Mc zI+qGKMEwW~Gn8QkW=~nf(y;t~RuEfO`NymGw)7Z8si&uFpdSul^!Z-9^DkzujVSw@ z5X`!L+-{~NaXn{;$QalRpx^e#{jM;40YjgL$UgTXnlNSL2DB0B3HRVhU&rKgp}kq_ z9p*caZsc8@@J&gVwi^OUMrqSaZP*O$92F~h>HfV-`MQ`j2LtfXEAIwv3cD}O;dPr1 zfqZ~%j@MQ)4f!ApPG(FNr18(wr77GIaT^d!YD$L~`U;j!fpeTsw7Ww?z-`%%uk0}m z5w`nB1G?3Yziftv==uJmc?==~Wd$_E&G#Qo5s0)4IOgu>O~B+hMQuKYOV=ScRgw&% zU7Mz#Ws<8coJ|Kbx$D%WcDnVyH>c!q+Q&V2pY)@sf41%pxHE8<9JGpiHd&?&Ts84k zKT1Z2$iCXtpu6_=4j<+8=Cu4n^}7(m?{=T}1)*)vQ+wtSpAsYaRdFaSHY zUuj>S^#A*kWJE2#CAx5Zpp+H3shid%Rx%r*3d-D#6RgWgnWt{RT$W_(P^>^djcZEA z?|UfxYL_3>kE@9FSI4{rVUaL^YR=JIXPX-;bY@Kaz|_j^Qqi^f(C_nHuWnA9nU-eM z?fNp6-uUb=_jA(s`7CWZSH>V6Pc~~gP_DlQQEUqwyxfFPo*DJBCGx}c{$43N#2~%O zBtR8rsPn$Fwp@@}lr2Vd_q=y==W1B5O-4_bbQD|@@2O|~9TefmaH}@o?aKH0(*-Zf zE)n0S1Xxo$jS>X@F;$&WL#25ESBr0zdw^qCNE6?ttbF+qQs$nPWL1F(Gg)XWy{taq zh8B=`k1jK3a_b!65(<2MEdB5RbF(*mv38mJ&{fZ3-$KFS;y_Ht@N(;Mma4?E?s z2%!eM7s;cXudKFzs{8sE=I&}jAm)8+f7QSJ%Q}qO0P1jDjJPMm{Mj%E(OKY=JqAt= z4oNJl(4db|{}#Tu1R=w8*kkT9G8qxAi7$MTYAhXnDq~qn63U>*E*6JSE&0={!jEgV zJr!u0TPn9|rj{LV6(&7O4LDALkhqP1oewt;qwFF`^Vo~uUWT&~X#+IS6$`>g zLSyR6aUr7)(0+LcWvGySc%j?rdv)DD56#ccGr!K?FRB~|y*MI73|XGt-(%&3o<(zQ zXUh-+N87<5P^F8Pv3gXf%%+(ZR@+&Tob+~$qZ_w)+B~s3%?G$zYx2AH-dg;Y+L2z; zxvMkM6_LWEbXR(2v;u}Dk8-++FD9f+AddY-*DzHn%sr){fOW>WlO`mDsD_2y?gl zxytgh;Q|rWkjJL9UJq}*%%P%CuzrVQv79^m(P=k^(JqUPxvo4H3uBmpNgGtyjkLzi) z4-~xim$t>Qd|cn1&vpPrKe)Y1j<>hN*)k5(>$`7hiAYi7OFy+ES@7yNE}BKZ zl<8)9vn|<;`XnBTb-&X$bstc9=%Cl*0`gRJv=KTh(GHyJZp-E@cot@Wmwf z#GQRgGp*g%Rzl}JoZY1&7dQ;+vzp!TAd!!TKjLnk=OkjXZ)aat2#fsD`OskQ>OV30 zeTO38f!UgKcAZx+{XZd(_*>_tcnZS}~Ss+jaom_SxPJ!aYV5?6ZV z-eHtb+{%eNlg@G*i^^a&TERKp_t6rRl&XBHYsIL3Z)R^d`}Uu=V9Hz3@AhtZr*CpcL|MlTynA?xe z`bxOH48BJvoE0?9Volo2hVp`FePutT@6g-ilGr~}*4&*5<>BWUOQsqwD9L3T?B=?t=iqK4yL0mX<=n%SMWBRDZ_%2$KwP0lotoC)IcL>`-s)4N6c$8pnKQ= zI+_P>$T978`iyR((32M%^1MeRc>k?P1bJZZ;zIlM0H@&j)EQ=(K~P-3So8@ZYq#EB z+vKf%OiKO42{6q?%G?p}N?iG)>6z)g3VDEx8WJYxWs=AJPk06?RAMS^cut+9QRPl5 zlC*b#cXQM(90J-vD<(vwumO=6JsTcQf2lCfADv%Cs4M?)|G(Xara32vv;hRoH1Rc1 zk$W@E?2wYaYB){jSK|m{!~5EF=t&5=8M^mE9@%rHmF0nU0Q)!npRS%R-5u}d)CDK6 z%yfln;fI4fudWuqfWA_Xn2926g;P5PVy>+g=R)Lqf(Lq!rnl;olJ1h8U!%4pls33Q zg}CeIA=oZyC;KlF6tuo>#C%l-b%zfqZB&=GVEr;3EoQ;lpjY>O60fJM=YUCYW}0E4 zBnGwfIzneI#Kf;ecT2cRJX*Gidl!A%N^Is9HMZNCq253Y{jP8B5KN_IdV)L+i2SavV1_}#X?NZAu3A_Kl9eLR^*)`>K}Y_CA|P~u@7OEF zV66nuH!L4)HnRADQBxO=bzyzRnB7Ty+|W(!%d%pQYm5b_cIU?tImsP2m35|ku^wjW zO25+S36&DN`6xct{rtv7ivUHzjf3TL3bbG>3CTlUC1r@~Hj{O`Q@tzh_+!Ur*&*%* zyYu#ln*>S1dxGiZB6Yjxvf5%7#~>w}do-r#$FSGvPoE5mNi1))lpgy^g$+(Jd@IM& zgOz=;CxT-}$!qm@NqozA4)PGAej&b~bBN!Eu0_{Z%oNm{!3N`3-}z=AMhR;EXiup3 z5yWD!ENBnF0LiLo8=1y=BR)N2Qlq!quzu-va{M-r?N1i0#B1BavKNKV~;-ckWik0Gc>4hQ>dtlcGJdD;ecUWHj(4!FlZ42f1?5jb(vTyGma z(u21n91!-ZAs!pcb6%Wb_Fuh@`*fXa_Z)qG4nVqab{$U+7jS6Q7-&mAg zXkTQE3cZ}>=V0qGF9a(oh=v>$D2ojmJqrBro1@#XXH#xRLE=8o`XPD$cciGm-f&>= z(VmQMxEJm>Hgj9=l~Y$6QGUEudy>4g_L2%UE#J8kPvHw=C)p9Du{~#EU726Ycz5w* zw@IHHj7*B z!ga83yqgz%l0uHH>f+ZRx@pUa{&v3Fq+XxtQ^aZP3vR8^4$;NdqBb(q6bzxiD+AU9{(>jko+`aflETy6*uAKQ^xP zSoOsWr@4mU{y_cOjqYc+{WjmZ^FCZ+?>;rserDC>y&+*TvP$ZH=r6in0B+no^MMeH z?K!olH!nWj;Zysa3w!Qk`a+7^Dl=a4T4gbF0XyX`B0Zuj$rSW_v!j9Blm4CHg}E2+ zxkq;^`=+$V@-G9w@Ck5_BlAA$qTVljjhKTKi%d<(ugliHE~ zwMJUkw9aj6;92;b5ru5?b42(w)BG`&sD!F_Z2`T&Cp{CazwWREHTTbnX*a?Irukd# z--Fu2zhi z8(}bAjrAyb!LjaCsb9u9mo)-+TR--Ix_#;^K0Pe|?KJGSg@o=7=XPRt>&Z`y5`hBr z(em{*Q(*mJUWj;z09ctB-|e!HekEM}UmJKf&~ zR1~&i<2pSUMUd2`u(!b~Bn`s2uN#_&?6XiyW-))cM1bzRe)69L5i*Cs(d6e^-{5<2 z8^#TXDLIEM3rW@m3f+#2$pWO?FDlwesq^+v#QfXSuEu(`8CAa7>_ZU&z|~IJONX~z z=_L8JICO`3{A@s{47L@X%#@|Nc(l5UU&Pj|1)Ik$u0?Q#PaG^sj&42da~3JP7TN#|nXmHZGbk0Z|3X^bH@=dJuC ztG++WRLkBm^IqczmIIkd&cy3K$WL9M6c(?KK)GTWpaku-nsf15;uy#C7MRSay;k#L z<2^S{TEVKRrb0@Jir8GwcPioKnA{2#Yo4`Dr+hMrW{f?mxsOPEADuv2VZ7UwtRtyO zWhK`4Z70dTIS~8+TvXEG=(LEqzv@9BUj&v)10I(X%rWMDTy#0mP_eupaZE`9JO-*Hyz5#*!}08pDO7w=1iorFFHo5o6TDzZ|5-FCJbU zu9h=RZOAvRU0kv2WUhktdRE|I)i|&3#j;YFIXtl4N`@+Vz6ngWCz8hGy!B5-&(+NE zXx?gBX-r*+l%EldU4O+=)clzh7!!nEc>dS)lA@HZl|s}QYd3Mc!cTz0Mk-)-_Xw#) z9tj9L5npdJ7woyw4^77~paa%WF-3F99{qmWV(=N$sH9^Ph@Pp&*!OSr?sn;KD2B~B zaBFUG{7>SbvoW?ZyDASSlc~RC-3vx9jxcqE*Khas1~q?PcUtm}bLey-7Et+PhmJRk z2z&%Cb}n(Y0hNDmwmu-4-7h_|kf@?h5*?!m3qv~1^5)uuJ1u9_oLq?oU8%ZD@9BrW zf-hKGtdNZtZIAkEAnvXoV_U(7$HjJ(+3!wJ5ABQEicW=w{l!ZX$Yt(xfT55Z`-TbH4b@f8;S@i%H?~ zlB@;4|LDn=pV>x-UOXBsxc<4Qt9RtCNBy4>jwQ0^kJhsoVTqv$Sq5~(JH_*#hw%*i z$hu(P+Ox}e6PcvcZyL6{0sYrG!Y7Ct98207TdvJ#IvR3RfYN3?uh%kI`}yXq`V!tb-g;$)_DX`IPWI^5B+`88J0%M=;>* z6dDqbXF~P+Nh-7Ivg|u`f4^WJQ#Es=+1#7;)QN^Z;s<*0K3@PS(ONgVRuBni+DpJH z38QwxVPU#n$b$_|p^YKB-k0~lCDZF}3OKUMr_N}wzzid2ATy4hR7q^Pg4KyZ0jcuN zPAmAbAEJoo?pT=$fS|IF!~Q0fYN-SA$om?Kf@GJ%0=eHY9X{Ar6zM-qFHuC7&fwjG?u`Mbm6to z`wV~65`?Id^y%|IoA|(V|KzYdQQ9J2cmhg2n|IUJI&QW1M5U7lG=rn=JzeSMz7ewGdA2ma&;Mq(s!OEQ;&*G zT*(oEqP^*bL2DBzcPDc`pyHMAHzi6ZHpCb;yLp`G>8aGVy+?(;yFRj^`X<~D(bf3( z1!rexe`!44HCA4D8W}Zw%f}_x)!K9ZfN))7vrE{RGR2g3v2(B48H zOGSS!8(hk3D%p4}sa@5C5(cKY0Rn((v4R(*H0p0Pe zX|$JBwM#)0Vgm7_xMZ|+gz{#IJWg_SOmf+{+Xx_K(Z$u^(6$-^2LCPNmLB` z3Hf=Q+hHsv{gD&N_aG?TV_7^)B6ApDn5Y=sHg^vpRx#cJL$&9IaupX5UFS z+_=O@H4!*LOJqOhe0PukzCi`wCBZhAd+0l|y7Ta`*xO5TX*A^WGi=NNLz?DOC8-`i zt7AZ?()e%5GC(20mh^ilE15sCTxY1h7~ioY}~XvUZqZpRrlkbbvYJ z#!&hnas&2f)-_K1bK^=CWnSGoI`3(h(p&551R-Yj9Y&iw-$s_3_p<`k%SSXRuuSrr z$zhKq=-elRXWQ&xz`!49H)T*|8p6N)5UDn=+RfKEx$E~dxR=@EoMivsrUV~MLdFGq znwW9G;bGW}3x;g28Dj5CkB-AEW|BLRzGAr23o_r;4OiBwCartZyl2<<;)(t;V0%+k zGNi=HmjTTpzLyVuEkmOmYQcsL>p!<=K%dgPv;T%i4*kN`qXAh?A0j?W?7D*~AItGb zI~51iNF{!HH%>UmIS#f%rDu0d@_kYoQ|7%OHHx54YZa2Vp;&6NynyE* zcQ%AloAtVCUN7f7g1VY-YAnPNesWJJq5{f}U3@)zV7qA7{7DWKsq~YRSpE+$@;N#8 zv%orbOhJ{-)#5RN1duA~ea_<=Rb05n8BTtg8>|F{Y2RH4?b%<;C0w%W1Xsc{SIc<8 zk+%0q5oEsKP{Yu6gyzEsyI{+L)~$W~;wtM7e(DM9yC(z4+ zX2g8oY)wQ3yz+w;1LOAbb9c~pFuXelR4Sa*wAEjpF#`dJ5yr+kDK|zXQ0GGFN7Bn!q~EfLpF_YW6!;bY!TXLucP<6=oz}6 z_Z-`F#T`a*DEhMX(xsVfgRTXnX-$CHGwqlpu*jPi3^%x$`%@8_+on)YK0!K1@Tc|T z1!U+%@G1|zz1FgM=kE@1UxQJz@RNc~bBQ=gU{Ju5vAaZf%&<^!oDm*LzY2>_Up|+9 z9`{9yOOWbZ9(jzAyh}G{oM-DD^3xftLf4IZ1_5>{isKApjKGuN$y8co|zdfIj9vT z@+4eTILyV=v1dO4yXl8RmX{^Neb|O1ELL=`KI6A3e z5O$EQO|WAQPN^pcYku$ z+(DwMn-%KvC~UE-c+N?^9aEJ5s~LJTTq6hd%-^MzTqp}%Vs}GgaJviUwOO(R)sfPj z$RYG%a;0?3K;B)}FABe23GB0msd7<&6+(p|6uEFYct}8;`x7}al=YqX+p1|B8kks) zrFs5+A%Ek(Rt|7=lt&gZR6TKg*3PV{W~89Rki%Q$dt4J~qyR?X6j^3`QlDTg$9Ge2HVHd;2jh@x zQ#vW3o=N6>A3VyonMe0N;{vmg<@Jdc@i6jJ=4G91bHM9G6P_*A+97<)YJoj_EqNBO9#OFlLf1VY_BdW|wGZtMICg=e($7rFTR< z1n``{Y=@-135>njrQdbSu1ftdOJ8+&=K6(x<5b#_zwEgJRDJJOyS+>_Y5$ENk1b}B6sH~S7FC>3*35nXnu%9FGPtBPBbvliATFITS$wZU4cz&W zO>Yo&1uagyiSAy79%)tKba_r*g`k;wp1-qtrBi$J?@xq?&i(SuUFK!MyUpPF8x`*L zBXIc(A< zi&w>`feG%HE8(e@QD9f@N+BxVM2A@(xpqHp1XFyxs=WVwDiRe?x^$_kUYI@+whBIx zv=U62mbJA0xqr_0c<8mHV-)_);Z;$_naq-O7xYK*K=4Smx$rdRtH-5tUAo5NS`S#;$-tD?JF*Ad`Ibe?_x+t%H4T$NjCq z$6bx(!;lQfo$Lrn@a)JtAe`UQSkDR$#N_5&V*`=W+>0AV7zu($&hD}#YPrq_!~G+4 zRbyrxsFmA{GRKX^Zez$F=6~(sefL|yz#qdvqMrGk5jxDDnyZYhW0Ls0g5 zZivEVzo{W;prf+qNg03v-EPH?hbUYrN)M*V;%NCdIY}W*U4LE)WgYwxGH2mvaaG}c z;+ltL%g4IN=d~r`H4GL7#))`uqQX7y3U9*|w zf&p}Z&xEQQ$sJzmDsG|k{91C`a1S$JRGq~SxUssP+~TOX7Zexv^jhV8C!2VM0hUco zC*~9%fMHZKF#ST3=gsSm(;%0#3xdcczG~WaAtSL-3k_?O)c0vNDAUeuMZsS7}-q{4>$19GIWsQkjX{rl}(%o;C4X4}E*jPsQZ4h!$qi6wm#L>Eg-00000NkvXXu0mjfE&LEL literal 0 HcmV?d00001 diff --git a/frontend-roadreport-deploy/src/assets/images/icon/marker-default.png b/frontend-roadreport-deploy/src/assets/images/icon/marker-default.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae4d7ed6310407e01a95435c43a90f51ab05ef8 GIT binary patch literal 543 zcmV+)0^t3LP)fd?oIlnDlyKnzT+BGRTmNC|he zk;27ElOXt{Pm1lk`{MKY4DiP&WU#Fut>yO|IY{HQN`QjyAUBbctvSedWPkacSzsI4 zRs>ez4tcLyD8@KY-~(g{(qRMX!(vA(1-6hK$PN;rRQ)&`O<~xE{5V94@B~i*{e4B{ zS*v^9p zsL?|{#0gM|p2F{NjvNI8o}!?E<;7DtxJrP~hx~~6s(KOag37fC*+3ojl~2Z%DYb!A z56Ti`o2gwB-eA#JR=o$b<11k0nMNS!DXjz%3VsRfVABeOMd(cGY>g`B8aYV{kmb=2 hM5q-w5R;OB#}{-}XQ*+nh)Mte002ovPDHLkV1mLl|f literal 0 HcmV?d00001 diff --git a/frontend-roadreport-deploy/src/assets/images/icon/marker-perbaikan.png b/frontend-roadreport-deploy/src/assets/images/icon/marker-perbaikan.png new file mode 100644 index 0000000000000000000000000000000000000000..720a48b045dc3db0a43298d94f6e6066e9103bbf GIT binary patch literal 654 zcmV;90&)F`P)1_;X<#yQdADS3IZ+&2~mj`;2nyDDmZcBNH|a~oG4W( z2k0S5C1TTf?PRCBY9npdYuB#Sev)O+?tb%)XY3h(GX}|f5FbDAz_O}G29L1wN}bBUPqyT{yY0g;lz&Zj_td-(j3qpn%1AtMll^GxKOonOno?=MkG z4r;a9=Vr6ng=BCpi{k6zamy&cCV0c5$+G<1-d-908{VJVylB9GwuyQ5jMYGs7ODn_B2RDqb|J{Ztgyz)jBkX=C>;4^2`2U z|Bkd58w+1bCHKH2U=gyLDli;Repe`6G7)7u#PtbIfMZ*`sy&k;*|a8zdvHonLVl1J zZ-Z0;35K`{r$ouI65NDlxm!0gf0Xui@fFI2Of8dERjlJpX`h9=}5g z7H`5~+qi03xDavJiX(+fI5vY5Xe_;jJ21h$Yq%nU)YE~r;P~|P3s!Y1rW4+uMLp)2 z_jNR0Ie?7))akE zw&SkMds@y2?@C?9fxtHs#4&zBgR`gNM@bTSt~$}O&NdcVP2QCviyHih38vCcwQ|@R zwdsS7OJ?MKvclgNt+=Nn5R<=dBnW(LSR?u&lj$hic!NF|2~`3mMN4b@3k*X-%+T7y zCOjj7#4bYvL!uC6eKWi0^G~?f&xm#f}&W(<4K+D znBNgzKWpO8VKH)l`f|@ZHpWW@_*)*_7fp3yj}3nT%yq&<%v*>^00000NkvXXu0mjf D_{kzz literal 0 HcmV?d00001 diff --git a/frontend-roadreport-deploy/src/assets/images/icon/marker-selesai.png b/frontend-roadreport-deploy/src/assets/images/icon/marker-selesai.png new file mode 100644 index 0000000000000000000000000000000000000000..4c6245a0e9897caa23a8c9aeef1de0b4f8af76e7 GIT binary patch literal 644 zcmV-~0(CstEXN(iSf{isFb#NXb_F4 z5$V>{?9R?}X0c^IbXpMcc9z&kQt`GvHM?&M3(UWN z(uO#0LkZYKSaxCV-Q$I_4Qo_nRL(zP{$_j@khVs+)=t;i0_Q zWoeBF;WZHSa!K;Ojw!q)t$m|_6XP5)Bl(K_d8CZQ2UsA08`9j!=29fC=>jP_fmq8G z09F%n!-+^xHM`C{Z#L!Yj^luzD`0dPEMP9?W0_~oUqK<7I6gWoPa7O&`{akHM;PcY@ zS5EW+N`f=k%I@AMpwM4h>&bp!XrL&l-2UP-W4pF~2bZq9o5avMNHp>w@ZC*YeBwlF ze(%)&4)}_#0sbd{Vft$d37m+8-@-P<*wEM2i>dm4Z>QA_C)F1o`l`-^WqNo`? zv?1|9TSFYPKdpeQVVk6T31Sm+co3&}bQX|4iJ_W1EFxZlyoSxG$pZ|qANr;XsIX+k z5C{DGndql{bf8wyXJXB$FrZ~7w!>xJk*sbID6*}w_iPlv57v!Y5jf)WFzjcn;omR4xf;i0P! zqZr^5W?aNXIwbckb9>Q&p5y}FxQkX3E|N(TIOls;jRo#u{;MF&FLnVBuY8t`j-zng zhJ8Ewx_}lURkVTvmK{w|#g|n;VTcB@BjKA65NCMj>j~2$D0Z>c8wHd|m1RJ>T__5i zYb)3Gb0Ba-N9#orA#ba>R+= literal 0 HcmV?d00001 diff --git a/frontend-roadreport-deploy/src/assets/images/loader.svg b/frontend-roadreport-deploy/src/assets/images/loader.svg new file mode 100644 index 0000000..d2994ff --- /dev/null +++ b/frontend-roadreport-deploy/src/assets/images/loader.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/frontend-roadreport-deploy/src/assets/images/login_accent.png b/frontend-roadreport-deploy/src/assets/images/login_accent.png new file mode 100644 index 0000000000000000000000000000000000000000..ded61bfd2548807459cd5b5488bc937310d72598 GIT binary patch literal 7304 zcmYjW2QXY=*A{{xI?;uQ5@MBLg&|8;euj-yfzqSFo{QxB4I zPgM+2L|9OD9GP;^)qmVEaMFc3DXcn-NImGm{7dUX9Y+#c}&#*TT~sNpA!Wq1(hfHZ;m2U|LN}=jS&t1L;kBpRCc2N4U%7Zpk^|tYCPCE zKY zkAcOgl>H>+Ze;3yYTkYa>R(YJGK?7@CswIPl#sap)o5uS)n97#4bZHXZJ7@;NXp zEJXK|@I~L>EE!ucisrk&xsZW~W*C!XkmOsaLr9KgWMsrdMM*{>80yjyMq@^s4w8rr z`^~Ysx>xB4goBY0-@-{9u0MTqVXOxjtFJG~%`h4pi?*-nCdnru;WXCKP&EslS;tBl z4%}yWz7(-U8WtdEVPMaxih$%y&D)*C*PZM(qWcWRKK{ z!D?}9dGJq*8CKMd)*8h@C`%j7!{6G@Sx~VbKSy;Vdt*BJhtuD9eP$d^uRg7nQV!|= zTJVJh>E@@qP3jaJFC+n+im*?KLxg=EY^!BU)W!))1d6a{-E*wd)wWZuAY}YBua`}C zPr~#Syy$#k+UNeWxzL_^&^Hb|}%XU?@7=MkQHH4;woGhai@iPkXKr$Kgv2gS@M9fca2fS@QGHkOH_A3gSj`>iK z(wV2Hiqr;<=9^95fLf4*_Gd|$6QdFe|8ZAeP?>2EPc^NX9(m;OR#zu{BY% zA&cJHc7p3>qd4?(=o{-^Fa=%{4RFj^Fyf`#Q*R8q`1eeA1Qo``h)@rZ`Ff;tQ~->| znztBe4NTk^9r>|mdNQS|2!e)4y1=;)O^>VZP&%090?UD4$AGuzl#2oDcH4XS2LF!S z!H8SKd4tQpjOeGpdx&p+vINSpkIP!=x)&Ar`POS@Wg8F7J zf?z_TBljT8*-pI3L|v(LjI1d79t0Z4vIC}Il0smEE@&ml^(-bV-uK$S&|`;4$EaHV zUuccHd;p$C#4hq8^~^{CRagRuH2Euriv=&RG6n;Z_f%l4TBUmVEtpWO_mjePoA)(` zCZ3-7P?b(rtGt%A4}(EJT)1{_F%ee@=#QzaXN8=v~rx$82k(bK|$okzelOE`bO5x^V>?Y^D_th;%C4T#F{KrKhY zY!%+8>DkeIWB)y)kulX9p0d+?WqV$!i~lz;W*Hw_6U^q3ZF_o&vg~0X!A>iHJ%RKu zOVu-tVOny**ROvF+3YYN&y@#4qW&-?yg(pN>$fi3C@j$MZCH<`q>ggdp9CnwZou@< zk@p+D3)}Qd(QB(LhhdbE3iMjlI}lY|e$D5#VN7x%dta-LcoF<0x;Jj{S5r7Ej9Tl3 z=;)s|-@9fhH{Qq$nZemFeGdOJQJArjDdjL`B|2A@d^yH=F_BQ3C2$I z&Zu4IXu#cpRe(A)_Cc2QSe>)xPit`FRI2^fZV{`!&xu4 z$oku-)5_gO!B6{U?YG{nFu+Gv(i9TIXXE^@Oa-REALBwGvMN|I#p5*hoZAgu@iYqZ zd7pw_Q%)N==yAP%I86~6Z5?%|ymXbhg`A6SDVFy<|C8xg%Jnu#&Bo`WdD{IqV4VVcr;;g@Jg~(tbSn2wT{?6CpJWFVq+Qbkg z@;U#dSmoF>=|R{ERo!uWnly!r*~_q{SVI|8+S#wH6mNT6-?Fa%p*b%pFRAfW>CQdJ zP_{Jr$KO0gI7?&2Y#z0%Z|7CQ9V%-T?Qu|CWL!<{3F9lptNOnlwM#5F(!O2VQ_0F9 zh~4#m`b1KE?udBYaEHZf#W{pVZZ?SHL%Ll+F0VH8^HL7E;<4`=iB{ty3Vg|18mJNn z%(cip&TZeLeAPKXelkwcC|A}*X=DwtN{8RLFJLZqR;9|k6gqDN&6}q@vcw2nH$$FC zEB3x|YRnX~fpCouGU<-P{_TUOXkO~QGx3l?(prU?rk{!CBL7|`V9AaU{4OQcuQezVn z%|T)@;4Y(>sMEf7jS^&Tw7gDtHB8#M|NOGNt667YTOcS??9{ei6(sE(`%d%&%yn0? zT>vubHm((+V&3qQpLxH|uFo#vN2o4-#sX)aVcU_V%IsXC{o$*NOo{J61rQrArC|Q? z6_u}Ud9KsnVCn(ZDKn>}KIg+}Qsf{NB4quUOs(IVS<6OoXwj*U@gmcxDR+JPnPG$t zY=8zk-P*?4Dl35~>lSuK%`na}K*ftNz=u#{wJFUwTRm^+#Du*E zqr(5inFH5E{s*u!m(;cQTME`rr@<9q`$&7?XT+lw1;BuLYs0m@a4Ba&CE{?hU81CW zLAdrT_{3L9S><~A(6>L0fBY4qg3FbmCUY~qtMB+u=1;G3?X_jTr4Uy%n?0@j>tIg; z?SAk?n@6A$YohXZco1{ASiRly2?o$`tFPkt9Ssc0zQk#}sDPrHS|OcMwgBDc!YN^E z!Ano(D8Lq}fr`vWti8=CT<{M@l#7oBX_0bm?c}w#>j;m!Z63sXT)f`HCp54ccHA`@ zbFwL+IPhh4=cQUrZeXvCV(}4*sdd<#0*m>8s(57H+r|A5b~Z^)@YyH)MtksG#UFa= zg>K>cF01K#(3fgnp}>u(OH??hYJPvZc*CxXifl~tB7_GPh3n3O3qQ8s4j&8q5vlM; zf9BKW#>BOF2=J5xy{C=@OH**irFvK+3jjkZ2#{H$vn{6?pc&R!ZgPMu51mbV7uZ|J z!T%&tVDgU_il>{OelpOaD=tcjF6}`e$4`3Z2tFpW-jtL2(1mU_^&dnlDU;`J( z-S(ss2(kVy00AVJkx;4K1U+mrY9qwQdQ2Lgmj5r`CbFc)jRV<(y5h{y`oIt-jseMw znJh7q@btJI8w+Ari_DavIY3=KUv0i4mRbpzT*qx6VI2a2JI?>QwgDcd7`YPX!j1|N zXHGdWdM=&ZLG*xTm}7aQ31{pdMd4^$n*k2AEuv=`VF8HUPT=|^M4+P`lfUA|6omPv zL*c>%RUha9j#R&sP*A#bt597!VNK#AisywAtT`q+R{T;IeMM)b_k)?|v$h{H~)N7oeD6a=9I`E@-iutimTLlSJd41w{ zSZMeOx2*f-0!2dk2|65oqclAfHwYeiz2fw}=C@EvQZ!%)dD9J)QZr^~Z=mJRbMT_; z5cIy}rOQvakdPz1CSA3A2C^BMVH@5@3$gJNG+7uALM=%~)rhRgZ6bSVf`$=ir!R%T zg#UI)R)?rzX;$^IYv)U)Vx3-R^(@4cfa?K)L$&R1Ny6v&4;oNi^#uI8B#39v0Mmh5 zevj3dYt3ZivhUH#Qjy}XDaY^I?PELFqe>3$eGhNimvF6F-k~J4x=I^P4ee(Hu$~i= zO$7)=uqhv;irEla{6uaoiAxWcHWwag@X+tVW=XNpe;n!%xktx;g9iz zpTL>SU0%4!?2TRa-xEODOuMzN%>>TWqMdmt)pO1DmiGt71?=2R6Cf~4+?xGsT$nYu z*HVqZ(0ve7Pu{(S51n-eEfZ|TmA$289AQ2MSA*hLynj~CUZjuU2qhgWqf9e5=oju4 z-6nAT)_YnYK>WJgJ=!({EaA^w6NNr@d-VpIF{91B@OTUM(z3(d6ZUT?Tg8fLkTN9` zTRvxBe6v>CI4!-Sm)%9ZyRq??sQU0*dxy>7UFvb_(&P?MW5a>ga=0~QQDAZ!Iv=_(s!+w zUdwgj=SfNKn|9#Qtu0-QeykSZw}2z-is~r$t}lSBY24xPI13}&ni}r-I8%*KlOr@_ z1L|X>9i?JnZ~Ums=4RsDwtd2Q+kmO&Ku<5#$>4q&_4y82cl{dwR^)*aFOAi_&{l~$s1Z!IpcA$7 zy(=4bfe}n*SFl24*~qYn+mqNa0j*#9VhgZbWCdi>BJoT@J`2>jHu6`rDYA|FojjMD z6D2w_Rq1rCR%r*{Nda0}O0rG$U$|0UmnOe&xlan{xjV*`Fz>)q)-Q&6DUE*v$t|9K zV)05Ng`7{qu^+Nqx(SQ;9HRlIg&FMZ-8Tlm<_1qxeT}Upzz@w0U4>$ zS;KYViMBGXM_B57u%O83!%eCqM+boZ3reQ>00?V%!fS>VSJNMiSjzNrnbfa*_bO>2 z(m6z~@=jbFQvZi4Yu56Ih!;rp#IR?g#nZgA!s~I2t+Ar#D%+6j^I9ku zR4X?IjA;@jOz+7M=-Pw50(O{9kXTKyJGEHLy`HsO2NrJzJqkGA6;ofZmV|(zo zv4*H)UfwVkB%|gYt+~{(^M`exJ@3HOlXkE~3v=Ch&eql?eG0sApbqGQ-uv)7aA>u@ zYfvfGrl~4vZ0&37a@Sc%gt48UxocinO5(}h)7la&*2nXk5zEllbu0Jm=F&e;Q;Zq1 zq_1T6QwPLV$b24;rPeg6=8NrT(7ZlJcD%heULCM%J%jZNoE_VdYS<){V9R+HX1+8^ z%#G1QlsiLqHb&{$N|dihwl&8L$rF^p!>w=MPl!}|{7|z{IOC|>Q)kZFn@3)Duig#q zZxdp^18D-|p76c`Wv z6k};Ej+mn!!;@uz`3qZlND2FvKgX-~4z0yR^fD&Sze`>RcwgD}U~|#vE+QZ0-}T2= z0)H(;UobU?F<7|r**u2x<>jnxHl)VMH7KozfX-#Z(U;#8zN~O91Ix)`K8Kg@m4e|j zq9I3M_=1pzCY5z)NKb4PCp3TDLg*4#Yv(>cJ1KL6*SxTLy$pWaa;&Z^97Z3vd9P9& z&FuAO1tOmWB&UdK-w+1G6DOh6)v?CU-cN8XuAqyIWy=J)g780nWI2X;#Cl`9$>JVi zMan-4rQsflBSW4RiqZ&p5!Si6D?rT>?%^9+!25kF?nG%PZNt&uZi_1@+YG^NN_i<8 zzour<t>Jzvcxys|Zr1Gw4)) z-2mjZFa;RMQW`|fFd2k*e{KE`p;(#!xmv{=T6?lD%Z>wtf5MUi#7)gR62(VH+7f#X z)S}QunPEVTtoJ~MZAe)z)<#~Dkez13FfhvVH3nFmv+zE-S^77i!wdh>UfJbvqZ=rl zL=EO9e^VG`kK~Ev=WKnb=6mYvUbw>jSp6;)mGS%z1^Wv?_@)s0;m}~F*7UF`Q`Sja z*|7jz*B2Lk7d<_$NPi8RJ%QnwJl>=}zUlrEy8^G7((s_7;v^UOLtvKtiTia^6kSma zR8HC@7DUty);Gs?B8WK0o0k~dOubJZ~S7Vg>K&7{aam< zDkkakA?$6waUEACIMG9?-hvROaGBc&u1wMz|SO0dee9W%P^`l+FR$BVvbFj_*rk5 z8g0QRDVF>RQ@7>-rgCK#Gy2`R*;u`rRs3qbGo0;e6;SfxbwVCeFlR27Mcn9f@YT3) zAl0o$!=sqWZ_dTzp2Nn0D|CGb4yb@;+eGA#RVlsNxT}JbLm6&(it<~J?S?Xf-5>&* zQsJSY4){t`M*Dewrttu4`P=(Cds7T<_|H1#s7|s!kxmfp$^I${L^D8H{)EoTR-g>S zeH+7dxcgpHj_}e_wigLnw6`4ZZ1KwbGx*@D@jb=Kj;SJ^O{wwJ+K@{fTPemQ&x@k0C_xd z?afWgKQx%CGs)5;o0{=&^9RTGjj@Q@pHzNsS~$A8?txC>q4d|npMC{HaY=@s?&AXP~4z)_k zoiB_q=idh~o^IE&`&(mX?}r(&J7p;n2vveXmt{^dtnWFL3?1VcBJmQ}Nm)$kw|%LLOdO_p!y>>SKShkNkx@J7F2P&g~a8t6G8rI@~Kzr+Ae+HXKJpxt7yWa6XB9W zZ}Z8xf$YV+d;1q27`JP1R+&n-9oft5voBfdAbzfpD(KZa)+Icz{V1E_Gn!kzyfA;( zsN=9M#vxCr?-e$a%U40U5{#!&OWfNQJ#biKFjmnhA9Qs&Z%k=71z945WZK^IvbzE2v`*u38F_Kt-xT)a3j=|^qOJ+N5An?ctwap2W=UUI?P>iH zlY*50b#a94Pr;#md(Ttf;>Rbr+5497J+{N=ybfIkRFkJzAY-(9jPQ51;alhC$GT~H z$xvu~va5$zOubzQO#7ksWAJN}Ov@{@O#qCKp~4N`O1Q4lG**h35-^yZaqk-UAIWJk-oCcC z*7X)|V!gPT)}h`#CIik;{H#G5IP}!3q}bS>B|p`ByWuuZ5a}GaP5-1>|Dzb9+WF+3 z`Sr=7NE@xgPTu39Av-kiaAYP@c}MAC!su4;E@1oBK}omZn~o*ps&l)(0svCfb-22!0`61Fr>IL@B}G}y z|Ni~&1HnLjy>~4B@ZX)CqpCJ&EYB?+0Jy#=$x3OvFC6(`x@kXwU)&`~D2)}QD5agR z&?mum+f`2bz@#E;(f zkJ%k#$fR>0`_-;&bSZRd+WYJ?GIXSF$;RdF%_xB z1-7WDnxPgUIHrehlVy1AMCILThNkFlq($;!V&b10qU<@{JlixP3Q}gmU%&dZC*rkE zY0*o?^+U64ho*zwPCn%>P1i@iy zpI?ai#Nb7VioKGJ|NA!yKsYS=#YFQ>2F99%s}v{Xtq8S?KmE^OR?xjQ0gUdW(JDWP zX@E5>pBNk#UdImV?M<}e_-{*OM*y^MfKRTi1uToAOn`x2Qz6!b#=NGwSKNQ5Xg~1o z`>6D|5de|G0x!yGKo%b@!o=xoWWZrj-`;}5ehNFkgkc7w{Jc(u?w?Fo`p9-a-@Ql- zsK+L7p7Phw$U_`RL9&HPz8CDZNs6cmjbRal4aVaL!yb3;T@T7vklcct@w9_Rq>wY@ zKQR$}k%FasK+XIO(JxrJjiJ0Nw92NFyC6K_aF zNLkWPZ4+Ugf@Hkn9p&Avdy+~{_3_@Ix>t7Ru3G{??TsZHpyVBI2F7Q1WCJ@8DIv)I zj=H3Th6woQH;uu^O-=^a`bJq9hw`_Z2+)|x-DQHiHIi&}C)SydpzGR!S_2>^Cj99% zuqv1+IA#;+A+AP#)49xd&-Xm#}QFGZkg3s)|n8o`{|Vq`^kax3I)NbuAw`w5 z)MFVDKKCxz$bl&3jf+A9qs$J5euQ7=&7_SqY98iIyW}<_W2HQw;U8>D%Fk#W^7w}M;>DL?C{&av--a$U&i?!^V+;A zM6K(X_Fk;!N6{gR*g9b;A@-8cTKCYZx(7udSh7cK>uakwmJ*sX8>W%*qIXG&rl#H| z$sy#FZ}(@O8HJGN>muoF+T{Sn3_^AiQEWeYv$51Iu6xw({o5RJ_oRO3La%6MB`AR5 zduZe6*w93HdjrNw*-z#ENXo768-C7xtE9B_KQO`zN|@YZds$y9nLfmHSl=@N-S{}h zJr6dXk;E#m3XAY&8)$FOl73j0uCLA}zJXRX7-JL!k*@rh=nNozd>#qQcwn zGBQnbsuoT>auWpot)grYwVKR6Z;9zGe2CgW9s8$tN^j@yME;;n;0`1Be;TBw6v^Ax zUoCk0I0N!g|+kusY<-IO5plSe3$-2a&_!R2?)NT6rZ)q9SPl_Rw^-P;+TBj zkA=OTDY?8!)a_NgZIN`$AL-jt(oaQs z^x_s8{#@E_^U}xbDmmccR>ksNGZQP5r~5%sfaSFn*{t@(iw?E?^@r!qWxNbb(nRr? z2T?GauE7{TUX*$iG20^br`4g^@H3T}VYSy3%o7?OAvJQ!diYaQ8BVuPtRrPG@ZxXN zDQQ{)8birWIC=)MV^2ztbhsbxUb0Wfehtkqk`z&+zOmbLx;O>Vp%fMCx&45fd1liw zB}G&IyT1?qjhkVf?*n7e$!XyBdCAbw{xW~;bMHa*<(`4UES-@Pj(p4je?>=u=Se0Q zmj@roeJc~*d+rLFY~Ff~E+X4esm88Z5WMI^Lm6o=+RkHiX~e{zL($?HSmPbl>IW__%iMf(lpY{ zOYkJ0`$V;}u`y07g-nNV6;v(Jgg(f8agG_Kw|?b(Rj5tYS`N#($awa-R} z-RlN*+HLj;MG@T8p&a*I>|VO32mb|*1RR0Tu&(C24o)T48Iod?{IJQE_F`R*LeM*S zdr|LCjr84UBrTmefcdraFfx*ra;`?K-SQl9e!XJ#tYMbmkBE%6MJdydXstLOqH{R4SC#pK2}RY&jdBxEF3{6~Eb83?E71} zMWOFk;^&Wx!$LcQCJcTqFoxhJxY*48j_V1v9JoAcab48FuCjHHp#-zs_eaxmKir$p0pCVe=LEEvedlM@v8NI^R|myeF2pfL7Xie+aNgwGG$q- z@9*lK=3%S#y2_h8`1l_anZ|Jj?eyicv6{JZnPa!=p(BZeIXPbBS)1jARX zjsBtJk(0q9g_z%7cb7x=!cIT(>dG^z8!ws_DJHcv>%Z{1PO~x7#Hty&Mu$!)1P4=0 zC?$J(kKO&RKdt~H8@}=ntZG|&D zuiTTy0(IrsB;95|FXsgnRaBMC1bm+>F2<9&b-nRcuePcAu<~8_r`?H>@Z*icJaWZL z!0-5di9lPEV8urt?gR4z+~#-lw_<#=*!ctM1PnL?N@WwFl=Qyo@hSNx?VIrLg4kZ? zmrVX$WxowP?znCHas{%p8l~eWSrk9N=VeS(OR8R*-4}Co3mzR@u3^Q`_xAV&zCiSZ z;7ssQsqh#6dLsFg*UrPk-A4OL4rSjK;#i!;2zXLtaw(7rPU#JCdet4B#5hR=}CAkO1gXDGd9a3l& z4ILY{Zl3Q=Ireu|W{O(=>s1ojMT?=GWgNV4>G4e67f0o{(-)<0!QfNqB&^q;e_2rs z9|xyoB2*=D#MJY)L4J%N8=U|menrG-cj6%px6l&UQS#Q544*9Zt}{LSwf(e=Tk|Ik z-bmU&6a^#iNH%Z8s=ExX?`>jq;T~X)F93ONhLoAxhT%lSr>06Psd{OQ+3vu<+l=h(?I{6|C+OKKLyG71itp5~f=GEP;9pM&iTsgY1}N-YY4S%r3-h}UC=l6k2Tm%XXI&pCLZ`|tdP^cQ#MFFc9-J1N@y;*0#xo+;+lZjoFzpT&M zR!k|mg?)Z%9kJ-Qd#8GOIK9H4|F_TxAKZ?j!aZqLzgnl4v3=H`)xWkJMQcQ9E26!G z?_;n2Wu=YX{j<-<2+G3*ZyGUt>IL%g=`lq)qc}Jj_hcPdw@8Qi0Huypqf*G^8e zjis47b7#f9`NM*HJPrMMThT-UaNleQZqSWRixwx2kzqRQ(B6+d# z%hWjSlx^j&)S}%^HId}m(_+$7)&ymY7Je@8j7NKq7E!?}pUTXQQpzE?mA!+YF--~vt1pX~z z;Ch&nATDcOX7G%f6u1sF99cW3)(wvhU64oa{oWVFA?|M(Qe@^aZec>+ts1p1AOJ7${K9yuEw7IO8DQAN?sOm^g zPA1h2L(YU(y_kWi@buq4#-y$fWH%Lss-kJ4eZDo#>U2?+oZCBc(*8rNEHWpwb|{Vo zg*NOzJ*e8><=(7Zdmwns%ONACDDimFy(!-6HvI30icTz8PGVTp&1H-xWOaH@L1}xT z-o{M)%W4O=m)pt2CsA4Sn7hZ>&Rj-+t0y5b51y@OPTY1eJ=6{k;>_Z9&7NLPu+SBh zO;;hS<#OT*kBdZP#z$@HQ!?%B7K1f6*jVh&_f0WoM~sR zG-moq)88H8B|Ce4Bb}>0y&NrkBjAiMVGcU}-qCX<9sPKrYdnMsEn;CiN)~n0C7%SG zZgJkVeuyIE#&LOmPcVh(F=wXt2#emdzKcdFPQWHCAx0x6f%g`=Q;#Fb$o+$*w0 zsf?9l^9ZDEss9$W``sI=m%GK4F17<=U!O7XPkg03g_-;RC#4un$5eYrQS1D6S-|_S zLPno5-DS6AgTc0d%>5o|c5ijiUTf!s%M0&>i$jqI%E03SYT#gg+aq^pvHlmA#sgEl1M#S z4w*w(7ZWfwETw?Q*;Hx2%4e^rTcOwRUP8=Kw(#}$f{%GVBM9ydgKwkJ>6*{NV2f zV_Y{U`ywpo<9}4*1w8vF^O`t*zO+c8N)0u>j@;vzLP?qCU&jQlxyR&tE4lMQIV>yIt z<+UK^i?a7|9%}gpqj5;EUs^Hy-VSMG(!)4w$~s)rP4B6MKF2t9;)iE^r;s6Vx`3 zX3BJOeu{qc-oK%tpzV*r95v77zIw44H1-vWnH)pfd0KdI`=#vk3T{sS!k57wk~8$@ zYJ)gq8e&2KsdvylE+b~OxSjrFE4}$qFU~Dw8*;ZyM@RiCr}o-V3N}8wT4$Q?%Kct4 zLCSrcx;GLnDjNa?TTPJCt=wCA{DPVs&bf-7Zl!P}pK_HUXh!xKm#c$?5!e4Bc(oPJ zK1I=G;~ydMS0r;%T$c@eCN!Gk4K9TLSBC#il?1bcL;EzEem_11Cpk^z57E2ZFcCf{ zBs|-%Ig*Y;oB(w6t&MK;r_%sl`w9H^BBz$FsI0a8oERhvaO>{|9@Z6|c77m7rcBnh zXCYm`9Si^__KH(#wiM&%O#8UA584Nc8#mqL7~eX<$Ti+Wrj+ zd^I$$BoFF~78})YYup*Q>VA?PLB`V*Nypw*n#5Tzz4~kwtxv)o8BWa7M03ffIF|gW z0LDsjOZ=aR{UduCGOxS0?vXYkI~{kbRjaN=rv|w<9pYZ%-+Wm+#ONthZQCoM422}=x8r=0L5v{B*BT?U8I&)1wb|LmO1l>a)vONc z)Wx6BC?=#Isd=P*{y1-W(yAIm80<&vPq@9Ull{VOU--=Te1?A+6YI-Zmb*~J$~M_x zUj&(W8#4N6@uJyz>neZ^>-I4#3HjM+Ep*B^7)cDP<+(%^b2=N1rN?#^`ah03{x~Z% z+WlLZFUxh$Ky}1?yk*`Ri;H;4Lx4SXk z$bsP$ot)ZM)S_2)6uv!P>e!G1^ahSfJ^XY*`gnO! zk#^%4#cdH2^YE#8cA2M|uFe9oLPHwX`w&3oU98|NNI{?3WvW(8)T#gwT&pYbq6VIz z0}mo$uKFu(qvh{PBVw?{mX97TC}ZOs59jL*Mze(TRV1!XmJ85)J~slYXFtHyZp->d4`j;rSjun;PucYkp+RT2nIEeP z^`IiPOpa{Y2knn|OFKaP6l)r5>vccNeGHK9(nL_||*S$MgOs zTRFU2M~+Jc>6m`(tv3BKWgmc5CrQ?RTl&7mSt*^8YVij+HLVMz9#&Y*0=uRKL6N+o zIb=RuRhSj+2J(+59#=ekpsE-i$R)Hx^v)3T4wIfEIo^uy*BubdO9YE3*y3^Oh?5b7 z_p$SmblQL5jMW0%h`MY*Y1K|Uqe`6;KBDT9cpCMasA`~c`Wprej0hlE>p*47)Az zw3Um0;>muyI-=*a(4|i8T+zc~y2?1AP#PJw_%5j+rBVU|6y=)(=^G8SAV|8g% zkDBjV!bjb<`Y#Sjn>OCa!8Ye?T|gBB^)~Q=(u}bL7ZO|`mM1iQd`#Zc5z&P?skfRV zV7~2y%`f^SZcoJ1_IISvb8aX|Y>dLcukx7*$t)h7Siw`6q06Tto1_4n&C8=jn)t5E zip8vO`87X}tOf)mlky&cAgs_rK?fR)90#ivX%VTZW)7QGaox9NqjmnWF!1g+4@`L* zoB}40e#-@9-W`8OF?a1>AdoB)1tk&BrB*N95FF}Foln>zB)bIP@3#xy^G~L1siY|T zs#dBjybc$7A&nWPPB(reO$5TqF_42%Pra9cDLI^aBF+{QR;^VJY|%|-z?DYr3-nmj zcZbiP;aw!}*iwjm3*;R$&bbIcMZSF{msnzVc@hkcFNfUL|qG;EaUZP_rf9D=8DI{Iii&@gGdKp-I&AE{s+}X z_eZ1VgHi)gr<&kuoKGkS=ig4YpQ|ExvElRSx4^ahEJ+a_XlbKv)hzse5MWDv$HQ-)ZtO2X8%g4k> z%duR;ZpHZ^tIo!m%$bIUuw;+I-m@ zmq2I*ac_UJiuEPK(9zA4d@vCVPSmwCAOZhHWhaCp@)jFy4`KmzCfQ#jDR}968$Iu$ zaWXm3!%aDe3Fi~T6POqUM=DfJMu}zR=Aw#CiW>;At$9Ukp5QBCF!{5VfbPE#bP?c# zyPCMq5$(;`YhU3G>Z-d`WGFu6l+;%0yDqz1P8< z;`XGt=6TpU#V=a#?aR#gwa|&W7+V2$Mngj&_>YxF=Iy0HwkDdV?Rq!fVxT*Un>$lP&OZ_H%af%i1uYY&^+w z>!;bgqb>aL_MqzDdK_bmdt&luHyYJ?S3K>%+yZ@J|1b_FbnA#O$|+E4!xR$yheF_z zPPdWw?l%fUFD608{FH5b1JRV+BO@c3qZrzW$+us-N-myney|*B6L#9%6k06~JloSM zvP8vYD+Q1XzOHtT1wnxuPG0`cB*b$S*D`|0dVFaC$gZKkN2Q^EZ<9MC5~;5ixaB$j za?SilOQbq^9(AVp<>A7S$MGV5SXU`=B!#dt9*r1VCj}vB5=}9QUL3YRu8dyzK26XT z;sgFex(5BMaY8kE?$0jmPl$?E+ilx5IL?Q)=8ij;G&30I%rW6R3n)&o(zq2>MnNrj zc-c=y)0{ZP!vrDKZiel@Q-aWakq>S+*F7=X>qBwr3nE_*Sxla;Q98eu4l3BG5YP;M zu1{vBjiRXmazU4hBKd_EMY4+XWj`lbqn_ye^LxBO74Clbr=do|m1UKeHc95gU4)N} zxLy3j)Iwi77+WyyIv!hiH0xdQ^?7L(npp5^nNYyhN;ucPPr}!pE<$uHr)6}1>Q^s7 z^cL$jx&h}|#@6YD{O;acH%QT|SWq3lT-ltsTE7vFjV1nYV zyY2o<3f|SqOEbFp4wo`jax?AQseFZzb%q@jfp4Qg`7BuFwR1;-#po7o;Hot^xxGk^ z{vZWknDcykAd>Q^)(u36k%283;4}M&QJl{=1(gXYD_idU?Q=Zse&TVB$ZhZ@>pTsa zRahv(9PQ4v!8dKPNIHy@UXrqy7&q1qkkqbGK8Okog1W!X77<*-54yGS^j~#CvECnE zXRsJkBc=7zGXw>?^e#50g4lHU1R_FqQfaSSSfC`8-eATIZ$iVY_C#?ol1g<`V##1VZx(AC|#R2MRn=lL`IM5vS5NDDJ7)ucCWwYv&r^AUNZpI#(b{lR>I!9 zvHLtZR_=d?c`c6*=i{>z7zuN2@#{jG5~Cf+__=r93{^?c47z~np#C9c96Y8pn0*t& zosYLF(bOX4rgXT0d!YVuezKpRdN5Eqi=YdEZsq$p7x|WPb%TTExLpla$jmx}SO4n@ z!Dm7k?=!o|MuS$TXEeAX*HZM1waQckjj1Jhuq1M@V9vT!6T+6M#yMAvYS|(`qQP4E zb244>W-a1Bg3h~y9m`z;`QuS!_Gwn@Gd9_^hedz#<1n@TBJ>HU?#C0r(m(PTa<#Li4}rVqdJyaARldp}i6(n=(D zv{RwEQjU8D<*`POLPQymw!iIr$4wngkawPKIxZAEhLa9wSzFIqd=^xz(Uk|{_DZ#X zU@Q9gUTp>D+7bA-vH*C2-v3SqD7&MmUy7|kx+p__9gFc?tm$E*Yr?>h=#Tk&;ip;F z#NzTw&jMR5 zu{V*BLtAsneIO;QO9=8`bBAnjNbB2A4hH!6?-y`MP!jE~V{;wvW-IWR`v?fvt?{Fp zZ8SOGEBk(W1l!V>Jy5%V3$jq~_H++hmWm=h&y4^Z^~a=kUb%L=JLxEtP(Xz`E;p{S z`lw>2?BY$Q_ufzcQ}=6Or{}fjxbyR9>Gv)(g0G*nXx6g{zA04A;u?@dF1Z|D+zX$X zIcoU&W(1m+nQ2H*0z(|jHif7VUpbB*=D>}fn-qjOZHadDCVZV#G0)}ll{X@mR5|Ub zv+XZ}P%HTu@{&D&=9B2NJrpd!t+VwkUBaD6D)w9A+RHpL1#pK3x@`T-Br4fjo8MMO zbhLY+Sc!&S$By~p&r6MUw9f|6_@mM&x2&h{JC75DFnyG>yGWUR zC@C!l8f^a^@OJJVM7LtLx^{5BiSl8Z{g8l&WgDUgiHUWcBXR&+Nbc^}bzI~2 zva32fX`G)XVLxgIK4$wC4)eZ#lEqD7{uang8=(>!I$CVJs2_O!>(S@VV%&dSQ}67n zPz=FcH=1f&E&I~i1 zAJmaY4DfbJ#A;0WCFIGIg0iidn{tlhRY=fzUEhplrTaa2Uz9$TL^msr$fl@0BIA93 zn23&`jH2WZEP)B(e=;?9Szf4j-1_~-!@&p}Ypq01YQJh%8bhDUJ#ILXnp{9Vb(VvZ z2X9X3mG3dxK-9_kZt?t25!SvZ@6-1m!=SHAIjnzpuDNOcAzAx`wN|S9>K(dzYzC`P zRfhxS1TMTI?u^0NN{>7h=>*-P$E}Z#g<)k}WrwRET zcKnfIij5?a$xrNaa(|0Hmd`pejkOSsz*O8QwyhjT_~B?s6>BZK6PcK@GbY%r6 + + + + RoadReport + + + + + + + + + + + + diff --git a/frontend-roadreport-deploy/src/main.ts b/frontend-roadreport-deploy/src/main.ts new file mode 100644 index 0000000..be6bfab --- /dev/null +++ b/frontend-roadreport-deploy/src/main.ts @@ -0,0 +1,9 @@ +/// + +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; + + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/frontend-roadreport-deploy/src/styles.scss b/frontend-roadreport-deploy/src/styles.scss new file mode 100644 index 0000000..b0b1169 --- /dev/null +++ b/frontend-roadreport-deploy/src/styles.scss @@ -0,0 +1,42 @@ +/* override default bootstrap variables */ +@import "./assets/scss/custom-variables"; + +/* Importing Bootstrap SCSS file. */ +@import "bootstrap/scss/bootstrap"; + +/* Importing Bootstap Icons. */ +@import "bootstrap-icons/font/bootstrap-icons"; + +/* Importing Toastr. */ +@import "ngx-toastr/toastr"; + +/* Importing Leaflet. */ +@import "leaflet/dist/leaflet.css"; + +/* Importing Lightbox. */ +@import "../node_modules/ngx-lightbox/lightbox.css"; + +/* Global styles */ +html, +body { + height: 100%; +} + +.dropdown-toggle.no-caret::after { + display: none; +} + +.dropdown-menu { + --rr-dropdown-padding-x: 0.5rem; +} + +.dropdown-item { + --rr-dropdown-item-border-radius: 0.25rem; +} + +.table { + th { + white-space: nowrap; + font-weight: 600; + } +} diff --git a/frontend-roadreport-deploy/tsconfig.app.json b/frontend-roadreport-deploy/tsconfig.app.json new file mode 100644 index 0000000..ec26f70 --- /dev/null +++ b/frontend-roadreport-deploy/tsconfig.app.json @@ -0,0 +1,16 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [ + "@angular/localize" + ] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/frontend-roadreport-deploy/tsconfig.json b/frontend-roadreport-deploy/tsconfig.json new file mode 100644 index 0000000..1301bf2 --- /dev/null +++ b/frontend-roadreport-deploy/tsconfig.json @@ -0,0 +1,30 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/frontend-roadreport-deploy/tsconfig.spec.json b/frontend-roadreport-deploy/tsconfig.spec.json new file mode 100644 index 0000000..c63b698 --- /dev/null +++ b/frontend-roadreport-deploy/tsconfig.spec.json @@ -0,0 +1,15 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine", + "@angular/localize" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/frontend-roadreport-deploy/webpack.config.js b/frontend-roadreport-deploy/webpack.config.js new file mode 100644 index 0000000..949d362 --- /dev/null +++ b/frontend-roadreport-deploy/webpack.config.js @@ -0,0 +1,28 @@ +const glob = require("glob"); +const { PurgeCSSPlugin } = require("purgecss-webpack-plugin"); + +module.exports = { + plugins: [ + new PurgeCSSPlugin({ + safelist: { + standard: [ + /fade/, + /show/, + /collapse/, + /collapsing/, + /dropdown/, + /offcanvas/, + /toast/, + /modal/, + /pagination/, + /^leaflet/, + /lightbox/, + /lb/, + ], + greedy: [/page/], + }, + + paths: glob.sync("./src/**/*", { nodir: true }), + }), + ], +};