From 4a4b20824bbfecbac0071c93d88aa0ee553df512 Mon Sep 17 00:00:00 2001 From: volterra79 Date: Fri, 31 Jan 2025 12:18:11 +0100 Subject: [PATCH] :sparkles: Client https://github.com/g3w-suite/g3w-client/pull/705/commits/34d80c93a0eacd9122fece3c03f5e8da54055e3c --- .../client/static/client/app.min.css.map | 2 +- g3w-admin/client/static/client/app.min.js | 166 +++++++++--------- g3w-admin/client/static/client/app.min.js.map | 8 +- .../client/static/client/vendor.min.js.map | 2 +- 4 files changed, 89 insertions(+), 89 deletions(-) diff --git a/g3w-admin/client/static/client/app.min.css.map b/g3w-admin/client/static/client/app.min.css.map index 8f823b63a..13bbea54e 100644 --- a/g3w-admin/client/static/client/app.min.css.map +++ b/g3w-admin/client/static/client/app.min.css.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/ol/ol.css", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/select2/dist/css/select2.css", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/datatables.net-dt/css/jquery.dataTables.css", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@fortawesome/fontawesome-free/css/all.css", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill/dist/webpack:/Quill/src/assets/core.styl", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill/dist/webpack:/Quill/src/assets/base.styl", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill/dist/webpack:/Quill/src/assets/snow/toolbar.styl", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill/dist/webpack:/Quill/src/assets/snow/tooltip.styl", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill/dist/webpack:/Quill/src/assets/snow.styl", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/assets/app.css"], + "sources": ["../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/ol/ol.css", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/select2/dist/css/select2.css", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/datatables.net-dt/css/jquery.dataTables.css", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/@fortawesome/fontawesome-free/css/all.css", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/quill/dist/webpack:/Quill/src/assets/core.styl", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/quill/dist/webpack:/Quill/src/assets/base.styl", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/quill/dist/webpack:/Quill/src/assets/snow/toolbar.styl", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/quill/dist/webpack:/Quill/src/assets/snow/tooltip.styl", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/node_modules/quill/dist/webpack:/Quill/src/assets/snow.styl", "../../../../../../../tmp/86162b1c-31b7-4eb3-a2b7-00c9b6824e96/src/assets/app.css"], "sourcesContent": ["/*!\r\n * Bootstrap Datetime Picker v4.17.49\r\n * Copyright 2015-2020 Jonathan Peterson\r\n * Licensed under MIT (https://github.com/Eonasdan/bootstrap-datetimepicker/blob/master/LICENSE)\r\n */\r\n.bootstrap-datetimepicker-widget {\r\n list-style: none;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu {\r\n display: block;\r\n margin: 2px 0;\r\n padding: 4px;\r\n width: 19em;\r\n}\r\n@media (min-width: 768px) {\r\n .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {\r\n width: 38em;\r\n }\r\n}\r\n@media (min-width: 992px) {\r\n .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {\r\n width: 38em;\r\n }\r\n}\r\n@media (min-width: 1200px) {\r\n .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {\r\n width: 38em;\r\n }\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu:before,\r\n.bootstrap-datetimepicker-widget.dropdown-menu:after {\r\n content: '';\r\n display: inline-block;\r\n position: absolute;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {\r\n border-left: 7px solid transparent;\r\n border-right: 7px solid transparent;\r\n border-bottom: 7px solid #ccc;\r\n border-bottom-color: rgba(0, 0, 0, 0.2);\r\n top: -7px;\r\n left: 7px;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {\r\n border-left: 6px solid transparent;\r\n border-right: 6px solid transparent;\r\n border-bottom: 6px solid white;\r\n top: -6px;\r\n left: 8px;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu.top:before {\r\n border-left: 7px solid transparent;\r\n border-right: 7px solid transparent;\r\n border-top: 7px solid #ccc;\r\n border-top-color: rgba(0, 0, 0, 0.2);\r\n bottom: -7px;\r\n left: 6px;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu.top:after {\r\n border-left: 6px solid transparent;\r\n border-right: 6px solid transparent;\r\n border-top: 6px solid white;\r\n bottom: -6px;\r\n left: 7px;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {\r\n left: auto;\r\n right: 6px;\r\n}\r\n.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {\r\n left: auto;\r\n right: 7px;\r\n}\r\n.bootstrap-datetimepicker-widget .list-unstyled {\r\n margin: 0;\r\n}\r\n.bootstrap-datetimepicker-widget a[data-action] {\r\n padding: 6px 0;\r\n}\r\n.bootstrap-datetimepicker-widget a[data-action]:active {\r\n box-shadow: none;\r\n}\r\n.bootstrap-datetimepicker-widget .timepicker-hour,\r\n.bootstrap-datetimepicker-widget .timepicker-minute,\r\n.bootstrap-datetimepicker-widget .timepicker-second {\r\n width: 54px;\r\n font-weight: bold;\r\n font-size: 1.2em;\r\n margin: 0;\r\n}\r\n.bootstrap-datetimepicker-widget button[data-action] {\r\n padding: 6px;\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"incrementHours\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Increment Hours\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"incrementMinutes\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Increment Minutes\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"decrementHours\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Decrement Hours\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"decrementMinutes\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Decrement Minutes\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"showHours\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Show Hours\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"showMinutes\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Show Minutes\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"togglePeriod\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Toggle AM/PM\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"clear\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Clear the picker\";\r\n}\r\n.bootstrap-datetimepicker-widget .btn[data-action=\"today\"]::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Set the date to today\";\r\n}\r\n.bootstrap-datetimepicker-widget .picker-switch {\r\n text-align: center;\r\n}\r\n.bootstrap-datetimepicker-widget .picker-switch::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Toggle Date and Time Screens\";\r\n}\r\n.bootstrap-datetimepicker-widget .picker-switch td {\r\n padding: 0;\r\n margin: 0;\r\n height: auto;\r\n width: auto;\r\n line-height: inherit;\r\n}\r\n.bootstrap-datetimepicker-widget .picker-switch td span {\r\n line-height: 2.5;\r\n height: 2.5em;\r\n width: 100%;\r\n}\r\n.bootstrap-datetimepicker-widget table {\r\n width: 100%;\r\n margin: 0;\r\n}\r\n.bootstrap-datetimepicker-widget table td,\r\n.bootstrap-datetimepicker-widget table th {\r\n text-align: center;\r\n border-radius: 4px;\r\n}\r\n.bootstrap-datetimepicker-widget table th {\r\n height: 20px;\r\n line-height: 20px;\r\n width: 20px;\r\n}\r\n.bootstrap-datetimepicker-widget table th.picker-switch {\r\n width: 145px;\r\n}\r\n.bootstrap-datetimepicker-widget table th.disabled,\r\n.bootstrap-datetimepicker-widget table th.disabled:hover {\r\n background: none;\r\n color: #777777;\r\n cursor: not-allowed;\r\n}\r\n.bootstrap-datetimepicker-widget table th.prev::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Previous Month\";\r\n}\r\n.bootstrap-datetimepicker-widget table th.next::after {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n content: \"Next Month\";\r\n}\r\n.bootstrap-datetimepicker-widget table thead tr:first-child th {\r\n cursor: pointer;\r\n}\r\n.bootstrap-datetimepicker-widget table thead tr:first-child th:hover {\r\n background: #eeeeee;\r\n}\r\n.bootstrap-datetimepicker-widget table td {\r\n height: 54px;\r\n line-height: 54px;\r\n width: 54px;\r\n}\r\n.bootstrap-datetimepicker-widget table td.cw {\r\n font-size: 0.8em;\r\n height: 20px;\r\n line-height: 20px;\r\n color: #777777;\r\n}\r\n.bootstrap-datetimepicker-widget table td.day {\r\n height: 20px;\r\n line-height: 20px;\r\n width: 20px;\r\n}\r\n.bootstrap-datetimepicker-widget table td.day:hover,\r\n.bootstrap-datetimepicker-widget table td.hour:hover,\r\n.bootstrap-datetimepicker-widget table td.minute:hover,\r\n.bootstrap-datetimepicker-widget table td.second:hover {\r\n background: #eeeeee;\r\n cursor: pointer;\r\n}\r\n.bootstrap-datetimepicker-widget table td.old,\r\n.bootstrap-datetimepicker-widget table td.new {\r\n color: #777777;\r\n}\r\n.bootstrap-datetimepicker-widget table td.today {\r\n position: relative;\r\n}\r\n.bootstrap-datetimepicker-widget table td.today:before {\r\n content: '';\r\n display: inline-block;\r\n border: solid transparent;\r\n border-width: 0 0 7px 7px;\r\n border-bottom-color: #337ab7;\r\n border-top-color: rgba(0, 0, 0, 0.2);\r\n position: absolute;\r\n bottom: 4px;\r\n right: 4px;\r\n}\r\n.bootstrap-datetimepicker-widget table td.active,\r\n.bootstrap-datetimepicker-widget table td.active:hover {\r\n background-color: #337ab7;\r\n color: #fff;\r\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.bootstrap-datetimepicker-widget table td.active.today:before {\r\n border-bottom-color: #fff;\r\n}\r\n.bootstrap-datetimepicker-widget table td.disabled,\r\n.bootstrap-datetimepicker-widget table td.disabled:hover {\r\n background: none;\r\n color: #777777;\r\n cursor: not-allowed;\r\n}\r\n.bootstrap-datetimepicker-widget table td span {\r\n display: inline-block;\r\n width: 54px;\r\n height: 54px;\r\n line-height: 54px;\r\n margin: 2px 1.5px;\r\n cursor: pointer;\r\n border-radius: 4px;\r\n}\r\n.bootstrap-datetimepicker-widget table td span:hover {\r\n background: #eeeeee;\r\n}\r\n.bootstrap-datetimepicker-widget table td span.active {\r\n background-color: #337ab7;\r\n color: #fff;\r\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.bootstrap-datetimepicker-widget table td span.old {\r\n color: #777777;\r\n}\r\n.bootstrap-datetimepicker-widget table td span.disabled,\r\n.bootstrap-datetimepicker-widget table td span.disabled:hover {\r\n background: none;\r\n color: #777777;\r\n cursor: not-allowed;\r\n}\r\n.bootstrap-datetimepicker-widget.usetwentyfour td.hour {\r\n height: 27px;\r\n line-height: 27px;\r\n}\r\n.bootstrap-datetimepicker-widget.wider {\r\n width: 21em;\r\n}\r\n.bootstrap-datetimepicker-widget .datepicker-decades .decade {\r\n line-height: 1.8em !important;\r\n}\r\n.input-group.date .input-group-addon {\r\n cursor: pointer;\r\n}\r\n.sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n margin: -1px;\r\n padding: 0;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n border: 0;\r\n}\r\n", ":root,\n:host {\n --ol-background-color: white;\n --ol-accent-background-color: #F5F5F5;\n --ol-subtle-background-color: rgba(128, 128, 128, 0.25);\n --ol-partial-background-color: rgba(255, 255, 255, 0.75);\n --ol-foreground-color: #333333;\n --ol-subtle-foreground-color: #666666;\n --ol-brand-color: #00AAFF;\n}\n\n.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid var(--ol-background-color);\n background-color: var(--ol-partial-background-color);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: var(--ol-partial-background-color);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n\n.ol-scale-line-inner {\n border: 1px solid var(--ol-subtle-foreground-color);\n border-top: none;\n color: var(--ol-foreground-color);\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n\n.ol-scale-bar-inner {\n display: flex;\n}\n\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: var(--ol-foreground-color);\n float: right;\n z-index: 10;\n}\n\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 10px;\n z-index: 11;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-text {\n position: absolute;\n font-size: 12px;\n text-align: center;\n bottom: 25px;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid var(--ol-foreground-color);\n}\n\n.ol-scale-singlebar-even {\n background-color: var(--ol-subtle-foreground-color);\n}\n\n.ol-scale-singlebar-odd {\n background-color: var(--ol-background-color);\n}\n\n.ol-unsupported {\n display: none;\n}\n\n.ol-viewport,\n.ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.ol-viewport canvas {\n all: unset;\n overflow: hidden;\n}\n\n.ol-viewport {\n touch-action: pan-x pan-y;\n}\n\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text;\n}\n\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n\n.ol-control {\n position: absolute;\n background-color: var(--ol-subtle-background-color);\n border-radius: 4px;\n}\n\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: var(--ol-subtle-foreground-color);\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: var(--ol-background-color);\n border: none;\n border-radius: 2px;\n}\n\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n\n.ol-compass {\n display: block;\n font-weight: normal;\n will-change: transform;\n}\n\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n outline: 1px solid var(--ol-subtle-foreground-color);\n color: var(--ol-foreground-color);\n}\n\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n\n.ol-attribution a {\n color: var(--ol-subtle-foreground-color);\n text-decoration: none;\n}\n\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: var(--ol-foreground-color);\n text-shadow: 0 0 2px var(--ol-background-color);\n font-size: 12px;\n}\n\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n\n.ol-attribution li:not(:last-child):after {\n content: \" \";\n}\n\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n\n.ol-attribution button {\n flex-shrink: 0;\n}\n\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n\n.ol-attribution:not(.ol-collapsed) {\n background: var(--ol-partial-background-color);\n}\n\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid var(--ol-subtle-foreground-color);\n height: 150px;\n width: 150px;\n}\n\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 0;\n left: 0;\n position: absolute;\n}\n\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n\n.ol-overviewmap:not(.ol-collapsed) {\n background: var(--ol-subtle-background-color);\n}\n\n.ol-overviewmap-box {\n border: 1.5px dotted var(--ol-subtle-foreground-color);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n\n.ol-overviewmap .ol-viewport:hover {\n cursor: pointer;\n}\n", ".select2-container {\n box-sizing: border-box;\n display: inline-block;\n margin: 0;\n position: relative;\n vertical-align: middle; }\n .select2-container .select2-selection--single {\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 28px;\n user-select: none;\n -webkit-user-select: none; }\n .select2-container .select2-selection--single .select2-selection__rendered {\n display: block;\n padding-left: 8px;\n padding-right: 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .select2-container .select2-selection--single .select2-selection__clear {\n position: relative; }\n .select2-container[dir=\"rtl\"] .select2-selection--single .select2-selection__rendered {\n padding-right: 8px;\n padding-left: 20px; }\n .select2-container .select2-selection--multiple {\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n min-height: 32px;\n user-select: none;\n -webkit-user-select: none; }\n .select2-container .select2-selection--multiple .select2-selection__rendered {\n display: inline-block;\n overflow: hidden;\n padding-left: 8px;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .select2-container .select2-search--inline {\n float: left; }\n .select2-container .select2-search--inline .select2-search__field {\n box-sizing: border-box;\n border: none;\n font-size: 100%;\n margin-top: 5px;\n padding: 0; }\n .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {\n -webkit-appearance: none; }\n\n.select2-dropdown {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n box-sizing: border-box;\n display: block;\n position: absolute;\n left: -100000px;\n width: 100%;\n z-index: 1051; }\n\n.select2-results {\n display: block; }\n\n.select2-results__options {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.select2-results__option {\n padding: 6px;\n user-select: none;\n -webkit-user-select: none; }\n .select2-results__option[aria-selected] {\n cursor: pointer; }\n\n.select2-container--open .select2-dropdown {\n left: 0; }\n\n.select2-container--open .select2-dropdown--above {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--open .select2-dropdown--below {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-search--dropdown {\n display: block;\n padding: 4px; }\n .select2-search--dropdown .select2-search__field {\n padding: 4px;\n width: 100%;\n box-sizing: border-box; }\n .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {\n -webkit-appearance: none; }\n .select2-search--dropdown.select2-search--hide {\n display: none; }\n\n.select2-close-mask {\n border: 0;\n margin: 0;\n padding: 0;\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 99;\n background-color: #fff;\n filter: alpha(opacity=0); }\n\n.select2-hidden-accessible {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n -webkit-clip-path: inset(50%) !important;\n clip-path: inset(50%) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important; }\n\n.select2-container--default .select2-selection--single {\n background-color: #fff;\n border: 1px solid #aaa;\n border-radius: 4px; }\n .select2-container--default .select2-selection--single .select2-selection__rendered {\n color: #444;\n line-height: 28px; }\n .select2-container--default .select2-selection--single .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold; }\n .select2-container--default .select2-selection--single .select2-selection__placeholder {\n color: #999; }\n .select2-container--default .select2-selection--single .select2-selection__arrow {\n height: 26px;\n position: absolute;\n top: 1px;\n right: 1px;\n width: 20px; }\n .select2-container--default .select2-selection--single .select2-selection__arrow b {\n border-color: #888 transparent transparent transparent;\n border-style: solid;\n border-width: 5px 4px 0 4px;\n height: 0;\n left: 50%;\n margin-left: -4px;\n margin-top: -2px;\n position: absolute;\n top: 50%;\n width: 0; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--single .select2-selection__clear {\n float: left; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--single .select2-selection__arrow {\n left: 1px;\n right: auto; }\n\n.select2-container--default.select2-container--disabled .select2-selection--single {\n background-color: #eee;\n cursor: default; }\n .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {\n display: none; }\n\n.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {\n border-color: transparent transparent #888 transparent;\n border-width: 0 4px 5px 4px; }\n\n.select2-container--default .select2-selection--multiple {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: text; }\n .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n padding: 0 5px;\n width: 100%; }\n .select2-container--default .select2-selection--multiple .select2-selection__rendered li {\n list-style: none; }\n .select2-container--default .select2-selection--multiple .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold;\n margin-top: 5px;\n margin-right: 10px;\n padding: 1px; }\n .select2-container--default .select2-selection--multiple .select2-selection__choice {\n background-color: #e4e4e4;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: default;\n float: left;\n margin-right: 5px;\n margin-top: 5px;\n padding: 0 5px; }\n .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n color: #999;\n cursor: pointer;\n display: inline-block;\n font-weight: bold;\n margin-right: 2px; }\n .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {\n color: #333; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-search--inline {\n float: right; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n margin-left: 5px;\n margin-right: auto; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice__remove {\n margin-left: 2px;\n margin-right: auto; }\n\n.select2-container--default.select2-container--focus .select2-selection--multiple {\n border: solid black 1px;\n outline: 0; }\n\n.select2-container--default.select2-container--disabled .select2-selection--multiple {\n background-color: #eee;\n cursor: default; }\n\n.select2-container--default.select2-container--disabled .select2-selection__choice__remove {\n display: none; }\n\n.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--default .select2-search--dropdown .select2-search__field {\n border: 1px solid #aaa; }\n\n.select2-container--default .select2-search--inline .select2-search__field {\n background: transparent;\n border: none;\n outline: 0;\n box-shadow: none;\n -webkit-appearance: textfield; }\n\n.select2-container--default .select2-results > .select2-results__options {\n max-height: 200px;\n overflow-y: auto; }\n\n.select2-container--default .select2-results__option[role=group] {\n padding: 0; }\n\n.select2-container--default .select2-results__option[aria-disabled=true] {\n color: #999; }\n\n.select2-container--default .select2-results__option[aria-selected=true] {\n background-color: #ddd; }\n\n.select2-container--default .select2-results__option .select2-results__option {\n padding-left: 1em; }\n .select2-container--default .select2-results__option .select2-results__option .select2-results__group {\n padding-left: 0; }\n .select2-container--default .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -1em;\n padding-left: 2em; }\n .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -2em;\n padding-left: 3em; }\n .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -3em;\n padding-left: 4em; }\n .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -4em;\n padding-left: 5em; }\n .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -5em;\n padding-left: 6em; }\n\n.select2-container--default .select2-results__option--highlighted[aria-selected] {\n background-color: #5897fb;\n color: white; }\n\n.select2-container--default .select2-results__group {\n cursor: default;\n display: block;\n padding: 6px; }\n\n.select2-container--classic .select2-selection--single {\n background-color: #f7f7f7;\n border: 1px solid #aaa;\n border-radius: 4px;\n outline: 0;\n background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);\n background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);\n background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }\n .select2-container--classic .select2-selection--single:focus {\n border: 1px solid #5897fb; }\n .select2-container--classic .select2-selection--single .select2-selection__rendered {\n color: #444;\n line-height: 28px; }\n .select2-container--classic .select2-selection--single .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold;\n margin-right: 10px; }\n .select2-container--classic .select2-selection--single .select2-selection__placeholder {\n color: #999; }\n .select2-container--classic .select2-selection--single .select2-selection__arrow {\n background-color: #ddd;\n border: none;\n border-left: 1px solid #aaa;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n height: 26px;\n position: absolute;\n top: 1px;\n right: 1px;\n width: 20px;\n background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);\n background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);\n background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }\n .select2-container--classic .select2-selection--single .select2-selection__arrow b {\n border-color: #888 transparent transparent transparent;\n border-style: solid;\n border-width: 5px 4px 0 4px;\n height: 0;\n left: 50%;\n margin-left: -4px;\n margin-top: -2px;\n position: absolute;\n top: 50%;\n width: 0; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--single .select2-selection__clear {\n float: left; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--single .select2-selection__arrow {\n border: none;\n border-right: 1px solid #aaa;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n left: 1px;\n right: auto; }\n\n.select2-container--classic.select2-container--open .select2-selection--single {\n border: 1px solid #5897fb; }\n .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {\n background: transparent;\n border: none; }\n .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {\n border-color: transparent transparent #888 transparent;\n border-width: 0 4px 5px 4px; }\n\n.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);\n background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);\n background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }\n\n.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);\n background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);\n background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }\n\n.select2-container--classic .select2-selection--multiple {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: text;\n outline: 0; }\n .select2-container--classic .select2-selection--multiple:focus {\n border: 1px solid #5897fb; }\n .select2-container--classic .select2-selection--multiple .select2-selection__rendered {\n list-style: none;\n margin: 0;\n padding: 0 5px; }\n .select2-container--classic .select2-selection--multiple .select2-selection__clear {\n display: none; }\n .select2-container--classic .select2-selection--multiple .select2-selection__choice {\n background-color: #e4e4e4;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: default;\n float: left;\n margin-right: 5px;\n margin-top: 5px;\n padding: 0 5px; }\n .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {\n color: #888;\n cursor: pointer;\n display: inline-block;\n font-weight: bold;\n margin-right: 2px; }\n .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {\n color: #555; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n float: right;\n margin-left: 5px;\n margin-right: auto; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice__remove {\n margin-left: 2px;\n margin-right: auto; }\n\n.select2-container--classic.select2-container--open .select2-selection--multiple {\n border: 1px solid #5897fb; }\n\n.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--classic .select2-search--dropdown .select2-search__field {\n border: 1px solid #aaa;\n outline: 0; }\n\n.select2-container--classic .select2-search--inline .select2-search__field {\n outline: 0;\n box-shadow: none; }\n\n.select2-container--classic .select2-dropdown {\n background-color: white;\n border: 1px solid transparent; }\n\n.select2-container--classic .select2-dropdown--above {\n border-bottom: none; }\n\n.select2-container--classic .select2-dropdown--below {\n border-top: none; }\n\n.select2-container--classic .select2-results > .select2-results__options {\n max-height: 200px;\n overflow-y: auto; }\n\n.select2-container--classic .select2-results__option[role=group] {\n padding: 0; }\n\n.select2-container--classic .select2-results__option[aria-disabled=true] {\n color: grey; }\n\n.select2-container--classic .select2-results__option--highlighted[aria-selected] {\n background-color: #3875d7;\n color: white; }\n\n.select2-container--classic .select2-results__group {\n cursor: default;\n display: block;\n padding: 6px; }\n\n.select2-container--classic.select2-container--open .select2-dropdown {\n border-color: #5897fb; }\n", "@charset \"UTF-8\";\n:root {\n --dt-row-selected: 13, 110, 253;\n --dt-row-selected-text: 255, 255, 255;\n --dt-row-selected-link: 9, 10, 11;\n --dt-row-stripe: 0, 0, 0;\n --dt-row-hover: 0, 0, 0;\n --dt-column-ordering: 0, 0, 0;\n --dt-html-background: white;\n}\n:root.dark {\n --dt-html-background: rgb(33, 37, 41);\n}\n\ntable.dataTable td.dt-control {\n text-align: center;\n cursor: pointer;\n}\ntable.dataTable td.dt-control:before {\n display: inline-block;\n color: rgba(0, 0, 0, 0.5);\n content: \"\u25B6\";\n}\ntable.dataTable tr.dt-hasChild td.dt-control:before {\n content: \"\u25BC\";\n}\n\nhtml.dark table.dataTable td.dt-control:before,\n:root[data-bs-theme=dark] table.dataTable td.dt-control:before {\n color: rgba(255, 255, 255, 0.5);\n}\nhtml.dark table.dataTable tr.dt-hasChild td.dt-control:before,\n:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before {\n color: rgba(255, 255, 255, 0.5);\n}\n\ntable.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled,\ntable.dataTable thead > tr > td.sorting,\ntable.dataTable thead > tr > td.sorting_asc,\ntable.dataTable thead > tr > td.sorting_desc,\ntable.dataTable thead > tr > td.sorting_asc_disabled,\ntable.dataTable thead > tr > td.sorting_desc_disabled {\n cursor: pointer;\n position: relative;\n padding-right: 26px;\n}\ntable.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after,\ntable.dataTable thead > tr > td.sorting:before,\ntable.dataTable thead > tr > td.sorting:after,\ntable.dataTable thead > tr > td.sorting_asc:before,\ntable.dataTable thead > tr > td.sorting_asc:after,\ntable.dataTable thead > tr > td.sorting_desc:before,\ntable.dataTable thead > tr > td.sorting_desc:after,\ntable.dataTable thead > tr > td.sorting_asc_disabled:before,\ntable.dataTable thead > tr > td.sorting_asc_disabled:after,\ntable.dataTable thead > tr > td.sorting_desc_disabled:before,\ntable.dataTable thead > tr > td.sorting_desc_disabled:after {\n position: absolute;\n display: block;\n opacity: 0.125;\n right: 10px;\n line-height: 9px;\n font-size: 0.8em;\n}\ntable.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before,\ntable.dataTable thead > tr > td.sorting:before,\ntable.dataTable thead > tr > td.sorting_asc:before,\ntable.dataTable thead > tr > td.sorting_desc:before,\ntable.dataTable thead > tr > td.sorting_asc_disabled:before,\ntable.dataTable thead > tr > td.sorting_desc_disabled:before {\n bottom: 50%;\n content: \"\u25B2\";\n content: \"\u25B2\"/\"\";\n}\ntable.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after,\ntable.dataTable thead > tr > td.sorting:after,\ntable.dataTable thead > tr > td.sorting_asc:after,\ntable.dataTable thead > tr > td.sorting_desc:after,\ntable.dataTable thead > tr > td.sorting_asc_disabled:after,\ntable.dataTable thead > tr > td.sorting_desc_disabled:after {\n top: 50%;\n content: \"\u25BC\";\n content: \"\u25BC\"/\"\";\n}\ntable.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after,\ntable.dataTable thead > tr > td.sorting_asc:before,\ntable.dataTable thead > tr > td.sorting_desc:after {\n opacity: 0.6;\n}\ntable.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > th.sorting_asc_disabled:before,\ntable.dataTable thead > tr > td.sorting_desc_disabled:after,\ntable.dataTable thead > tr > td.sorting_asc_disabled:before {\n display: none;\n}\ntable.dataTable thead > tr > th:active,\ntable.dataTable thead > tr > td:active {\n outline: none;\n}\n\ndiv.dataTables_scrollBody > table.dataTable > thead > tr > th:before, div.dataTables_scrollBody > table.dataTable > thead > tr > th:after,\ndiv.dataTables_scrollBody > table.dataTable > thead > tr > td:before,\ndiv.dataTables_scrollBody > table.dataTable > thead > tr > td:after {\n display: none;\n}\n\ndiv.dataTables_processing {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 200px;\n margin-left: -100px;\n margin-top: -26px;\n text-align: center;\n padding: 2px;\n z-index: 10;\n}\ndiv.dataTables_processing > div:last-child {\n position: relative;\n width: 80px;\n height: 15px;\n margin: 1em auto;\n}\ndiv.dataTables_processing > div:last-child > div {\n position: absolute;\n top: 0;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: rgb(13, 110, 253);\n background: rgb(var(--dt-row-selected));\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\ndiv.dataTables_processing > div:last-child > div:nth-child(1) {\n left: 8px;\n animation: datatables-loader-1 0.6s infinite;\n}\ndiv.dataTables_processing > div:last-child > div:nth-child(2) {\n left: 8px;\n animation: datatables-loader-2 0.6s infinite;\n}\ndiv.dataTables_processing > div:last-child > div:nth-child(3) {\n left: 32px;\n animation: datatables-loader-2 0.6s infinite;\n}\ndiv.dataTables_processing > div:last-child > div:nth-child(4) {\n left: 56px;\n animation: datatables-loader-3 0.6s infinite;\n}\n\n@keyframes datatables-loader-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes datatables-loader-3 {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n}\n@keyframes datatables-loader-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\ntable.dataTable.nowrap th, table.dataTable.nowrap td {\n white-space: nowrap;\n}\ntable.dataTable th.dt-left,\ntable.dataTable td.dt-left {\n text-align: left;\n}\ntable.dataTable th.dt-center,\ntable.dataTable td.dt-center,\ntable.dataTable td.dataTables_empty {\n text-align: center;\n}\ntable.dataTable th.dt-right,\ntable.dataTable td.dt-right {\n text-align: right;\n}\ntable.dataTable th.dt-justify,\ntable.dataTable td.dt-justify {\n text-align: justify;\n}\ntable.dataTable th.dt-nowrap,\ntable.dataTable td.dt-nowrap {\n white-space: nowrap;\n}\ntable.dataTable thead th,\ntable.dataTable thead td,\ntable.dataTable tfoot th,\ntable.dataTable tfoot td {\n text-align: left;\n}\ntable.dataTable thead th.dt-head-left,\ntable.dataTable thead td.dt-head-left,\ntable.dataTable tfoot th.dt-head-left,\ntable.dataTable tfoot td.dt-head-left {\n text-align: left;\n}\ntable.dataTable thead th.dt-head-center,\ntable.dataTable thead td.dt-head-center,\ntable.dataTable tfoot th.dt-head-center,\ntable.dataTable tfoot td.dt-head-center {\n text-align: center;\n}\ntable.dataTable thead th.dt-head-right,\ntable.dataTable thead td.dt-head-right,\ntable.dataTable tfoot th.dt-head-right,\ntable.dataTable tfoot td.dt-head-right {\n text-align: right;\n}\ntable.dataTable thead th.dt-head-justify,\ntable.dataTable thead td.dt-head-justify,\ntable.dataTable tfoot th.dt-head-justify,\ntable.dataTable tfoot td.dt-head-justify {\n text-align: justify;\n}\ntable.dataTable thead th.dt-head-nowrap,\ntable.dataTable thead td.dt-head-nowrap,\ntable.dataTable tfoot th.dt-head-nowrap,\ntable.dataTable tfoot td.dt-head-nowrap {\n white-space: nowrap;\n}\ntable.dataTable tbody th.dt-body-left,\ntable.dataTable tbody td.dt-body-left {\n text-align: left;\n}\ntable.dataTable tbody th.dt-body-center,\ntable.dataTable tbody td.dt-body-center {\n text-align: center;\n}\ntable.dataTable tbody th.dt-body-right,\ntable.dataTable tbody td.dt-body-right {\n text-align: right;\n}\ntable.dataTable tbody th.dt-body-justify,\ntable.dataTable tbody td.dt-body-justify {\n text-align: justify;\n}\ntable.dataTable tbody th.dt-body-nowrap,\ntable.dataTable tbody td.dt-body-nowrap {\n white-space: nowrap;\n}\n\n/*\n * Table styles\n */\ntable.dataTable {\n width: 100%;\n margin: 0 auto;\n clear: both;\n border-collapse: separate;\n border-spacing: 0;\n /*\n * Header and footer styles\n */\n /*\n * Body styles\n */\n}\ntable.dataTable thead th,\ntable.dataTable tfoot th {\n font-weight: bold;\n}\ntable.dataTable > thead > tr > th,\ntable.dataTable > thead > tr > td {\n padding: 10px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\ntable.dataTable > thead > tr > th:active,\ntable.dataTable > thead > tr > td:active {\n outline: none;\n}\ntable.dataTable > tfoot > tr > th,\ntable.dataTable > tfoot > tr > td {\n padding: 10px 10px 6px 10px;\n border-top: 1px solid rgba(0, 0, 0, 0.3);\n}\ntable.dataTable tbody tr {\n background-color: transparent;\n}\ntable.dataTable tbody tr.selected > * {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.9);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.9);\n color: rgb(255, 255, 255);\n color: rgb(var(--dt-row-selected-text));\n}\ntable.dataTable tbody tr.selected a {\n color: rgb(9, 10, 11);\n color: rgb(var(--dt-row-selected-link));\n}\ntable.dataTable tbody th,\ntable.dataTable tbody td {\n padding: 8px 10px;\n}\ntable.dataTable.row-border > tbody > tr > th,\ntable.dataTable.row-border > tbody > tr > td, table.dataTable.display > tbody > tr > th,\ntable.dataTable.display > tbody > tr > td {\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\ntable.dataTable.row-border > tbody > tr:first-child > th,\ntable.dataTable.row-border > tbody > tr:first-child > td, table.dataTable.display > tbody > tr:first-child > th,\ntable.dataTable.display > tbody > tr:first-child > td {\n border-top: none;\n}\ntable.dataTable.row-border > tbody > tr.selected + tr.selected > td, table.dataTable.display > tbody > tr.selected + tr.selected > td {\n border-top-color: rgba(13, 110, 253, 0.65);\n border-top-color: rgba(var(--dt-row-selected), 0.65);\n}\ntable.dataTable.cell-border > tbody > tr > th,\ntable.dataTable.cell-border > tbody > tr > td {\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n border-right: 1px solid rgba(0, 0, 0, 0.15);\n}\ntable.dataTable.cell-border > tbody > tr > th:first-child,\ntable.dataTable.cell-border > tbody > tr > td:first-child {\n border-left: 1px solid rgba(0, 0, 0, 0.15);\n}\ntable.dataTable.cell-border > tbody > tr:first-child > th,\ntable.dataTable.cell-border > tbody > tr:first-child > td {\n border-top: none;\n}\ntable.dataTable.stripe > tbody > tr.odd > *, table.dataTable.display > tbody > tr.odd > * {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.023);\n}\ntable.dataTable.stripe > tbody > tr.odd.selected > *, table.dataTable.display > tbody > tr.odd.selected > * {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.923);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.923);\n}\ntable.dataTable.hover > tbody > tr:hover > *, table.dataTable.display > tbody > tr:hover > * {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.035);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.035);\n}\ntable.dataTable.hover > tbody > tr.selected:hover > *, table.dataTable.display > tbody > tr.selected:hover > * {\n box-shadow: inset 0 0 0 9999px #0d6efd !important;\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important;\n}\ntable.dataTable.order-column > tbody tr > .sorting_1,\ntable.dataTable.order-column > tbody tr > .sorting_2,\ntable.dataTable.order-column > tbody tr > .sorting_3, table.dataTable.display > tbody tr > .sorting_1,\ntable.dataTable.display > tbody tr > .sorting_2,\ntable.dataTable.display > tbody tr > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.019);\n}\ntable.dataTable.order-column > tbody tr.selected > .sorting_1,\ntable.dataTable.order-column > tbody tr.selected > .sorting_2,\ntable.dataTable.order-column > tbody tr.selected > .sorting_3, table.dataTable.display > tbody tr.selected > .sorting_1,\ntable.dataTable.display > tbody tr.selected > .sorting_2,\ntable.dataTable.display > tbody tr.selected > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.919);\n}\ntable.dataTable.display > tbody > tr.odd > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.odd > .sorting_1 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.054);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.054);\n}\ntable.dataTable.display > tbody > tr.odd > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.odd > .sorting_2 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.047);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.047);\n}\ntable.dataTable.display > tbody > tr.odd > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.odd > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.039);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.039);\n}\ntable.dataTable.display > tbody > tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.odd.selected > .sorting_1 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.954);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.954);\n}\ntable.dataTable.display > tbody > tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.odd.selected > .sorting_2 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.947);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.947);\n}\ntable.dataTable.display > tbody > tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.odd.selected > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.939);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.939);\n}\ntable.dataTable.display > tbody > tr.even > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_1 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.019);\n}\ntable.dataTable.display > tbody > tr.even > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_2 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.011);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.011);\n}\ntable.dataTable.display > tbody > tr.even > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.003);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.003);\n}\ntable.dataTable.display > tbody > tr.even.selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_1 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.919);\n}\ntable.dataTable.display > tbody > tr.even.selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_2 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.911);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.911);\n}\ntable.dataTable.display > tbody > tr.even.selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.903);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.903);\n}\ntable.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.082);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.082);\n}\ntable.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.074);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.074);\n}\ntable.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.062);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.062);\n}\ntable.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.982);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.982);\n}\ntable.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.974);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.974);\n}\ntable.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {\n box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.962);\n box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.962);\n}\ntable.dataTable.no-footer {\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\ntable.dataTable.compact thead th,\ntable.dataTable.compact thead td,\ntable.dataTable.compact tfoot th,\ntable.dataTable.compact tfoot td,\ntable.dataTable.compact tbody th,\ntable.dataTable.compact tbody td {\n padding: 4px;\n}\n\ntable.dataTable th,\ntable.dataTable td {\n box-sizing: content-box;\n}\n\n/*\n * Control feature layout\n */\n.dataTables_wrapper {\n position: relative;\n clear: both;\n}\n.dataTables_wrapper .dataTables_length {\n float: left;\n}\n.dataTables_wrapper .dataTables_length select {\n border: 1px solid #aaa;\n border-radius: 3px;\n padding: 5px;\n background-color: transparent;\n color: inherit;\n padding: 4px;\n}\n.dataTables_wrapper .dataTables_filter {\n float: right;\n text-align: right;\n}\n.dataTables_wrapper .dataTables_filter input {\n border: 1px solid #aaa;\n border-radius: 3px;\n padding: 5px;\n background-color: transparent;\n color: inherit;\n margin-left: 3px;\n}\n.dataTables_wrapper .dataTables_info {\n clear: both;\n float: left;\n padding-top: 0.755em;\n}\n.dataTables_wrapper .dataTables_paginate {\n float: right;\n text-align: right;\n padding-top: 0.25em;\n}\n.dataTables_wrapper .dataTables_paginate .paginate_button {\n box-sizing: border-box;\n display: inline-block;\n min-width: 1.5em;\n padding: 0.5em 1em;\n margin-left: 2px;\n text-align: center;\n text-decoration: none !important;\n cursor: pointer;\n color: inherit !important;\n border: 1px solid transparent;\n border-radius: 2px;\n background: transparent;\n}\n.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {\n color: inherit !important;\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(0, 0, 0, 0.05);\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(230, 230, 230, 0.05)), color-stop(100%, rgba(0, 0, 0, 0.05))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Chrome10+,Safari5.1+ */\n background: -moz-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* FF3.6+ */\n background: -ms-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* IE10+ */\n background: -o-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Opera 11.10+ */\n background: linear-gradient(to bottom, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* W3C */\n}\n.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {\n cursor: default;\n color: #666 !important;\n border: 1px solid transparent;\n background: transparent;\n box-shadow: none;\n}\n.dataTables_wrapper .dataTables_paginate .paginate_button:hover {\n color: white !important;\n border: 1px solid #111;\n background-color: #111;\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #585858 0%, #111 100%); /* Chrome10+,Safari5.1+ */\n background: -moz-linear-gradient(top, #585858 0%, #111 100%); /* FF3.6+ */\n background: -ms-linear-gradient(top, #585858 0%, #111 100%); /* IE10+ */\n background: -o-linear-gradient(top, #585858 0%, #111 100%); /* Opera 11.10+ */\n background: linear-gradient(to bottom, #585858 0%, #111 100%); /* W3C */\n}\n.dataTables_wrapper .dataTables_paginate .paginate_button:active {\n outline: none;\n background-color: #0c0c0c;\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* Chrome10+,Safari5.1+ */\n background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* FF3.6+ */\n background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* IE10+ */\n background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* Opera 11.10+ */\n background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); /* W3C */\n box-shadow: inset 0 0 3px #111;\n}\n.dataTables_wrapper .dataTables_paginate .ellipsis {\n padding: 0 1em;\n}\n.dataTables_wrapper .dataTables_length,\n.dataTables_wrapper .dataTables_filter,\n.dataTables_wrapper .dataTables_info,\n.dataTables_wrapper .dataTables_processing,\n.dataTables_wrapper .dataTables_paginate {\n color: inherit;\n}\n.dataTables_wrapper .dataTables_scroll {\n clear: both;\n}\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {\n -webkit-overflow-scrolling: touch;\n}\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {\n vertical-align: middle;\n}\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {\n height: 0;\n overflow: hidden;\n margin: 0 !important;\n padding: 0 !important;\n}\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\n.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,\n.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {\n border-bottom: none;\n}\n.dataTables_wrapper:after {\n visibility: hidden;\n display: block;\n content: \"\";\n clear: both;\n height: 0;\n}\n\n@media screen and (max-width: 767px) {\n .dataTables_wrapper .dataTables_info,\n .dataTables_wrapper .dataTables_paginate {\n float: none;\n text-align: center;\n }\n .dataTables_wrapper .dataTables_paginate {\n margin-top: 0.5em;\n }\n}\n@media screen and (max-width: 640px) {\n .dataTables_wrapper .dataTables_length,\n .dataTables_wrapper .dataTables_filter {\n float: none;\n text-align: center;\n }\n .dataTables_wrapper .dataTables_filter {\n margin-top: 0.5em;\n }\n}\nhtml.dark {\n --dt-row-hover: 255, 255, 255;\n --dt-row-stripe: 255, 255, 255;\n --dt-column-ordering: 255, 255, 255;\n}\nhtml.dark table.dataTable > thead > tr > th,\nhtml.dark table.dataTable > thead > tr > td {\n border-bottom: 1px solid rgb(89, 91, 94);\n}\nhtml.dark table.dataTable > thead > tr > th:active,\nhtml.dark table.dataTable > thead > tr > td:active {\n outline: none;\n}\nhtml.dark table.dataTable > tfoot > tr > th,\nhtml.dark table.dataTable > tfoot > tr > td {\n border-top: 1px solid rgb(89, 91, 94);\n}\nhtml.dark table.dataTable.row-border > tbody > tr > th,\nhtml.dark table.dataTable.row-border > tbody > tr > td, html.dark table.dataTable.display > tbody > tr > th,\nhtml.dark table.dataTable.display > tbody > tr > td {\n border-top: 1px solid rgb(64, 67, 70);\n}\nhtml.dark table.dataTable.row-border > tbody > tr.selected + tr.selected > td, html.dark table.dataTable.display > tbody > tr.selected + tr.selected > td {\n border-top-color: rgba(13, 110, 253, 0.65);\n border-top-color: rgba(var(--dt-row-selected), 0.65);\n}\nhtml.dark table.dataTable.cell-border > tbody > tr > th,\nhtml.dark table.dataTable.cell-border > tbody > tr > td {\n border-top: 1px solid rgb(64, 67, 70);\n border-right: 1px solid rgb(64, 67, 70);\n}\nhtml.dark table.dataTable.cell-border > tbody > tr > th:first-child,\nhtml.dark table.dataTable.cell-border > tbody > tr > td:first-child {\n border-left: 1px solid rgb(64, 67, 70);\n}\nhtml.dark .dataTables_wrapper .dataTables_filter input,\nhtml.dark .dataTables_wrapper .dataTables_length select {\n border: 1px solid rgba(255, 255, 255, 0.2);\n background-color: var(--dt-html-background);\n}\nhtml.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current, html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {\n border: 1px solid rgb(89, 91, 94);\n background: rgba(255, 255, 255, 0.15);\n}\nhtml.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, html.dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {\n color: #666 !important;\n}\nhtml.dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover {\n border: 1px solid rgb(53, 53, 53);\n background: rgb(53, 53, 53);\n}\nhtml.dark .dataTables_wrapper .dataTables_paginate .paginate_button:active {\n background: #3a3a3a;\n}\n", "/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n.fa,\n.fas,\n.far,\n.fal,\n.fad,\n.fab {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n line-height: 1; }\n\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -.0667em; }\n\n.fa-xs {\n font-size: .75em; }\n\n.fa-sm {\n font-size: .875em; }\n\n.fa-1x {\n font-size: 1em; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-6x {\n font-size: 6em; }\n\n.fa-7x {\n font-size: 7em; }\n\n.fa-8x {\n font-size: 8em; }\n\n.fa-9x {\n font-size: 9em; }\n\n.fa-10x {\n font-size: 10em; }\n\n.fa-fw {\n text-align: center;\n width: 1.25em; }\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit; }\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: .1em;\n padding: .2em .25em .15em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none; }\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n line-height: 2em;\n position: relative;\n vertical-align: middle;\n width: 2.5em; }\n\n.fa-stack-1x,\n.fa-stack-2x {\n left: 0;\n position: absolute;\n text-align: center;\n width: 100%; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\nreaders do not read off random characters that represent icons */\n.fa-500px:before {\n content: \"\\f26e\"; }\n\n.fa-accessible-icon:before {\n content: \"\\f368\"; }\n\n.fa-accusoft:before {\n content: \"\\f369\"; }\n\n.fa-acquisitions-incorporated:before {\n content: \"\\f6af\"; }\n\n.fa-ad:before {\n content: \"\\f641\"; }\n\n.fa-address-book:before {\n content: \"\\f2b9\"; }\n\n.fa-address-card:before {\n content: \"\\f2bb\"; }\n\n.fa-adjust:before {\n content: \"\\f042\"; }\n\n.fa-adn:before {\n content: \"\\f170\"; }\n\n.fa-adversal:before {\n content: \"\\f36a\"; }\n\n.fa-affiliatetheme:before {\n content: \"\\f36b\"; }\n\n.fa-air-freshener:before {\n content: \"\\f5d0\"; }\n\n.fa-airbnb:before {\n content: \"\\f834\"; }\n\n.fa-algolia:before {\n content: \"\\f36c\"; }\n\n.fa-align-center:before {\n content: \"\\f037\"; }\n\n.fa-align-justify:before {\n content: \"\\f039\"; }\n\n.fa-align-left:before {\n content: \"\\f036\"; }\n\n.fa-align-right:before {\n content: \"\\f038\"; }\n\n.fa-alipay:before {\n content: \"\\f642\"; }\n\n.fa-allergies:before {\n content: \"\\f461\"; }\n\n.fa-amazon:before {\n content: \"\\f270\"; }\n\n.fa-amazon-pay:before {\n content: \"\\f42c\"; }\n\n.fa-ambulance:before {\n content: \"\\f0f9\"; }\n\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\"; }\n\n.fa-amilia:before {\n content: \"\\f36d\"; }\n\n.fa-anchor:before {\n content: \"\\f13d\"; }\n\n.fa-android:before {\n content: \"\\f17b\"; }\n\n.fa-angellist:before {\n content: \"\\f209\"; }\n\n.fa-angle-double-down:before {\n content: \"\\f103\"; }\n\n.fa-angle-double-left:before {\n content: \"\\f100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\f101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\f102\"; }\n\n.fa-angle-down:before {\n content: \"\\f107\"; }\n\n.fa-angle-left:before {\n content: \"\\f104\"; }\n\n.fa-angle-right:before {\n content: \"\\f105\"; }\n\n.fa-angle-up:before {\n content: \"\\f106\"; }\n\n.fa-angry:before {\n content: \"\\f556\"; }\n\n.fa-angrycreative:before {\n content: \"\\f36e\"; }\n\n.fa-angular:before {\n content: \"\\f420\"; }\n\n.fa-ankh:before {\n content: \"\\f644\"; }\n\n.fa-app-store:before {\n content: \"\\f36f\"; }\n\n.fa-app-store-ios:before {\n content: \"\\f370\"; }\n\n.fa-apper:before {\n content: \"\\f371\"; }\n\n.fa-apple:before {\n content: \"\\f179\"; }\n\n.fa-apple-alt:before {\n content: \"\\f5d1\"; }\n\n.fa-apple-pay:before {\n content: \"\\f415\"; }\n\n.fa-archive:before {\n content: \"\\f187\"; }\n\n.fa-archway:before {\n content: \"\\f557\"; }\n\n.fa-arrow-alt-circle-down:before {\n content: \"\\f358\"; }\n\n.fa-arrow-alt-circle-left:before {\n content: \"\\f359\"; }\n\n.fa-arrow-alt-circle-right:before {\n content: \"\\f35a\"; }\n\n.fa-arrow-alt-circle-up:before {\n content: \"\\f35b\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\"; }\n\n.fa-arrow-down:before {\n content: \"\\f063\"; }\n\n.fa-arrow-left:before {\n content: \"\\f060\"; }\n\n.fa-arrow-right:before {\n content: \"\\f061\"; }\n\n.fa-arrow-up:before {\n content: \"\\f062\"; }\n\n.fa-arrows-alt:before {\n content: \"\\f0b2\"; }\n\n.fa-arrows-alt-h:before {\n content: \"\\f337\"; }\n\n.fa-arrows-alt-v:before {\n content: \"\\f338\"; }\n\n.fa-artstation:before {\n content: \"\\f77a\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\"; }\n\n.fa-asterisk:before {\n content: \"\\f069\"; }\n\n.fa-asymmetrik:before {\n content: \"\\f372\"; }\n\n.fa-at:before {\n content: \"\\f1fa\"; }\n\n.fa-atlas:before {\n content: \"\\f558\"; }\n\n.fa-atlassian:before {\n content: \"\\f77b\"; }\n\n.fa-atom:before {\n content: \"\\f5d2\"; }\n\n.fa-audible:before {\n content: \"\\f373\"; }\n\n.fa-audio-description:before {\n content: \"\\f29e\"; }\n\n.fa-autoprefixer:before {\n content: \"\\f41c\"; }\n\n.fa-avianex:before {\n content: \"\\f374\"; }\n\n.fa-aviato:before {\n content: \"\\f421\"; }\n\n.fa-award:before {\n content: \"\\f559\"; }\n\n.fa-aws:before {\n content: \"\\f375\"; }\n\n.fa-baby:before {\n content: \"\\f77c\"; }\n\n.fa-baby-carriage:before {\n content: \"\\f77d\"; }\n\n.fa-backspace:before {\n content: \"\\f55a\"; }\n\n.fa-backward:before {\n content: \"\\f04a\"; }\n\n.fa-bacon:before {\n content: \"\\f7e5\"; }\n\n.fa-bacteria:before {\n content: \"\\e059\"; }\n\n.fa-bacterium:before {\n content: \"\\e05a\"; }\n\n.fa-bahai:before {\n content: \"\\f666\"; }\n\n.fa-balance-scale:before {\n content: \"\\f24e\"; }\n\n.fa-balance-scale-left:before {\n content: \"\\f515\"; }\n\n.fa-balance-scale-right:before {\n content: \"\\f516\"; }\n\n.fa-ban:before {\n content: \"\\f05e\"; }\n\n.fa-band-aid:before {\n content: \"\\f462\"; }\n\n.fa-bandcamp:before {\n content: \"\\f2d5\"; }\n\n.fa-barcode:before {\n content: \"\\f02a\"; }\n\n.fa-bars:before {\n content: \"\\f0c9\"; }\n\n.fa-baseball-ball:before {\n content: \"\\f433\"; }\n\n.fa-basketball-ball:before {\n content: \"\\f434\"; }\n\n.fa-bath:before {\n content: \"\\f2cd\"; }\n\n.fa-battery-empty:before {\n content: \"\\f244\"; }\n\n.fa-battery-full:before {\n content: \"\\f240\"; }\n\n.fa-battery-half:before {\n content: \"\\f242\"; }\n\n.fa-battery-quarter:before {\n content: \"\\f243\"; }\n\n.fa-battery-three-quarters:before {\n content: \"\\f241\"; }\n\n.fa-battle-net:before {\n content: \"\\f835\"; }\n\n.fa-bed:before {\n content: \"\\f236\"; }\n\n.fa-beer:before {\n content: \"\\f0fc\"; }\n\n.fa-behance:before {\n content: \"\\f1b4\"; }\n\n.fa-behance-square:before {\n content: \"\\f1b5\"; }\n\n.fa-bell:before {\n content: \"\\f0f3\"; }\n\n.fa-bell-slash:before {\n content: \"\\f1f6\"; }\n\n.fa-bezier-curve:before {\n content: \"\\f55b\"; }\n\n.fa-bible:before {\n content: \"\\f647\"; }\n\n.fa-bicycle:before {\n content: \"\\f206\"; }\n\n.fa-biking:before {\n content: \"\\f84a\"; }\n\n.fa-bimobject:before {\n content: \"\\f378\"; }\n\n.fa-binoculars:before {\n content: \"\\f1e5\"; }\n\n.fa-biohazard:before {\n content: \"\\f780\"; }\n\n.fa-birthday-cake:before {\n content: \"\\f1fd\"; }\n\n.fa-bitbucket:before {\n content: \"\\f171\"; }\n\n.fa-bitcoin:before {\n content: \"\\f379\"; }\n\n.fa-bity:before {\n content: \"\\f37a\"; }\n\n.fa-black-tie:before {\n content: \"\\f27e\"; }\n\n.fa-blackberry:before {\n content: \"\\f37b\"; }\n\n.fa-blender:before {\n content: \"\\f517\"; }\n\n.fa-blender-phone:before {\n content: \"\\f6b6\"; }\n\n.fa-blind:before {\n content: \"\\f29d\"; }\n\n.fa-blog:before {\n content: \"\\f781\"; }\n\n.fa-blogger:before {\n content: \"\\f37c\"; }\n\n.fa-blogger-b:before {\n content: \"\\f37d\"; }\n\n.fa-bluetooth:before {\n content: \"\\f293\"; }\n\n.fa-bluetooth-b:before {\n content: \"\\f294\"; }\n\n.fa-bold:before {\n content: \"\\f032\"; }\n\n.fa-bolt:before {\n content: \"\\f0e7\"; }\n\n.fa-bomb:before {\n content: \"\\f1e2\"; }\n\n.fa-bone:before {\n content: \"\\f5d7\"; }\n\n.fa-bong:before {\n content: \"\\f55c\"; }\n\n.fa-book:before {\n content: \"\\f02d\"; }\n\n.fa-book-dead:before {\n content: \"\\f6b7\"; }\n\n.fa-book-medical:before {\n content: \"\\f7e6\"; }\n\n.fa-book-open:before {\n content: \"\\f518\"; }\n\n.fa-book-reader:before {\n content: \"\\f5da\"; }\n\n.fa-bookmark:before {\n content: \"\\f02e\"; }\n\n.fa-bootstrap:before {\n content: \"\\f836\"; }\n\n.fa-border-all:before {\n content: \"\\f84c\"; }\n\n.fa-border-none:before {\n content: \"\\f850\"; }\n\n.fa-border-style:before {\n content: \"\\f853\"; }\n\n.fa-bowling-ball:before {\n content: \"\\f436\"; }\n\n.fa-box:before {\n content: \"\\f466\"; }\n\n.fa-box-open:before {\n content: \"\\f49e\"; }\n\n.fa-box-tissue:before {\n content: \"\\e05b\"; }\n\n.fa-boxes:before {\n content: \"\\f468\"; }\n\n.fa-braille:before {\n content: \"\\f2a1\"; }\n\n.fa-brain:before {\n content: \"\\f5dc\"; }\n\n.fa-bread-slice:before {\n content: \"\\f7ec\"; }\n\n.fa-briefcase:before {\n content: \"\\f0b1\"; }\n\n.fa-briefcase-medical:before {\n content: \"\\f469\"; }\n\n.fa-broadcast-tower:before {\n content: \"\\f519\"; }\n\n.fa-broom:before {\n content: \"\\f51a\"; }\n\n.fa-brush:before {\n content: \"\\f55d\"; }\n\n.fa-btc:before {\n content: \"\\f15a\"; }\n\n.fa-buffer:before {\n content: \"\\f837\"; }\n\n.fa-bug:before {\n content: \"\\f188\"; }\n\n.fa-building:before {\n content: \"\\f1ad\"; }\n\n.fa-bullhorn:before {\n content: \"\\f0a1\"; }\n\n.fa-bullseye:before {\n content: \"\\f140\"; }\n\n.fa-burn:before {\n content: \"\\f46a\"; }\n\n.fa-buromobelexperte:before {\n content: \"\\f37f\"; }\n\n.fa-bus:before {\n content: \"\\f207\"; }\n\n.fa-bus-alt:before {\n content: \"\\f55e\"; }\n\n.fa-business-time:before {\n content: \"\\f64a\"; }\n\n.fa-buy-n-large:before {\n content: \"\\f8a6\"; }\n\n.fa-buysellads:before {\n content: \"\\f20d\"; }\n\n.fa-calculator:before {\n content: \"\\f1ec\"; }\n\n.fa-calendar:before {\n content: \"\\f133\"; }\n\n.fa-calendar-alt:before {\n content: \"\\f073\"; }\n\n.fa-calendar-check:before {\n content: \"\\f274\"; }\n\n.fa-calendar-day:before {\n content: \"\\f783\"; }\n\n.fa-calendar-minus:before {\n content: \"\\f272\"; }\n\n.fa-calendar-plus:before {\n content: \"\\f271\"; }\n\n.fa-calendar-times:before {\n content: \"\\f273\"; }\n\n.fa-calendar-week:before {\n content: \"\\f784\"; }\n\n.fa-camera:before {\n content: \"\\f030\"; }\n\n.fa-camera-retro:before {\n content: \"\\f083\"; }\n\n.fa-campground:before {\n content: \"\\f6bb\"; }\n\n.fa-canadian-maple-leaf:before {\n content: \"\\f785\"; }\n\n.fa-candy-cane:before {\n content: \"\\f786\"; }\n\n.fa-cannabis:before {\n content: \"\\f55f\"; }\n\n.fa-capsules:before {\n content: \"\\f46b\"; }\n\n.fa-car:before {\n content: \"\\f1b9\"; }\n\n.fa-car-alt:before {\n content: \"\\f5de\"; }\n\n.fa-car-battery:before {\n content: \"\\f5df\"; }\n\n.fa-car-crash:before {\n content: \"\\f5e1\"; }\n\n.fa-car-side:before {\n content: \"\\f5e4\"; }\n\n.fa-caravan:before {\n content: \"\\f8ff\"; }\n\n.fa-caret-down:before {\n content: \"\\f0d7\"; }\n\n.fa-caret-left:before {\n content: \"\\f0d9\"; }\n\n.fa-caret-right:before {\n content: \"\\f0da\"; }\n\n.fa-caret-square-down:before {\n content: \"\\f150\"; }\n\n.fa-caret-square-left:before {\n content: \"\\f191\"; }\n\n.fa-caret-square-right:before {\n content: \"\\f152\"; }\n\n.fa-caret-square-up:before {\n content: \"\\f151\"; }\n\n.fa-caret-up:before {\n content: \"\\f0d8\"; }\n\n.fa-carrot:before {\n content: \"\\f787\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\f218\"; }\n\n.fa-cart-plus:before {\n content: \"\\f217\"; }\n\n.fa-cash-register:before {\n content: \"\\f788\"; }\n\n.fa-cat:before {\n content: \"\\f6be\"; }\n\n.fa-cc-amazon-pay:before {\n content: \"\\f42d\"; }\n\n.fa-cc-amex:before {\n content: \"\\f1f3\"; }\n\n.fa-cc-apple-pay:before {\n content: \"\\f416\"; }\n\n.fa-cc-diners-club:before {\n content: \"\\f24c\"; }\n\n.fa-cc-discover:before {\n content: \"\\f1f2\"; }\n\n.fa-cc-jcb:before {\n content: \"\\f24b\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\f1f1\"; }\n\n.fa-cc-paypal:before {\n content: \"\\f1f4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\f1f5\"; }\n\n.fa-cc-visa:before {\n content: \"\\f1f0\"; }\n\n.fa-centercode:before {\n content: \"\\f380\"; }\n\n.fa-centos:before {\n content: \"\\f789\"; }\n\n.fa-certificate:before {\n content: \"\\f0a3\"; }\n\n.fa-chair:before {\n content: \"\\f6c0\"; }\n\n.fa-chalkboard:before {\n content: \"\\f51b\"; }\n\n.fa-chalkboard-teacher:before {\n content: \"\\f51c\"; }\n\n.fa-charging-station:before {\n content: \"\\f5e7\"; }\n\n.fa-chart-area:before {\n content: \"\\f1fe\"; }\n\n.fa-chart-bar:before {\n content: \"\\f080\"; }\n\n.fa-chart-line:before {\n content: \"\\f201\"; }\n\n.fa-chart-pie:before {\n content: \"\\f200\"; }\n\n.fa-check:before {\n content: \"\\f00c\"; }\n\n.fa-check-circle:before {\n content: \"\\f058\"; }\n\n.fa-check-double:before {\n content: \"\\f560\"; }\n\n.fa-check-square:before {\n content: \"\\f14a\"; }\n\n.fa-cheese:before {\n content: \"\\f7ef\"; }\n\n.fa-chess:before {\n content: \"\\f439\"; }\n\n.fa-chess-bishop:before {\n content: \"\\f43a\"; }\n\n.fa-chess-board:before {\n content: \"\\f43c\"; }\n\n.fa-chess-king:before {\n content: \"\\f43f\"; }\n\n.fa-chess-knight:before {\n content: \"\\f441\"; }\n\n.fa-chess-pawn:before {\n content: \"\\f443\"; }\n\n.fa-chess-queen:before {\n content: \"\\f445\"; }\n\n.fa-chess-rook:before {\n content: \"\\f447\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\f13a\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\f137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\f138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\f139\"; }\n\n.fa-chevron-down:before {\n content: \"\\f078\"; }\n\n.fa-chevron-left:before {\n content: \"\\f053\"; }\n\n.fa-chevron-right:before {\n content: \"\\f054\"; }\n\n.fa-chevron-up:before {\n content: \"\\f077\"; }\n\n.fa-child:before {\n content: \"\\f1ae\"; }\n\n.fa-chrome:before {\n content: \"\\f268\"; }\n\n.fa-chromecast:before {\n content: \"\\f838\"; }\n\n.fa-church:before {\n content: \"\\f51d\"; }\n\n.fa-circle:before {\n content: \"\\f111\"; }\n\n.fa-circle-notch:before {\n content: \"\\f1ce\"; }\n\n.fa-city:before {\n content: \"\\f64f\"; }\n\n.fa-clinic-medical:before {\n content: \"\\f7f2\"; }\n\n.fa-clipboard:before {\n content: \"\\f328\"; }\n\n.fa-clipboard-check:before {\n content: \"\\f46c\"; }\n\n.fa-clipboard-list:before {\n content: \"\\f46d\"; }\n\n.fa-clock:before {\n content: \"\\f017\"; }\n\n.fa-clone:before {\n content: \"\\f24d\"; }\n\n.fa-closed-captioning:before {\n content: \"\\f20a\"; }\n\n.fa-cloud:before {\n content: \"\\f0c2\"; }\n\n.fa-cloud-download-alt:before {\n content: \"\\f381\"; }\n\n.fa-cloud-meatball:before {\n content: \"\\f73b\"; }\n\n.fa-cloud-moon:before {\n content: \"\\f6c3\"; }\n\n.fa-cloud-moon-rain:before {\n content: \"\\f73c\"; }\n\n.fa-cloud-rain:before {\n content: \"\\f73d\"; }\n\n.fa-cloud-showers-heavy:before {\n content: \"\\f740\"; }\n\n.fa-cloud-sun:before {\n content: \"\\f6c4\"; }\n\n.fa-cloud-sun-rain:before {\n content: \"\\f743\"; }\n\n.fa-cloud-upload-alt:before {\n content: \"\\f382\"; }\n\n.fa-cloudflare:before {\n content: \"\\e07d\"; }\n\n.fa-cloudscale:before {\n content: \"\\f383\"; }\n\n.fa-cloudsmith:before {\n content: \"\\f384\"; }\n\n.fa-cloudversify:before {\n content: \"\\f385\"; }\n\n.fa-cocktail:before {\n content: \"\\f561\"; }\n\n.fa-code:before {\n content: \"\\f121\"; }\n\n.fa-code-branch:before {\n content: \"\\f126\"; }\n\n.fa-codepen:before {\n content: \"\\f1cb\"; }\n\n.fa-codiepie:before {\n content: \"\\f284\"; }\n\n.fa-coffee:before {\n content: \"\\f0f4\"; }\n\n.fa-cog:before {\n content: \"\\f013\"; }\n\n.fa-cogs:before {\n content: \"\\f085\"; }\n\n.fa-coins:before {\n content: \"\\f51e\"; }\n\n.fa-columns:before {\n content: \"\\f0db\"; }\n\n.fa-comment:before {\n content: \"\\f075\"; }\n\n.fa-comment-alt:before {\n content: \"\\f27a\"; }\n\n.fa-comment-dollar:before {\n content: \"\\f651\"; }\n\n.fa-comment-dots:before {\n content: \"\\f4ad\"; }\n\n.fa-comment-medical:before {\n content: \"\\f7f5\"; }\n\n.fa-comment-slash:before {\n content: \"\\f4b3\"; }\n\n.fa-comments:before {\n content: \"\\f086\"; }\n\n.fa-comments-dollar:before {\n content: \"\\f653\"; }\n\n.fa-compact-disc:before {\n content: \"\\f51f\"; }\n\n.fa-compass:before {\n content: \"\\f14e\"; }\n\n.fa-compress:before {\n content: \"\\f066\"; }\n\n.fa-compress-alt:before {\n content: \"\\f422\"; }\n\n.fa-compress-arrows-alt:before {\n content: \"\\f78c\"; }\n\n.fa-concierge-bell:before {\n content: \"\\f562\"; }\n\n.fa-confluence:before {\n content: \"\\f78d\"; }\n\n.fa-connectdevelop:before {\n content: \"\\f20e\"; }\n\n.fa-contao:before {\n content: \"\\f26d\"; }\n\n.fa-cookie:before {\n content: \"\\f563\"; }\n\n.fa-cookie-bite:before {\n content: \"\\f564\"; }\n\n.fa-copy:before {\n content: \"\\f0c5\"; }\n\n.fa-copyright:before {\n content: \"\\f1f9\"; }\n\n.fa-cotton-bureau:before {\n content: \"\\f89e\"; }\n\n.fa-couch:before {\n content: \"\\f4b8\"; }\n\n.fa-cpanel:before {\n content: \"\\f388\"; }\n\n.fa-creative-commons:before {\n content: \"\\f25e\"; }\n\n.fa-creative-commons-by:before {\n content: \"\\f4e7\"; }\n\n.fa-creative-commons-nc:before {\n content: \"\\f4e8\"; }\n\n.fa-creative-commons-nc-eu:before {\n content: \"\\f4e9\"; }\n\n.fa-creative-commons-nc-jp:before {\n content: \"\\f4ea\"; }\n\n.fa-creative-commons-nd:before {\n content: \"\\f4eb\"; }\n\n.fa-creative-commons-pd:before {\n content: \"\\f4ec\"; }\n\n.fa-creative-commons-pd-alt:before {\n content: \"\\f4ed\"; }\n\n.fa-creative-commons-remix:before {\n content: \"\\f4ee\"; }\n\n.fa-creative-commons-sa:before {\n content: \"\\f4ef\"; }\n\n.fa-creative-commons-sampling:before {\n content: \"\\f4f0\"; }\n\n.fa-creative-commons-sampling-plus:before {\n content: \"\\f4f1\"; }\n\n.fa-creative-commons-share:before {\n content: \"\\f4f2\"; }\n\n.fa-creative-commons-zero:before {\n content: \"\\f4f3\"; }\n\n.fa-credit-card:before {\n content: \"\\f09d\"; }\n\n.fa-critical-role:before {\n content: \"\\f6c9\"; }\n\n.fa-crop:before {\n content: \"\\f125\"; }\n\n.fa-crop-alt:before {\n content: \"\\f565\"; }\n\n.fa-cross:before {\n content: \"\\f654\"; }\n\n.fa-crosshairs:before {\n content: \"\\f05b\"; }\n\n.fa-crow:before {\n content: \"\\f520\"; }\n\n.fa-crown:before {\n content: \"\\f521\"; }\n\n.fa-crutch:before {\n content: \"\\f7f7\"; }\n\n.fa-css3:before {\n content: \"\\f13c\"; }\n\n.fa-css3-alt:before {\n content: \"\\f38b\"; }\n\n.fa-cube:before {\n content: \"\\f1b2\"; }\n\n.fa-cubes:before {\n content: \"\\f1b3\"; }\n\n.fa-cut:before {\n content: \"\\f0c4\"; }\n\n.fa-cuttlefish:before {\n content: \"\\f38c\"; }\n\n.fa-d-and-d:before {\n content: \"\\f38d\"; }\n\n.fa-d-and-d-beyond:before {\n content: \"\\f6ca\"; }\n\n.fa-dailymotion:before {\n content: \"\\e052\"; }\n\n.fa-dashcube:before {\n content: \"\\f210\"; }\n\n.fa-database:before {\n content: \"\\f1c0\"; }\n\n.fa-deaf:before {\n content: \"\\f2a4\"; }\n\n.fa-deezer:before {\n content: \"\\e077\"; }\n\n.fa-delicious:before {\n content: \"\\f1a5\"; }\n\n.fa-democrat:before {\n content: \"\\f747\"; }\n\n.fa-deploydog:before {\n content: \"\\f38e\"; }\n\n.fa-deskpro:before {\n content: \"\\f38f\"; }\n\n.fa-desktop:before {\n content: \"\\f108\"; }\n\n.fa-dev:before {\n content: \"\\f6cc\"; }\n\n.fa-deviantart:before {\n content: \"\\f1bd\"; }\n\n.fa-dharmachakra:before {\n content: \"\\f655\"; }\n\n.fa-dhl:before {\n content: \"\\f790\"; }\n\n.fa-diagnoses:before {\n content: \"\\f470\"; }\n\n.fa-diaspora:before {\n content: \"\\f791\"; }\n\n.fa-dice:before {\n content: \"\\f522\"; }\n\n.fa-dice-d20:before {\n content: \"\\f6cf\"; }\n\n.fa-dice-d6:before {\n content: \"\\f6d1\"; }\n\n.fa-dice-five:before {\n content: \"\\f523\"; }\n\n.fa-dice-four:before {\n content: \"\\f524\"; }\n\n.fa-dice-one:before {\n content: \"\\f525\"; }\n\n.fa-dice-six:before {\n content: \"\\f526\"; }\n\n.fa-dice-three:before {\n content: \"\\f527\"; }\n\n.fa-dice-two:before {\n content: \"\\f528\"; }\n\n.fa-digg:before {\n content: \"\\f1a6\"; }\n\n.fa-digital-ocean:before {\n content: \"\\f391\"; }\n\n.fa-digital-tachograph:before {\n content: \"\\f566\"; }\n\n.fa-directions:before {\n content: \"\\f5eb\"; }\n\n.fa-discord:before {\n content: \"\\f392\"; }\n\n.fa-discourse:before {\n content: \"\\f393\"; }\n\n.fa-disease:before {\n content: \"\\f7fa\"; }\n\n.fa-divide:before {\n content: \"\\f529\"; }\n\n.fa-dizzy:before {\n content: \"\\f567\"; }\n\n.fa-dna:before {\n content: \"\\f471\"; }\n\n.fa-dochub:before {\n content: \"\\f394\"; }\n\n.fa-docker:before {\n content: \"\\f395\"; }\n\n.fa-dog:before {\n content: \"\\f6d3\"; }\n\n.fa-dollar-sign:before {\n content: \"\\f155\"; }\n\n.fa-dolly:before {\n content: \"\\f472\"; }\n\n.fa-dolly-flatbed:before {\n content: \"\\f474\"; }\n\n.fa-donate:before {\n content: \"\\f4b9\"; }\n\n.fa-door-closed:before {\n content: \"\\f52a\"; }\n\n.fa-door-open:before {\n content: \"\\f52b\"; }\n\n.fa-dot-circle:before {\n content: \"\\f192\"; }\n\n.fa-dove:before {\n content: \"\\f4ba\"; }\n\n.fa-download:before {\n content: \"\\f019\"; }\n\n.fa-draft2digital:before {\n content: \"\\f396\"; }\n\n.fa-drafting-compass:before {\n content: \"\\f568\"; }\n\n.fa-dragon:before {\n content: \"\\f6d5\"; }\n\n.fa-draw-polygon:before {\n content: \"\\f5ee\"; }\n\n.fa-dribbble:before {\n content: \"\\f17d\"; }\n\n.fa-dribbble-square:before {\n content: \"\\f397\"; }\n\n.fa-dropbox:before {\n content: \"\\f16b\"; }\n\n.fa-drum:before {\n content: \"\\f569\"; }\n\n.fa-drum-steelpan:before {\n content: \"\\f56a\"; }\n\n.fa-drumstick-bite:before {\n content: \"\\f6d7\"; }\n\n.fa-drupal:before {\n content: \"\\f1a9\"; }\n\n.fa-dumbbell:before {\n content: \"\\f44b\"; }\n\n.fa-dumpster:before {\n content: \"\\f793\"; }\n\n.fa-dumpster-fire:before {\n content: \"\\f794\"; }\n\n.fa-dungeon:before {\n content: \"\\f6d9\"; }\n\n.fa-dyalog:before {\n content: \"\\f399\"; }\n\n.fa-earlybirds:before {\n content: \"\\f39a\"; }\n\n.fa-ebay:before {\n content: \"\\f4f4\"; }\n\n.fa-edge:before {\n content: \"\\f282\"; }\n\n.fa-edge-legacy:before {\n content: \"\\e078\"; }\n\n.fa-edit:before {\n content: \"\\f044\"; }\n\n.fa-egg:before {\n content: \"\\f7fb\"; }\n\n.fa-eject:before {\n content: \"\\f052\"; }\n\n.fa-elementor:before {\n content: \"\\f430\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\f141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\f142\"; }\n\n.fa-ello:before {\n content: \"\\f5f1\"; }\n\n.fa-ember:before {\n content: \"\\f423\"; }\n\n.fa-empire:before {\n content: \"\\f1d1\"; }\n\n.fa-envelope:before {\n content: \"\\f0e0\"; }\n\n.fa-envelope-open:before {\n content: \"\\f2b6\"; }\n\n.fa-envelope-open-text:before {\n content: \"\\f658\"; }\n\n.fa-envelope-square:before {\n content: \"\\f199\"; }\n\n.fa-envira:before {\n content: \"\\f299\"; }\n\n.fa-equals:before {\n content: \"\\f52c\"; }\n\n.fa-eraser:before {\n content: \"\\f12d\"; }\n\n.fa-erlang:before {\n content: \"\\f39d\"; }\n\n.fa-ethereum:before {\n content: \"\\f42e\"; }\n\n.fa-ethernet:before {\n content: \"\\f796\"; }\n\n.fa-etsy:before {\n content: \"\\f2d7\"; }\n\n.fa-euro-sign:before {\n content: \"\\f153\"; }\n\n.fa-evernote:before {\n content: \"\\f839\"; }\n\n.fa-exchange-alt:before {\n content: \"\\f362\"; }\n\n.fa-exclamation:before {\n content: \"\\f12a\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\f06a\"; }\n\n.fa-exclamation-triangle:before {\n content: \"\\f071\"; }\n\n.fa-expand:before {\n content: \"\\f065\"; }\n\n.fa-expand-alt:before {\n content: \"\\f424\"; }\n\n.fa-expand-arrows-alt:before {\n content: \"\\f31e\"; }\n\n.fa-expeditedssl:before {\n content: \"\\f23e\"; }\n\n.fa-external-link-alt:before {\n content: \"\\f35d\"; }\n\n.fa-external-link-square-alt:before {\n content: \"\\f360\"; }\n\n.fa-eye:before {\n content: \"\\f06e\"; }\n\n.fa-eye-dropper:before {\n content: \"\\f1fb\"; }\n\n.fa-eye-slash:before {\n content: \"\\f070\"; }\n\n.fa-facebook:before {\n content: \"\\f09a\"; }\n\n.fa-facebook-f:before {\n content: \"\\f39e\"; }\n\n.fa-facebook-messenger:before {\n content: \"\\f39f\"; }\n\n.fa-facebook-square:before {\n content: \"\\f082\"; }\n\n.fa-fan:before {\n content: \"\\f863\"; }\n\n.fa-fantasy-flight-games:before {\n content: \"\\f6dc\"; }\n\n.fa-fast-backward:before {\n content: \"\\f049\"; }\n\n.fa-fast-forward:before {\n content: \"\\f050\"; }\n\n.fa-faucet:before {\n content: \"\\e005\"; }\n\n.fa-fax:before {\n content: \"\\f1ac\"; }\n\n.fa-feather:before {\n content: \"\\f52d\"; }\n\n.fa-feather-alt:before {\n content: \"\\f56b\"; }\n\n.fa-fedex:before {\n content: \"\\f797\"; }\n\n.fa-fedora:before {\n content: \"\\f798\"; }\n\n.fa-female:before {\n content: \"\\f182\"; }\n\n.fa-fighter-jet:before {\n content: \"\\f0fb\"; }\n\n.fa-figma:before {\n content: \"\\f799\"; }\n\n.fa-file:before {\n content: \"\\f15b\"; }\n\n.fa-file-alt:before {\n content: \"\\f15c\"; }\n\n.fa-file-archive:before {\n content: \"\\f1c6\"; }\n\n.fa-file-audio:before {\n content: \"\\f1c7\"; }\n\n.fa-file-code:before {\n content: \"\\f1c9\"; }\n\n.fa-file-contract:before {\n content: \"\\f56c\"; }\n\n.fa-file-csv:before {\n content: \"\\f6dd\"; }\n\n.fa-file-download:before {\n content: \"\\f56d\"; }\n\n.fa-file-excel:before {\n content: \"\\f1c3\"; }\n\n.fa-file-export:before {\n content: \"\\f56e\"; }\n\n.fa-file-image:before {\n content: \"\\f1c5\"; }\n\n.fa-file-import:before {\n content: \"\\f56f\"; }\n\n.fa-file-invoice:before {\n content: \"\\f570\"; }\n\n.fa-file-invoice-dollar:before {\n content: \"\\f571\"; }\n\n.fa-file-medical:before {\n content: \"\\f477\"; }\n\n.fa-file-medical-alt:before {\n content: \"\\f478\"; }\n\n.fa-file-pdf:before {\n content: \"\\f1c1\"; }\n\n.fa-file-powerpoint:before {\n content: \"\\f1c4\"; }\n\n.fa-file-prescription:before {\n content: \"\\f572\"; }\n\n.fa-file-signature:before {\n content: \"\\f573\"; }\n\n.fa-file-upload:before {\n content: \"\\f574\"; }\n\n.fa-file-video:before {\n content: \"\\f1c8\"; }\n\n.fa-file-word:before {\n content: \"\\f1c2\"; }\n\n.fa-fill:before {\n content: \"\\f575\"; }\n\n.fa-fill-drip:before {\n content: \"\\f576\"; }\n\n.fa-film:before {\n content: \"\\f008\"; }\n\n.fa-filter:before {\n content: \"\\f0b0\"; }\n\n.fa-fingerprint:before {\n content: \"\\f577\"; }\n\n.fa-fire:before {\n content: \"\\f06d\"; }\n\n.fa-fire-alt:before {\n content: \"\\f7e4\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\f134\"; }\n\n.fa-firefox:before {\n content: \"\\f269\"; }\n\n.fa-firefox-browser:before {\n content: \"\\e007\"; }\n\n.fa-first-aid:before {\n content: \"\\f479\"; }\n\n.fa-first-order:before {\n content: \"\\f2b0\"; }\n\n.fa-first-order-alt:before {\n content: \"\\f50a\"; }\n\n.fa-firstdraft:before {\n content: \"\\f3a1\"; }\n\n.fa-fish:before {\n content: \"\\f578\"; }\n\n.fa-fist-raised:before {\n content: \"\\f6de\"; }\n\n.fa-flag:before {\n content: \"\\f024\"; }\n\n.fa-flag-checkered:before {\n content: \"\\f11e\"; }\n\n.fa-flag-usa:before {\n content: \"\\f74d\"; }\n\n.fa-flask:before {\n content: \"\\f0c3\"; }\n\n.fa-flickr:before {\n content: \"\\f16e\"; }\n\n.fa-flipboard:before {\n content: \"\\f44d\"; }\n\n.fa-flushed:before {\n content: \"\\f579\"; }\n\n.fa-fly:before {\n content: \"\\f417\"; }\n\n.fa-folder:before {\n content: \"\\f07b\"; }\n\n.fa-folder-minus:before {\n content: \"\\f65d\"; }\n\n.fa-folder-open:before {\n content: \"\\f07c\"; }\n\n.fa-folder-plus:before {\n content: \"\\f65e\"; }\n\n.fa-font:before {\n content: \"\\f031\"; }\n\n.fa-font-awesome:before {\n content: \"\\f2b4\"; }\n\n.fa-font-awesome-alt:before {\n content: \"\\f35c\"; }\n\n.fa-font-awesome-flag:before {\n content: \"\\f425\"; }\n\n.fa-font-awesome-logo-full:before {\n content: \"\\f4e6\"; }\n\n.fa-fonticons:before {\n content: \"\\f280\"; }\n\n.fa-fonticons-fi:before {\n content: \"\\f3a2\"; }\n\n.fa-football-ball:before {\n content: \"\\f44e\"; }\n\n.fa-fort-awesome:before {\n content: \"\\f286\"; }\n\n.fa-fort-awesome-alt:before {\n content: \"\\f3a3\"; }\n\n.fa-forumbee:before {\n content: \"\\f211\"; }\n\n.fa-forward:before {\n content: \"\\f04e\"; }\n\n.fa-foursquare:before {\n content: \"\\f180\"; }\n\n.fa-free-code-camp:before {\n content: \"\\f2c5\"; }\n\n.fa-freebsd:before {\n content: \"\\f3a4\"; }\n\n.fa-frog:before {\n content: \"\\f52e\"; }\n\n.fa-frown:before {\n content: \"\\f119\"; }\n\n.fa-frown-open:before {\n content: \"\\f57a\"; }\n\n.fa-fulcrum:before {\n content: \"\\f50b\"; }\n\n.fa-funnel-dollar:before {\n content: \"\\f662\"; }\n\n.fa-futbol:before {\n content: \"\\f1e3\"; }\n\n.fa-galactic-republic:before {\n content: \"\\f50c\"; }\n\n.fa-galactic-senate:before {\n content: \"\\f50d\"; }\n\n.fa-gamepad:before {\n content: \"\\f11b\"; }\n\n.fa-gas-pump:before {\n content: \"\\f52f\"; }\n\n.fa-gavel:before {\n content: \"\\f0e3\"; }\n\n.fa-gem:before {\n content: \"\\f3a5\"; }\n\n.fa-genderless:before {\n content: \"\\f22d\"; }\n\n.fa-get-pocket:before {\n content: \"\\f265\"; }\n\n.fa-gg:before {\n content: \"\\f260\"; }\n\n.fa-gg-circle:before {\n content: \"\\f261\"; }\n\n.fa-ghost:before {\n content: \"\\f6e2\"; }\n\n.fa-gift:before {\n content: \"\\f06b\"; }\n\n.fa-gifts:before {\n content: \"\\f79c\"; }\n\n.fa-git:before {\n content: \"\\f1d3\"; }\n\n.fa-git-alt:before {\n content: \"\\f841\"; }\n\n.fa-git-square:before {\n content: \"\\f1d2\"; }\n\n.fa-github:before {\n content: \"\\f09b\"; }\n\n.fa-github-alt:before {\n content: \"\\f113\"; }\n\n.fa-github-square:before {\n content: \"\\f092\"; }\n\n.fa-gitkraken:before {\n content: \"\\f3a6\"; }\n\n.fa-gitlab:before {\n content: \"\\f296\"; }\n\n.fa-gitter:before {\n content: \"\\f426\"; }\n\n.fa-glass-cheers:before {\n content: \"\\f79f\"; }\n\n.fa-glass-martini:before {\n content: \"\\f000\"; }\n\n.fa-glass-martini-alt:before {\n content: \"\\f57b\"; }\n\n.fa-glass-whiskey:before {\n content: \"\\f7a0\"; }\n\n.fa-glasses:before {\n content: \"\\f530\"; }\n\n.fa-glide:before {\n content: \"\\f2a5\"; }\n\n.fa-glide-g:before {\n content: \"\\f2a6\"; }\n\n.fa-globe:before {\n content: \"\\f0ac\"; }\n\n.fa-globe-africa:before {\n content: \"\\f57c\"; }\n\n.fa-globe-americas:before {\n content: \"\\f57d\"; }\n\n.fa-globe-asia:before {\n content: \"\\f57e\"; }\n\n.fa-globe-europe:before {\n content: \"\\f7a2\"; }\n\n.fa-gofore:before {\n content: \"\\f3a7\"; }\n\n.fa-golf-ball:before {\n content: \"\\f450\"; }\n\n.fa-goodreads:before {\n content: \"\\f3a8\"; }\n\n.fa-goodreads-g:before {\n content: \"\\f3a9\"; }\n\n.fa-google:before {\n content: \"\\f1a0\"; }\n\n.fa-google-drive:before {\n content: \"\\f3aa\"; }\n\n.fa-google-pay:before {\n content: \"\\e079\"; }\n\n.fa-google-play:before {\n content: \"\\f3ab\"; }\n\n.fa-google-plus:before {\n content: \"\\f2b3\"; }\n\n.fa-google-plus-g:before {\n content: \"\\f0d5\"; }\n\n.fa-google-plus-square:before {\n content: \"\\f0d4\"; }\n\n.fa-google-wallet:before {\n content: \"\\f1ee\"; }\n\n.fa-gopuram:before {\n content: \"\\f664\"; }\n\n.fa-graduation-cap:before {\n content: \"\\f19d\"; }\n\n.fa-gratipay:before {\n content: \"\\f184\"; }\n\n.fa-grav:before {\n content: \"\\f2d6\"; }\n\n.fa-greater-than:before {\n content: \"\\f531\"; }\n\n.fa-greater-than-equal:before {\n content: \"\\f532\"; }\n\n.fa-grimace:before {\n content: \"\\f57f\"; }\n\n.fa-grin:before {\n content: \"\\f580\"; }\n\n.fa-grin-alt:before {\n content: \"\\f581\"; }\n\n.fa-grin-beam:before {\n content: \"\\f582\"; }\n\n.fa-grin-beam-sweat:before {\n content: \"\\f583\"; }\n\n.fa-grin-hearts:before {\n content: \"\\f584\"; }\n\n.fa-grin-squint:before {\n content: \"\\f585\"; }\n\n.fa-grin-squint-tears:before {\n content: \"\\f586\"; }\n\n.fa-grin-stars:before {\n content: \"\\f587\"; }\n\n.fa-grin-tears:before {\n content: \"\\f588\"; }\n\n.fa-grin-tongue:before {\n content: \"\\f589\"; }\n\n.fa-grin-tongue-squint:before {\n content: \"\\f58a\"; }\n\n.fa-grin-tongue-wink:before {\n content: \"\\f58b\"; }\n\n.fa-grin-wink:before {\n content: \"\\f58c\"; }\n\n.fa-grip-horizontal:before {\n content: \"\\f58d\"; }\n\n.fa-grip-lines:before {\n content: \"\\f7a4\"; }\n\n.fa-grip-lines-vertical:before {\n content: \"\\f7a5\"; }\n\n.fa-grip-vertical:before {\n content: \"\\f58e\"; }\n\n.fa-gripfire:before {\n content: \"\\f3ac\"; }\n\n.fa-grunt:before {\n content: \"\\f3ad\"; }\n\n.fa-guilded:before {\n content: \"\\e07e\"; }\n\n.fa-guitar:before {\n content: \"\\f7a6\"; }\n\n.fa-gulp:before {\n content: \"\\f3ae\"; }\n\n.fa-h-square:before {\n content: \"\\f0fd\"; }\n\n.fa-hacker-news:before {\n content: \"\\f1d4\"; }\n\n.fa-hacker-news-square:before {\n content: \"\\f3af\"; }\n\n.fa-hackerrank:before {\n content: \"\\f5f7\"; }\n\n.fa-hamburger:before {\n content: \"\\f805\"; }\n\n.fa-hammer:before {\n content: \"\\f6e3\"; }\n\n.fa-hamsa:before {\n content: \"\\f665\"; }\n\n.fa-hand-holding:before {\n content: \"\\f4bd\"; }\n\n.fa-hand-holding-heart:before {\n content: \"\\f4be\"; }\n\n.fa-hand-holding-medical:before {\n content: \"\\e05c\"; }\n\n.fa-hand-holding-usd:before {\n content: \"\\f4c0\"; }\n\n.fa-hand-holding-water:before {\n content: \"\\f4c1\"; }\n\n.fa-hand-lizard:before {\n content: \"\\f258\"; }\n\n.fa-hand-middle-finger:before {\n content: \"\\f806\"; }\n\n.fa-hand-paper:before {\n content: \"\\f256\"; }\n\n.fa-hand-peace:before {\n content: \"\\f25b\"; }\n\n.fa-hand-point-down:before {\n content: \"\\f0a7\"; }\n\n.fa-hand-point-left:before {\n content: \"\\f0a5\"; }\n\n.fa-hand-point-right:before {\n content: \"\\f0a4\"; }\n\n.fa-hand-point-up:before {\n content: \"\\f0a6\"; }\n\n.fa-hand-pointer:before {\n content: \"\\f25a\"; }\n\n.fa-hand-rock:before {\n content: \"\\f255\"; }\n\n.fa-hand-scissors:before {\n content: \"\\f257\"; }\n\n.fa-hand-sparkles:before {\n content: \"\\e05d\"; }\n\n.fa-hand-spock:before {\n content: \"\\f259\"; }\n\n.fa-hands:before {\n content: \"\\f4c2\"; }\n\n.fa-hands-helping:before {\n content: \"\\f4c4\"; }\n\n.fa-hands-wash:before {\n content: \"\\e05e\"; }\n\n.fa-handshake:before {\n content: \"\\f2b5\"; }\n\n.fa-handshake-alt-slash:before {\n content: \"\\e05f\"; }\n\n.fa-handshake-slash:before {\n content: \"\\e060\"; }\n\n.fa-hanukiah:before {\n content: \"\\f6e6\"; }\n\n.fa-hard-hat:before {\n content: \"\\f807\"; }\n\n.fa-hashtag:before {\n content: \"\\f292\"; }\n\n.fa-hat-cowboy:before {\n content: \"\\f8c0\"; }\n\n.fa-hat-cowboy-side:before {\n content: \"\\f8c1\"; }\n\n.fa-hat-wizard:before {\n content: \"\\f6e8\"; }\n\n.fa-hdd:before {\n content: \"\\f0a0\"; }\n\n.fa-head-side-cough:before {\n content: \"\\e061\"; }\n\n.fa-head-side-cough-slash:before {\n content: \"\\e062\"; }\n\n.fa-head-side-mask:before {\n content: \"\\e063\"; }\n\n.fa-head-side-virus:before {\n content: \"\\e064\"; }\n\n.fa-heading:before {\n content: \"\\f1dc\"; }\n\n.fa-headphones:before {\n content: \"\\f025\"; }\n\n.fa-headphones-alt:before {\n content: \"\\f58f\"; }\n\n.fa-headset:before {\n content: \"\\f590\"; }\n\n.fa-heart:before {\n content: \"\\f004\"; }\n\n.fa-heart-broken:before {\n content: \"\\f7a9\"; }\n\n.fa-heartbeat:before {\n content: \"\\f21e\"; }\n\n.fa-helicopter:before {\n content: \"\\f533\"; }\n\n.fa-highlighter:before {\n content: \"\\f591\"; }\n\n.fa-hiking:before {\n content: \"\\f6ec\"; }\n\n.fa-hippo:before {\n content: \"\\f6ed\"; }\n\n.fa-hips:before {\n content: \"\\f452\"; }\n\n.fa-hire-a-helper:before {\n content: \"\\f3b0\"; }\n\n.fa-history:before {\n content: \"\\f1da\"; }\n\n.fa-hive:before {\n content: \"\\e07f\"; }\n\n.fa-hockey-puck:before {\n content: \"\\f453\"; }\n\n.fa-holly-berry:before {\n content: \"\\f7aa\"; }\n\n.fa-home:before {\n content: \"\\f015\"; }\n\n.fa-hooli:before {\n content: \"\\f427\"; }\n\n.fa-hornbill:before {\n content: \"\\f592\"; }\n\n.fa-horse:before {\n content: \"\\f6f0\"; }\n\n.fa-horse-head:before {\n content: \"\\f7ab\"; }\n\n.fa-hospital:before {\n content: \"\\f0f8\"; }\n\n.fa-hospital-alt:before {\n content: \"\\f47d\"; }\n\n.fa-hospital-symbol:before {\n content: \"\\f47e\"; }\n\n.fa-hospital-user:before {\n content: \"\\f80d\"; }\n\n.fa-hot-tub:before {\n content: \"\\f593\"; }\n\n.fa-hotdog:before {\n content: \"\\f80f\"; }\n\n.fa-hotel:before {\n content: \"\\f594\"; }\n\n.fa-hotjar:before {\n content: \"\\f3b1\"; }\n\n.fa-hourglass:before {\n content: \"\\f254\"; }\n\n.fa-hourglass-end:before {\n content: \"\\f253\"; }\n\n.fa-hourglass-half:before {\n content: \"\\f252\"; }\n\n.fa-hourglass-start:before {\n content: \"\\f251\"; }\n\n.fa-house-damage:before {\n content: \"\\f6f1\"; }\n\n.fa-house-user:before {\n content: \"\\e065\"; }\n\n.fa-houzz:before {\n content: \"\\f27c\"; }\n\n.fa-hryvnia:before {\n content: \"\\f6f2\"; }\n\n.fa-html5:before {\n content: \"\\f13b\"; }\n\n.fa-hubspot:before {\n content: \"\\f3b2\"; }\n\n.fa-i-cursor:before {\n content: \"\\f246\"; }\n\n.fa-ice-cream:before {\n content: \"\\f810\"; }\n\n.fa-icicles:before {\n content: \"\\f7ad\"; }\n\n.fa-icons:before {\n content: \"\\f86d\"; }\n\n.fa-id-badge:before {\n content: \"\\f2c1\"; }\n\n.fa-id-card:before {\n content: \"\\f2c2\"; }\n\n.fa-id-card-alt:before {\n content: \"\\f47f\"; }\n\n.fa-ideal:before {\n content: \"\\e013\"; }\n\n.fa-igloo:before {\n content: \"\\f7ae\"; }\n\n.fa-image:before {\n content: \"\\f03e\"; }\n\n.fa-images:before {\n content: \"\\f302\"; }\n\n.fa-imdb:before {\n content: \"\\f2d8\"; }\n\n.fa-inbox:before {\n content: \"\\f01c\"; }\n\n.fa-indent:before {\n content: \"\\f03c\"; }\n\n.fa-industry:before {\n content: \"\\f275\"; }\n\n.fa-infinity:before {\n content: \"\\f534\"; }\n\n.fa-info:before {\n content: \"\\f129\"; }\n\n.fa-info-circle:before {\n content: \"\\f05a\"; }\n\n.fa-innosoft:before {\n content: \"\\e080\"; }\n\n.fa-instagram:before {\n content: \"\\f16d\"; }\n\n.fa-instagram-square:before {\n content: \"\\e055\"; }\n\n.fa-instalod:before {\n content: \"\\e081\"; }\n\n.fa-intercom:before {\n content: \"\\f7af\"; }\n\n.fa-internet-explorer:before {\n content: \"\\f26b\"; }\n\n.fa-invision:before {\n content: \"\\f7b0\"; }\n\n.fa-ioxhost:before {\n content: \"\\f208\"; }\n\n.fa-italic:before {\n content: \"\\f033\"; }\n\n.fa-itch-io:before {\n content: \"\\f83a\"; }\n\n.fa-itunes:before {\n content: \"\\f3b4\"; }\n\n.fa-itunes-note:before {\n content: \"\\f3b5\"; }\n\n.fa-java:before {\n content: \"\\f4e4\"; }\n\n.fa-jedi:before {\n content: \"\\f669\"; }\n\n.fa-jedi-order:before {\n content: \"\\f50e\"; }\n\n.fa-jenkins:before {\n content: \"\\f3b6\"; }\n\n.fa-jira:before {\n content: \"\\f7b1\"; }\n\n.fa-joget:before {\n content: \"\\f3b7\"; }\n\n.fa-joint:before {\n content: \"\\f595\"; }\n\n.fa-joomla:before {\n content: \"\\f1aa\"; }\n\n.fa-journal-whills:before {\n content: \"\\f66a\"; }\n\n.fa-js:before {\n content: \"\\f3b8\"; }\n\n.fa-js-square:before {\n content: \"\\f3b9\"; }\n\n.fa-jsfiddle:before {\n content: \"\\f1cc\"; }\n\n.fa-kaaba:before {\n content: \"\\f66b\"; }\n\n.fa-kaggle:before {\n content: \"\\f5fa\"; }\n\n.fa-key:before {\n content: \"\\f084\"; }\n\n.fa-keybase:before {\n content: \"\\f4f5\"; }\n\n.fa-keyboard:before {\n content: \"\\f11c\"; }\n\n.fa-keycdn:before {\n content: \"\\f3ba\"; }\n\n.fa-khanda:before {\n content: \"\\f66d\"; }\n\n.fa-kickstarter:before {\n content: \"\\f3bb\"; }\n\n.fa-kickstarter-k:before {\n content: \"\\f3bc\"; }\n\n.fa-kiss:before {\n content: \"\\f596\"; }\n\n.fa-kiss-beam:before {\n content: \"\\f597\"; }\n\n.fa-kiss-wink-heart:before {\n content: \"\\f598\"; }\n\n.fa-kiwi-bird:before {\n content: \"\\f535\"; }\n\n.fa-korvue:before {\n content: \"\\f42f\"; }\n\n.fa-landmark:before {\n content: \"\\f66f\"; }\n\n.fa-language:before {\n content: \"\\f1ab\"; }\n\n.fa-laptop:before {\n content: \"\\f109\"; }\n\n.fa-laptop-code:before {\n content: \"\\f5fc\"; }\n\n.fa-laptop-house:before {\n content: \"\\e066\"; }\n\n.fa-laptop-medical:before {\n content: \"\\f812\"; }\n\n.fa-laravel:before {\n content: \"\\f3bd\"; }\n\n.fa-lastfm:before {\n content: \"\\f202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\f203\"; }\n\n.fa-laugh:before {\n content: \"\\f599\"; }\n\n.fa-laugh-beam:before {\n content: \"\\f59a\"; }\n\n.fa-laugh-squint:before {\n content: \"\\f59b\"; }\n\n.fa-laugh-wink:before {\n content: \"\\f59c\"; }\n\n.fa-layer-group:before {\n content: \"\\f5fd\"; }\n\n.fa-leaf:before {\n content: \"\\f06c\"; }\n\n.fa-leanpub:before {\n content: \"\\f212\"; }\n\n.fa-lemon:before {\n content: \"\\f094\"; }\n\n.fa-less:before {\n content: \"\\f41d\"; }\n\n.fa-less-than:before {\n content: \"\\f536\"; }\n\n.fa-less-than-equal:before {\n content: \"\\f537\"; }\n\n.fa-level-down-alt:before {\n content: \"\\f3be\"; }\n\n.fa-level-up-alt:before {\n content: \"\\f3bf\"; }\n\n.fa-life-ring:before {\n content: \"\\f1cd\"; }\n\n.fa-lightbulb:before {\n content: \"\\f0eb\"; }\n\n.fa-line:before {\n content: \"\\f3c0\"; }\n\n.fa-link:before {\n content: \"\\f0c1\"; }\n\n.fa-linkedin:before {\n content: \"\\f08c\"; }\n\n.fa-linkedin-in:before {\n content: \"\\f0e1\"; }\n\n.fa-linode:before {\n content: \"\\f2b8\"; }\n\n.fa-linux:before {\n content: \"\\f17c\"; }\n\n.fa-lira-sign:before {\n content: \"\\f195\"; }\n\n.fa-list:before {\n content: \"\\f03a\"; }\n\n.fa-list-alt:before {\n content: \"\\f022\"; }\n\n.fa-list-ol:before {\n content: \"\\f0cb\"; }\n\n.fa-list-ul:before {\n content: \"\\f0ca\"; }\n\n.fa-location-arrow:before {\n content: \"\\f124\"; }\n\n.fa-lock:before {\n content: \"\\f023\"; }\n\n.fa-lock-open:before {\n content: \"\\f3c1\"; }\n\n.fa-long-arrow-alt-down:before {\n content: \"\\f309\"; }\n\n.fa-long-arrow-alt-left:before {\n content: \"\\f30a\"; }\n\n.fa-long-arrow-alt-right:before {\n content: \"\\f30b\"; }\n\n.fa-long-arrow-alt-up:before {\n content: \"\\f30c\"; }\n\n.fa-low-vision:before {\n content: \"\\f2a8\"; }\n\n.fa-luggage-cart:before {\n content: \"\\f59d\"; }\n\n.fa-lungs:before {\n content: \"\\f604\"; }\n\n.fa-lungs-virus:before {\n content: \"\\e067\"; }\n\n.fa-lyft:before {\n content: \"\\f3c3\"; }\n\n.fa-magento:before {\n content: \"\\f3c4\"; }\n\n.fa-magic:before {\n content: \"\\f0d0\"; }\n\n.fa-magnet:before {\n content: \"\\f076\"; }\n\n.fa-mail-bulk:before {\n content: \"\\f674\"; }\n\n.fa-mailchimp:before {\n content: \"\\f59e\"; }\n\n.fa-male:before {\n content: \"\\f183\"; }\n\n.fa-mandalorian:before {\n content: \"\\f50f\"; }\n\n.fa-map:before {\n content: \"\\f279\"; }\n\n.fa-map-marked:before {\n content: \"\\f59f\"; }\n\n.fa-map-marked-alt:before {\n content: \"\\f5a0\"; }\n\n.fa-map-marker:before {\n content: \"\\f041\"; }\n\n.fa-map-marker-alt:before {\n content: \"\\f3c5\"; }\n\n.fa-map-pin:before {\n content: \"\\f276\"; }\n\n.fa-map-signs:before {\n content: \"\\f277\"; }\n\n.fa-markdown:before {\n content: \"\\f60f\"; }\n\n.fa-marker:before {\n content: \"\\f5a1\"; }\n\n.fa-mars:before {\n content: \"\\f222\"; }\n\n.fa-mars-double:before {\n content: \"\\f227\"; }\n\n.fa-mars-stroke:before {\n content: \"\\f229\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\f22b\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\f22a\"; }\n\n.fa-mask:before {\n content: \"\\f6fa\"; }\n\n.fa-mastodon:before {\n content: \"\\f4f6\"; }\n\n.fa-maxcdn:before {\n content: \"\\f136\"; }\n\n.fa-mdb:before {\n content: \"\\f8ca\"; }\n\n.fa-medal:before {\n content: \"\\f5a2\"; }\n\n.fa-medapps:before {\n content: \"\\f3c6\"; }\n\n.fa-medium:before {\n content: \"\\f23a\"; }\n\n.fa-medium-m:before {\n content: \"\\f3c7\"; }\n\n.fa-medkit:before {\n content: \"\\f0fa\"; }\n\n.fa-medrt:before {\n content: \"\\f3c8\"; }\n\n.fa-meetup:before {\n content: \"\\f2e0\"; }\n\n.fa-megaport:before {\n content: \"\\f5a3\"; }\n\n.fa-meh:before {\n content: \"\\f11a\"; }\n\n.fa-meh-blank:before {\n content: \"\\f5a4\"; }\n\n.fa-meh-rolling-eyes:before {\n content: \"\\f5a5\"; }\n\n.fa-memory:before {\n content: \"\\f538\"; }\n\n.fa-mendeley:before {\n content: \"\\f7b3\"; }\n\n.fa-menorah:before {\n content: \"\\f676\"; }\n\n.fa-mercury:before {\n content: \"\\f223\"; }\n\n.fa-meteor:before {\n content: \"\\f753\"; }\n\n.fa-microblog:before {\n content: \"\\e01a\"; }\n\n.fa-microchip:before {\n content: \"\\f2db\"; }\n\n.fa-microphone:before {\n content: \"\\f130\"; }\n\n.fa-microphone-alt:before {\n content: \"\\f3c9\"; }\n\n.fa-microphone-alt-slash:before {\n content: \"\\f539\"; }\n\n.fa-microphone-slash:before {\n content: \"\\f131\"; }\n\n.fa-microscope:before {\n content: \"\\f610\"; }\n\n.fa-microsoft:before {\n content: \"\\f3ca\"; }\n\n.fa-minus:before {\n content: \"\\f068\"; }\n\n.fa-minus-circle:before {\n content: \"\\f056\"; }\n\n.fa-minus-square:before {\n content: \"\\f146\"; }\n\n.fa-mitten:before {\n content: \"\\f7b5\"; }\n\n.fa-mix:before {\n content: \"\\f3cb\"; }\n\n.fa-mixcloud:before {\n content: \"\\f289\"; }\n\n.fa-mixer:before {\n content: \"\\e056\"; }\n\n.fa-mizuni:before {\n content: \"\\f3cc\"; }\n\n.fa-mobile:before {\n content: \"\\f10b\"; }\n\n.fa-mobile-alt:before {\n content: \"\\f3cd\"; }\n\n.fa-modx:before {\n content: \"\\f285\"; }\n\n.fa-monero:before {\n content: \"\\f3d0\"; }\n\n.fa-money-bill:before {\n content: \"\\f0d6\"; }\n\n.fa-money-bill-alt:before {\n content: \"\\f3d1\"; }\n\n.fa-money-bill-wave:before {\n content: \"\\f53a\"; }\n\n.fa-money-bill-wave-alt:before {\n content: \"\\f53b\"; }\n\n.fa-money-check:before {\n content: \"\\f53c\"; }\n\n.fa-money-check-alt:before {\n content: \"\\f53d\"; }\n\n.fa-monument:before {\n content: \"\\f5a6\"; }\n\n.fa-moon:before {\n content: \"\\f186\"; }\n\n.fa-mortar-pestle:before {\n content: \"\\f5a7\"; }\n\n.fa-mosque:before {\n content: \"\\f678\"; }\n\n.fa-motorcycle:before {\n content: \"\\f21c\"; }\n\n.fa-mountain:before {\n content: \"\\f6fc\"; }\n\n.fa-mouse:before {\n content: \"\\f8cc\"; }\n\n.fa-mouse-pointer:before {\n content: \"\\f245\"; }\n\n.fa-mug-hot:before {\n content: \"\\f7b6\"; }\n\n.fa-music:before {\n content: \"\\f001\"; }\n\n.fa-napster:before {\n content: \"\\f3d2\"; }\n\n.fa-neos:before {\n content: \"\\f612\"; }\n\n.fa-network-wired:before {\n content: \"\\f6ff\"; }\n\n.fa-neuter:before {\n content: \"\\f22c\"; }\n\n.fa-newspaper:before {\n content: \"\\f1ea\"; }\n\n.fa-nimblr:before {\n content: \"\\f5a8\"; }\n\n.fa-node:before {\n content: \"\\f419\"; }\n\n.fa-node-js:before {\n content: \"\\f3d3\"; }\n\n.fa-not-equal:before {\n content: \"\\f53e\"; }\n\n.fa-notes-medical:before {\n content: \"\\f481\"; }\n\n.fa-npm:before {\n content: \"\\f3d4\"; }\n\n.fa-ns8:before {\n content: \"\\f3d5\"; }\n\n.fa-nutritionix:before {\n content: \"\\f3d6\"; }\n\n.fa-object-group:before {\n content: \"\\f247\"; }\n\n.fa-object-ungroup:before {\n content: \"\\f248\"; }\n\n.fa-octopus-deploy:before {\n content: \"\\e082\"; }\n\n.fa-odnoklassniki:before {\n content: \"\\f263\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\\f264\"; }\n\n.fa-oil-can:before {\n content: \"\\f613\"; }\n\n.fa-old-republic:before {\n content: \"\\f510\"; }\n\n.fa-om:before {\n content: \"\\f679\"; }\n\n.fa-opencart:before {\n content: \"\\f23d\"; }\n\n.fa-openid:before {\n content: \"\\f19b\"; }\n\n.fa-opera:before {\n content: \"\\f26a\"; }\n\n.fa-optin-monster:before {\n content: \"\\f23c\"; }\n\n.fa-orcid:before {\n content: \"\\f8d2\"; }\n\n.fa-osi:before {\n content: \"\\f41a\"; }\n\n.fa-otter:before {\n content: \"\\f700\"; }\n\n.fa-outdent:before {\n content: \"\\f03b\"; }\n\n.fa-page4:before {\n content: \"\\f3d7\"; }\n\n.fa-pagelines:before {\n content: \"\\f18c\"; }\n\n.fa-pager:before {\n content: \"\\f815\"; }\n\n.fa-paint-brush:before {\n content: \"\\f1fc\"; }\n\n.fa-paint-roller:before {\n content: \"\\f5aa\"; }\n\n.fa-palette:before {\n content: \"\\f53f\"; }\n\n.fa-palfed:before {\n content: \"\\f3d8\"; }\n\n.fa-pallet:before {\n content: \"\\f482\"; }\n\n.fa-paper-plane:before {\n content: \"\\f1d8\"; }\n\n.fa-paperclip:before {\n content: \"\\f0c6\"; }\n\n.fa-parachute-box:before {\n content: \"\\f4cd\"; }\n\n.fa-paragraph:before {\n content: \"\\f1dd\"; }\n\n.fa-parking:before {\n content: \"\\f540\"; }\n\n.fa-passport:before {\n content: \"\\f5ab\"; }\n\n.fa-pastafarianism:before {\n content: \"\\f67b\"; }\n\n.fa-paste:before {\n content: \"\\f0ea\"; }\n\n.fa-patreon:before {\n content: \"\\f3d9\"; }\n\n.fa-pause:before {\n content: \"\\f04c\"; }\n\n.fa-pause-circle:before {\n content: \"\\f28b\"; }\n\n.fa-paw:before {\n content: \"\\f1b0\"; }\n\n.fa-paypal:before {\n content: \"\\f1ed\"; }\n\n.fa-peace:before {\n content: \"\\f67c\"; }\n\n.fa-pen:before {\n content: \"\\f304\"; }\n\n.fa-pen-alt:before {\n content: \"\\f305\"; }\n\n.fa-pen-fancy:before {\n content: \"\\f5ac\"; }\n\n.fa-pen-nib:before {\n content: \"\\f5ad\"; }\n\n.fa-pen-square:before {\n content: \"\\f14b\"; }\n\n.fa-pencil-alt:before {\n content: \"\\f303\"; }\n\n.fa-pencil-ruler:before {\n content: \"\\f5ae\"; }\n\n.fa-penny-arcade:before {\n content: \"\\f704\"; }\n\n.fa-people-arrows:before {\n content: \"\\e068\"; }\n\n.fa-people-carry:before {\n content: \"\\f4ce\"; }\n\n.fa-pepper-hot:before {\n content: \"\\f816\"; }\n\n.fa-perbyte:before {\n content: \"\\e083\"; }\n\n.fa-percent:before {\n content: \"\\f295\"; }\n\n.fa-percentage:before {\n content: \"\\f541\"; }\n\n.fa-periscope:before {\n content: \"\\f3da\"; }\n\n.fa-person-booth:before {\n content: \"\\f756\"; }\n\n.fa-phabricator:before {\n content: \"\\f3db\"; }\n\n.fa-phoenix-framework:before {\n content: \"\\f3dc\"; }\n\n.fa-phoenix-squadron:before {\n content: \"\\f511\"; }\n\n.fa-phone:before {\n content: \"\\f095\"; }\n\n.fa-phone-alt:before {\n content: \"\\f879\"; }\n\n.fa-phone-slash:before {\n content: \"\\f3dd\"; }\n\n.fa-phone-square:before {\n content: \"\\f098\"; }\n\n.fa-phone-square-alt:before {\n content: \"\\f87b\"; }\n\n.fa-phone-volume:before {\n content: \"\\f2a0\"; }\n\n.fa-photo-video:before {\n content: \"\\f87c\"; }\n\n.fa-php:before {\n content: \"\\f457\"; }\n\n.fa-pied-piper:before {\n content: \"\\f2ae\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\"; }\n\n.fa-pied-piper-hat:before {\n content: \"\\f4e5\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\"; }\n\n.fa-pied-piper-square:before {\n content: \"\\e01e\"; }\n\n.fa-piggy-bank:before {\n content: \"\\f4d3\"; }\n\n.fa-pills:before {\n content: \"\\f484\"; }\n\n.fa-pinterest:before {\n content: \"\\f0d2\"; }\n\n.fa-pinterest-p:before {\n content: \"\\f231\"; }\n\n.fa-pinterest-square:before {\n content: \"\\f0d3\"; }\n\n.fa-pizza-slice:before {\n content: \"\\f818\"; }\n\n.fa-place-of-worship:before {\n content: \"\\f67f\"; }\n\n.fa-plane:before {\n content: \"\\f072\"; }\n\n.fa-plane-arrival:before {\n content: \"\\f5af\"; }\n\n.fa-plane-departure:before {\n content: \"\\f5b0\"; }\n\n.fa-plane-slash:before {\n content: \"\\e069\"; }\n\n.fa-play:before {\n content: \"\\f04b\"; }\n\n.fa-play-circle:before {\n content: \"\\f144\"; }\n\n.fa-playstation:before {\n content: \"\\f3df\"; }\n\n.fa-plug:before {\n content: \"\\f1e6\"; }\n\n.fa-plus:before {\n content: \"\\f067\"; }\n\n.fa-plus-circle:before {\n content: \"\\f055\"; }\n\n.fa-plus-square:before {\n content: \"\\f0fe\"; }\n\n.fa-podcast:before {\n content: \"\\f2ce\"; }\n\n.fa-poll:before {\n content: \"\\f681\"; }\n\n.fa-poll-h:before {\n content: \"\\f682\"; }\n\n.fa-poo:before {\n content: \"\\f2fe\"; }\n\n.fa-poo-storm:before {\n content: \"\\f75a\"; }\n\n.fa-poop:before {\n content: \"\\f619\"; }\n\n.fa-portrait:before {\n content: \"\\f3e0\"; }\n\n.fa-pound-sign:before {\n content: \"\\f154\"; }\n\n.fa-power-off:before {\n content: \"\\f011\"; }\n\n.fa-pray:before {\n content: \"\\f683\"; }\n\n.fa-praying-hands:before {\n content: \"\\f684\"; }\n\n.fa-prescription:before {\n content: \"\\f5b1\"; }\n\n.fa-prescription-bottle:before {\n content: \"\\f485\"; }\n\n.fa-prescription-bottle-alt:before {\n content: \"\\f486\"; }\n\n.fa-print:before {\n content: \"\\f02f\"; }\n\n.fa-procedures:before {\n content: \"\\f487\"; }\n\n.fa-product-hunt:before {\n content: \"\\f288\"; }\n\n.fa-project-diagram:before {\n content: \"\\f542\"; }\n\n.fa-pump-medical:before {\n content: \"\\e06a\"; }\n\n.fa-pump-soap:before {\n content: \"\\e06b\"; }\n\n.fa-pushed:before {\n content: \"\\f3e1\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\f12e\"; }\n\n.fa-python:before {\n content: \"\\f3e2\"; }\n\n.fa-qq:before {\n content: \"\\f1d6\"; }\n\n.fa-qrcode:before {\n content: \"\\f029\"; }\n\n.fa-question:before {\n content: \"\\f128\"; }\n\n.fa-question-circle:before {\n content: \"\\f059\"; }\n\n.fa-quidditch:before {\n content: \"\\f458\"; }\n\n.fa-quinscape:before {\n content: \"\\f459\"; }\n\n.fa-quora:before {\n content: \"\\f2c4\"; }\n\n.fa-quote-left:before {\n content: \"\\f10d\"; }\n\n.fa-quote-right:before {\n content: \"\\f10e\"; }\n\n.fa-quran:before {\n content: \"\\f687\"; }\n\n.fa-r-project:before {\n content: \"\\f4f7\"; }\n\n.fa-radiation:before {\n content: \"\\f7b9\"; }\n\n.fa-radiation-alt:before {\n content: \"\\f7ba\"; }\n\n.fa-rainbow:before {\n content: \"\\f75b\"; }\n\n.fa-random:before {\n content: \"\\f074\"; }\n\n.fa-raspberry-pi:before {\n content: \"\\f7bb\"; }\n\n.fa-ravelry:before {\n content: \"\\f2d9\"; }\n\n.fa-react:before {\n content: \"\\f41b\"; }\n\n.fa-reacteurope:before {\n content: \"\\f75d\"; }\n\n.fa-readme:before {\n content: \"\\f4d5\"; }\n\n.fa-rebel:before {\n content: \"\\f1d0\"; }\n\n.fa-receipt:before {\n content: \"\\f543\"; }\n\n.fa-record-vinyl:before {\n content: \"\\f8d9\"; }\n\n.fa-recycle:before {\n content: \"\\f1b8\"; }\n\n.fa-red-river:before {\n content: \"\\f3e3\"; }\n\n.fa-reddit:before {\n content: \"\\f1a1\"; }\n\n.fa-reddit-alien:before {\n content: \"\\f281\"; }\n\n.fa-reddit-square:before {\n content: \"\\f1a2\"; }\n\n.fa-redhat:before {\n content: \"\\f7bc\"; }\n\n.fa-redo:before {\n content: \"\\f01e\"; }\n\n.fa-redo-alt:before {\n content: \"\\f2f9\"; }\n\n.fa-registered:before {\n content: \"\\f25d\"; }\n\n.fa-remove-format:before {\n content: \"\\f87d\"; }\n\n.fa-renren:before {\n content: \"\\f18b\"; }\n\n.fa-reply:before {\n content: \"\\f3e5\"; }\n\n.fa-reply-all:before {\n content: \"\\f122\"; }\n\n.fa-replyd:before {\n content: \"\\f3e6\"; }\n\n.fa-republican:before {\n content: \"\\f75e\"; }\n\n.fa-researchgate:before {\n content: \"\\f4f8\"; }\n\n.fa-resolving:before {\n content: \"\\f3e7\"; }\n\n.fa-restroom:before {\n content: \"\\f7bd\"; }\n\n.fa-retweet:before {\n content: \"\\f079\"; }\n\n.fa-rev:before {\n content: \"\\f5b2\"; }\n\n.fa-ribbon:before {\n content: \"\\f4d6\"; }\n\n.fa-ring:before {\n content: \"\\f70b\"; }\n\n.fa-road:before {\n content: \"\\f018\"; }\n\n.fa-robot:before {\n content: \"\\f544\"; }\n\n.fa-rocket:before {\n content: \"\\f135\"; }\n\n.fa-rocketchat:before {\n content: \"\\f3e8\"; }\n\n.fa-rockrms:before {\n content: \"\\f3e9\"; }\n\n.fa-route:before {\n content: \"\\f4d7\"; }\n\n.fa-rss:before {\n content: \"\\f09e\"; }\n\n.fa-rss-square:before {\n content: \"\\f143\"; }\n\n.fa-ruble-sign:before {\n content: \"\\f158\"; }\n\n.fa-ruler:before {\n content: \"\\f545\"; }\n\n.fa-ruler-combined:before {\n content: \"\\f546\"; }\n\n.fa-ruler-horizontal:before {\n content: \"\\f547\"; }\n\n.fa-ruler-vertical:before {\n content: \"\\f548\"; }\n\n.fa-running:before {\n content: \"\\f70c\"; }\n\n.fa-rupee-sign:before {\n content: \"\\f156\"; }\n\n.fa-rust:before {\n content: \"\\e07a\"; }\n\n.fa-sad-cry:before {\n content: \"\\f5b3\"; }\n\n.fa-sad-tear:before {\n content: \"\\f5b4\"; }\n\n.fa-safari:before {\n content: \"\\f267\"; }\n\n.fa-salesforce:before {\n content: \"\\f83b\"; }\n\n.fa-sass:before {\n content: \"\\f41e\"; }\n\n.fa-satellite:before {\n content: \"\\f7bf\"; }\n\n.fa-satellite-dish:before {\n content: \"\\f7c0\"; }\n\n.fa-save:before {\n content: \"\\f0c7\"; }\n\n.fa-schlix:before {\n content: \"\\f3ea\"; }\n\n.fa-school:before {\n content: \"\\f549\"; }\n\n.fa-screwdriver:before {\n content: \"\\f54a\"; }\n\n.fa-scribd:before {\n content: \"\\f28a\"; }\n\n.fa-scroll:before {\n content: \"\\f70e\"; }\n\n.fa-sd-card:before {\n content: \"\\f7c2\"; }\n\n.fa-search:before {\n content: \"\\f002\"; }\n\n.fa-search-dollar:before {\n content: \"\\f688\"; }\n\n.fa-search-location:before {\n content: \"\\f689\"; }\n\n.fa-search-minus:before {\n content: \"\\f010\"; }\n\n.fa-search-plus:before {\n content: \"\\f00e\"; }\n\n.fa-searchengin:before {\n content: \"\\f3eb\"; }\n\n.fa-seedling:before {\n content: \"\\f4d8\"; }\n\n.fa-sellcast:before {\n content: \"\\f2da\"; }\n\n.fa-sellsy:before {\n content: \"\\f213\"; }\n\n.fa-server:before {\n content: \"\\f233\"; }\n\n.fa-servicestack:before {\n content: \"\\f3ec\"; }\n\n.fa-shapes:before {\n content: \"\\f61f\"; }\n\n.fa-share:before {\n content: \"\\f064\"; }\n\n.fa-share-alt:before {\n content: \"\\f1e0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\f1e1\"; }\n\n.fa-share-square:before {\n content: \"\\f14d\"; }\n\n.fa-shekel-sign:before {\n content: \"\\f20b\"; }\n\n.fa-shield-alt:before {\n content: \"\\f3ed\"; }\n\n.fa-shield-virus:before {\n content: \"\\e06c\"; }\n\n.fa-ship:before {\n content: \"\\f21a\"; }\n\n.fa-shipping-fast:before {\n content: \"\\f48b\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\f214\"; }\n\n.fa-shoe-prints:before {\n content: \"\\f54b\"; }\n\n.fa-shopify:before {\n content: \"\\e057\"; }\n\n.fa-shopping-bag:before {\n content: \"\\f290\"; }\n\n.fa-shopping-basket:before {\n content: \"\\f291\"; }\n\n.fa-shopping-cart:before {\n content: \"\\f07a\"; }\n\n.fa-shopware:before {\n content: \"\\f5b5\"; }\n\n.fa-shower:before {\n content: \"\\f2cc\"; }\n\n.fa-shuttle-van:before {\n content: \"\\f5b6\"; }\n\n.fa-sign:before {\n content: \"\\f4d9\"; }\n\n.fa-sign-in-alt:before {\n content: \"\\f2f6\"; }\n\n.fa-sign-language:before {\n content: \"\\f2a7\"; }\n\n.fa-sign-out-alt:before {\n content: \"\\f2f5\"; }\n\n.fa-signal:before {\n content: \"\\f012\"; }\n\n.fa-signature:before {\n content: \"\\f5b7\"; }\n\n.fa-sim-card:before {\n content: \"\\f7c4\"; }\n\n.fa-simplybuilt:before {\n content: \"\\f215\"; }\n\n.fa-sink:before {\n content: \"\\e06d\"; }\n\n.fa-sistrix:before {\n content: \"\\f3ee\"; }\n\n.fa-sitemap:before {\n content: \"\\f0e8\"; }\n\n.fa-sith:before {\n content: \"\\f512\"; }\n\n.fa-skating:before {\n content: \"\\f7c5\"; }\n\n.fa-sketch:before {\n content: \"\\f7c6\"; }\n\n.fa-skiing:before {\n content: \"\\f7c9\"; }\n\n.fa-skiing-nordic:before {\n content: \"\\f7ca\"; }\n\n.fa-skull:before {\n content: \"\\f54c\"; }\n\n.fa-skull-crossbones:before {\n content: \"\\f714\"; }\n\n.fa-skyatlas:before {\n content: \"\\f216\"; }\n\n.fa-skype:before {\n content: \"\\f17e\"; }\n\n.fa-slack:before {\n content: \"\\f198\"; }\n\n.fa-slack-hash:before {\n content: \"\\f3ef\"; }\n\n.fa-slash:before {\n content: \"\\f715\"; }\n\n.fa-sleigh:before {\n content: \"\\f7cc\"; }\n\n.fa-sliders-h:before {\n content: \"\\f1de\"; }\n\n.fa-slideshare:before {\n content: \"\\f1e7\"; }\n\n.fa-smile:before {\n content: \"\\f118\"; }\n\n.fa-smile-beam:before {\n content: \"\\f5b8\"; }\n\n.fa-smile-wink:before {\n content: \"\\f4da\"; }\n\n.fa-smog:before {\n content: \"\\f75f\"; }\n\n.fa-smoking:before {\n content: \"\\f48d\"; }\n\n.fa-smoking-ban:before {\n content: \"\\f54d\"; }\n\n.fa-sms:before {\n content: \"\\f7cd\"; }\n\n.fa-snapchat:before {\n content: \"\\f2ab\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\"; }\n\n.fa-snapchat-square:before {\n content: \"\\f2ad\"; }\n\n.fa-snowboarding:before {\n content: \"\\f7ce\"; }\n\n.fa-snowflake:before {\n content: \"\\f2dc\"; }\n\n.fa-snowman:before {\n content: \"\\f7d0\"; }\n\n.fa-snowplow:before {\n content: \"\\f7d2\"; }\n\n.fa-soap:before {\n content: \"\\e06e\"; }\n\n.fa-socks:before {\n content: \"\\f696\"; }\n\n.fa-solar-panel:before {\n content: \"\\f5ba\"; }\n\n.fa-sort:before {\n content: \"\\f0dc\"; }\n\n.fa-sort-alpha-down:before {\n content: \"\\f15d\"; }\n\n.fa-sort-alpha-down-alt:before {\n content: \"\\f881\"; }\n\n.fa-sort-alpha-up:before {\n content: \"\\f15e\"; }\n\n.fa-sort-alpha-up-alt:before {\n content: \"\\f882\"; }\n\n.fa-sort-amount-down:before {\n content: \"\\f160\"; }\n\n.fa-sort-amount-down-alt:before {\n content: \"\\f884\"; }\n\n.fa-sort-amount-up:before {\n content: \"\\f161\"; }\n\n.fa-sort-amount-up-alt:before {\n content: \"\\f885\"; }\n\n.fa-sort-down:before {\n content: \"\\f0dd\"; }\n\n.fa-sort-numeric-down:before {\n content: \"\\f162\"; }\n\n.fa-sort-numeric-down-alt:before {\n content: \"\\f886\"; }\n\n.fa-sort-numeric-up:before {\n content: \"\\f163\"; }\n\n.fa-sort-numeric-up-alt:before {\n content: \"\\f887\"; }\n\n.fa-sort-up:before {\n content: \"\\f0de\"; }\n\n.fa-soundcloud:before {\n content: \"\\f1be\"; }\n\n.fa-sourcetree:before {\n content: \"\\f7d3\"; }\n\n.fa-spa:before {\n content: \"\\f5bb\"; }\n\n.fa-space-shuttle:before {\n content: \"\\f197\"; }\n\n.fa-speakap:before {\n content: \"\\f3f3\"; }\n\n.fa-speaker-deck:before {\n content: \"\\f83c\"; }\n\n.fa-spell-check:before {\n content: \"\\f891\"; }\n\n.fa-spider:before {\n content: \"\\f717\"; }\n\n.fa-spinner:before {\n content: \"\\f110\"; }\n\n.fa-splotch:before {\n content: \"\\f5bc\"; }\n\n.fa-spotify:before {\n content: \"\\f1bc\"; }\n\n.fa-spray-can:before {\n content: \"\\f5bd\"; }\n\n.fa-square:before {\n content: \"\\f0c8\"; }\n\n.fa-square-full:before {\n content: \"\\f45c\"; }\n\n.fa-square-root-alt:before {\n content: \"\\f698\"; }\n\n.fa-squarespace:before {\n content: \"\\f5be\"; }\n\n.fa-stack-exchange:before {\n content: \"\\f18d\"; }\n\n.fa-stack-overflow:before {\n content: \"\\f16c\"; }\n\n.fa-stackpath:before {\n content: \"\\f842\"; }\n\n.fa-stamp:before {\n content: \"\\f5bf\"; }\n\n.fa-star:before {\n content: \"\\f005\"; }\n\n.fa-star-and-crescent:before {\n content: \"\\f699\"; }\n\n.fa-star-half:before {\n content: \"\\f089\"; }\n\n.fa-star-half-alt:before {\n content: \"\\f5c0\"; }\n\n.fa-star-of-david:before {\n content: \"\\f69a\"; }\n\n.fa-star-of-life:before {\n content: \"\\f621\"; }\n\n.fa-staylinked:before {\n content: \"\\f3f5\"; }\n\n.fa-steam:before {\n content: \"\\f1b6\"; }\n\n.fa-steam-square:before {\n content: \"\\f1b7\"; }\n\n.fa-steam-symbol:before {\n content: \"\\f3f6\"; }\n\n.fa-step-backward:before {\n content: \"\\f048\"; }\n\n.fa-step-forward:before {\n content: \"\\f051\"; }\n\n.fa-stethoscope:before {\n content: \"\\f0f1\"; }\n\n.fa-sticker-mule:before {\n content: \"\\f3f7\"; }\n\n.fa-sticky-note:before {\n content: \"\\f249\"; }\n\n.fa-stop:before {\n content: \"\\f04d\"; }\n\n.fa-stop-circle:before {\n content: \"\\f28d\"; }\n\n.fa-stopwatch:before {\n content: \"\\f2f2\"; }\n\n.fa-stopwatch-20:before {\n content: \"\\e06f\"; }\n\n.fa-store:before {\n content: \"\\f54e\"; }\n\n.fa-store-alt:before {\n content: \"\\f54f\"; }\n\n.fa-store-alt-slash:before {\n content: \"\\e070\"; }\n\n.fa-store-slash:before {\n content: \"\\e071\"; }\n\n.fa-strava:before {\n content: \"\\f428\"; }\n\n.fa-stream:before {\n content: \"\\f550\"; }\n\n.fa-street-view:before {\n content: \"\\f21d\"; }\n\n.fa-strikethrough:before {\n content: \"\\f0cc\"; }\n\n.fa-stripe:before {\n content: \"\\f429\"; }\n\n.fa-stripe-s:before {\n content: \"\\f42a\"; }\n\n.fa-stroopwafel:before {\n content: \"\\f551\"; }\n\n.fa-studiovinari:before {\n content: \"\\f3f8\"; }\n\n.fa-stumbleupon:before {\n content: \"\\f1a4\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\"; }\n\n.fa-subscript:before {\n content: \"\\f12c\"; }\n\n.fa-subway:before {\n content: \"\\f239\"; }\n\n.fa-suitcase:before {\n content: \"\\f0f2\"; }\n\n.fa-suitcase-rolling:before {\n content: \"\\f5c1\"; }\n\n.fa-sun:before {\n content: \"\\f185\"; }\n\n.fa-superpowers:before {\n content: \"\\f2dd\"; }\n\n.fa-superscript:before {\n content: \"\\f12b\"; }\n\n.fa-supple:before {\n content: \"\\f3f9\"; }\n\n.fa-surprise:before {\n content: \"\\f5c2\"; }\n\n.fa-suse:before {\n content: \"\\f7d6\"; }\n\n.fa-swatchbook:before {\n content: \"\\f5c3\"; }\n\n.fa-swift:before {\n content: \"\\f8e1\"; }\n\n.fa-swimmer:before {\n content: \"\\f5c4\"; }\n\n.fa-swimming-pool:before {\n content: \"\\f5c5\"; }\n\n.fa-symfony:before {\n content: \"\\f83d\"; }\n\n.fa-synagogue:before {\n content: \"\\f69b\"; }\n\n.fa-sync:before {\n content: \"\\f021\"; }\n\n.fa-sync-alt:before {\n content: \"\\f2f1\"; }\n\n.fa-syringe:before {\n content: \"\\f48e\"; }\n\n.fa-table:before {\n content: \"\\f0ce\"; }\n\n.fa-table-tennis:before {\n content: \"\\f45d\"; }\n\n.fa-tablet:before {\n content: \"\\f10a\"; }\n\n.fa-tablet-alt:before {\n content: \"\\f3fa\"; }\n\n.fa-tablets:before {\n content: \"\\f490\"; }\n\n.fa-tachometer-alt:before {\n content: \"\\f3fd\"; }\n\n.fa-tag:before {\n content: \"\\f02b\"; }\n\n.fa-tags:before {\n content: \"\\f02c\"; }\n\n.fa-tape:before {\n content: \"\\f4db\"; }\n\n.fa-tasks:before {\n content: \"\\f0ae\"; }\n\n.fa-taxi:before {\n content: \"\\f1ba\"; }\n\n.fa-teamspeak:before {\n content: \"\\f4f9\"; }\n\n.fa-teeth:before {\n content: \"\\f62e\"; }\n\n.fa-teeth-open:before {\n content: \"\\f62f\"; }\n\n.fa-telegram:before {\n content: \"\\f2c6\"; }\n\n.fa-telegram-plane:before {\n content: \"\\f3fe\"; }\n\n.fa-temperature-high:before {\n content: \"\\f769\"; }\n\n.fa-temperature-low:before {\n content: \"\\f76b\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\f1d5\"; }\n\n.fa-tenge:before {\n content: \"\\f7d7\"; }\n\n.fa-terminal:before {\n content: \"\\f120\"; }\n\n.fa-text-height:before {\n content: \"\\f034\"; }\n\n.fa-text-width:before {\n content: \"\\f035\"; }\n\n.fa-th:before {\n content: \"\\f00a\"; }\n\n.fa-th-large:before {\n content: \"\\f009\"; }\n\n.fa-th-list:before {\n content: \"\\f00b\"; }\n\n.fa-the-red-yeti:before {\n content: \"\\f69d\"; }\n\n.fa-theater-masks:before {\n content: \"\\f630\"; }\n\n.fa-themeco:before {\n content: \"\\f5c6\"; }\n\n.fa-themeisle:before {\n content: \"\\f2b2\"; }\n\n.fa-thermometer:before {\n content: \"\\f491\"; }\n\n.fa-thermometer-empty:before {\n content: \"\\f2cb\"; }\n\n.fa-thermometer-full:before {\n content: \"\\f2c7\"; }\n\n.fa-thermometer-half:before {\n content: \"\\f2c9\"; }\n\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\"; }\n\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\"; }\n\n.fa-think-peaks:before {\n content: \"\\f731\"; }\n\n.fa-thumbs-down:before {\n content: \"\\f165\"; }\n\n.fa-thumbs-up:before {\n content: \"\\f164\"; }\n\n.fa-thumbtack:before {\n content: \"\\f08d\"; }\n\n.fa-ticket-alt:before {\n content: \"\\f3ff\"; }\n\n.fa-tiktok:before {\n content: \"\\e07b\"; }\n\n.fa-times:before {\n content: \"\\f00d\"; }\n\n.fa-times-circle:before {\n content: \"\\f057\"; }\n\n.fa-tint:before {\n content: \"\\f043\"; }\n\n.fa-tint-slash:before {\n content: \"\\f5c7\"; }\n\n.fa-tired:before {\n content: \"\\f5c8\"; }\n\n.fa-toggle-off:before {\n content: \"\\f204\"; }\n\n.fa-toggle-on:before {\n content: \"\\f205\"; }\n\n.fa-toilet:before {\n content: \"\\f7d8\"; }\n\n.fa-toilet-paper:before {\n content: \"\\f71e\"; }\n\n.fa-toilet-paper-slash:before {\n content: \"\\e072\"; }\n\n.fa-toolbox:before {\n content: \"\\f552\"; }\n\n.fa-tools:before {\n content: \"\\f7d9\"; }\n\n.fa-tooth:before {\n content: \"\\f5c9\"; }\n\n.fa-torah:before {\n content: \"\\f6a0\"; }\n\n.fa-torii-gate:before {\n content: \"\\f6a1\"; }\n\n.fa-tractor:before {\n content: \"\\f722\"; }\n\n.fa-trade-federation:before {\n content: \"\\f513\"; }\n\n.fa-trademark:before {\n content: \"\\f25c\"; }\n\n.fa-traffic-light:before {\n content: \"\\f637\"; }\n\n.fa-trailer:before {\n content: \"\\e041\"; }\n\n.fa-train:before {\n content: \"\\f238\"; }\n\n.fa-tram:before {\n content: \"\\f7da\"; }\n\n.fa-transgender:before {\n content: \"\\f224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\f225\"; }\n\n.fa-trash:before {\n content: \"\\f1f8\"; }\n\n.fa-trash-alt:before {\n content: \"\\f2ed\"; }\n\n.fa-trash-restore:before {\n content: \"\\f829\"; }\n\n.fa-trash-restore-alt:before {\n content: \"\\f82a\"; }\n\n.fa-tree:before {\n content: \"\\f1bb\"; }\n\n.fa-trello:before {\n content: \"\\f181\"; }\n\n.fa-trophy:before {\n content: \"\\f091\"; }\n\n.fa-truck:before {\n content: \"\\f0d1\"; }\n\n.fa-truck-loading:before {\n content: \"\\f4de\"; }\n\n.fa-truck-monster:before {\n content: \"\\f63b\"; }\n\n.fa-truck-moving:before {\n content: \"\\f4df\"; }\n\n.fa-truck-pickup:before {\n content: \"\\f63c\"; }\n\n.fa-tshirt:before {\n content: \"\\f553\"; }\n\n.fa-tty:before {\n content: \"\\f1e4\"; }\n\n.fa-tumblr:before {\n content: \"\\f173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\f174\"; }\n\n.fa-tv:before {\n content: \"\\f26c\"; }\n\n.fa-twitch:before {\n content: \"\\f1e8\"; }\n\n.fa-twitter:before {\n content: \"\\f099\"; }\n\n.fa-twitter-square:before {\n content: \"\\f081\"; }\n\n.fa-typo3:before {\n content: \"\\f42b\"; }\n\n.fa-uber:before {\n content: \"\\f402\"; }\n\n.fa-ubuntu:before {\n content: \"\\f7df\"; }\n\n.fa-uikit:before {\n content: \"\\f403\"; }\n\n.fa-umbraco:before {\n content: \"\\f8e8\"; }\n\n.fa-umbrella:before {\n content: \"\\f0e9\"; }\n\n.fa-umbrella-beach:before {\n content: \"\\f5ca\"; }\n\n.fa-uncharted:before {\n content: \"\\e084\"; }\n\n.fa-underline:before {\n content: \"\\f0cd\"; }\n\n.fa-undo:before {\n content: \"\\f0e2\"; }\n\n.fa-undo-alt:before {\n content: \"\\f2ea\"; }\n\n.fa-uniregistry:before {\n content: \"\\f404\"; }\n\n.fa-unity:before {\n content: \"\\e049\"; }\n\n.fa-universal-access:before {\n content: \"\\f29a\"; }\n\n.fa-university:before {\n content: \"\\f19c\"; }\n\n.fa-unlink:before {\n content: \"\\f127\"; }\n\n.fa-unlock:before {\n content: \"\\f09c\"; }\n\n.fa-unlock-alt:before {\n content: \"\\f13e\"; }\n\n.fa-unsplash:before {\n content: \"\\e07c\"; }\n\n.fa-untappd:before {\n content: \"\\f405\"; }\n\n.fa-upload:before {\n content: \"\\f093\"; }\n\n.fa-ups:before {\n content: \"\\f7e0\"; }\n\n.fa-usb:before {\n content: \"\\f287\"; }\n\n.fa-user:before {\n content: \"\\f007\"; }\n\n.fa-user-alt:before {\n content: \"\\f406\"; }\n\n.fa-user-alt-slash:before {\n content: \"\\f4fa\"; }\n\n.fa-user-astronaut:before {\n content: \"\\f4fb\"; }\n\n.fa-user-check:before {\n content: \"\\f4fc\"; }\n\n.fa-user-circle:before {\n content: \"\\f2bd\"; }\n\n.fa-user-clock:before {\n content: \"\\f4fd\"; }\n\n.fa-user-cog:before {\n content: \"\\f4fe\"; }\n\n.fa-user-edit:before {\n content: \"\\f4ff\"; }\n\n.fa-user-friends:before {\n content: \"\\f500\"; }\n\n.fa-user-graduate:before {\n content: \"\\f501\"; }\n\n.fa-user-injured:before {\n content: \"\\f728\"; }\n\n.fa-user-lock:before {\n content: \"\\f502\"; }\n\n.fa-user-md:before {\n content: \"\\f0f0\"; }\n\n.fa-user-minus:before {\n content: \"\\f503\"; }\n\n.fa-user-ninja:before {\n content: \"\\f504\"; }\n\n.fa-user-nurse:before {\n content: \"\\f82f\"; }\n\n.fa-user-plus:before {\n content: \"\\f234\"; }\n\n.fa-user-secret:before {\n content: \"\\f21b\"; }\n\n.fa-user-shield:before {\n content: \"\\f505\"; }\n\n.fa-user-slash:before {\n content: \"\\f506\"; }\n\n.fa-user-tag:before {\n content: \"\\f507\"; }\n\n.fa-user-tie:before {\n content: \"\\f508\"; }\n\n.fa-user-times:before {\n content: \"\\f235\"; }\n\n.fa-users:before {\n content: \"\\f0c0\"; }\n\n.fa-users-cog:before {\n content: \"\\f509\"; }\n\n.fa-users-slash:before {\n content: \"\\e073\"; }\n\n.fa-usps:before {\n content: \"\\f7e1\"; }\n\n.fa-ussunnah:before {\n content: \"\\f407\"; }\n\n.fa-utensil-spoon:before {\n content: \"\\f2e5\"; }\n\n.fa-utensils:before {\n content: \"\\f2e7\"; }\n\n.fa-vaadin:before {\n content: \"\\f408\"; }\n\n.fa-vector-square:before {\n content: \"\\f5cb\"; }\n\n.fa-venus:before {\n content: \"\\f221\"; }\n\n.fa-venus-double:before {\n content: \"\\f226\"; }\n\n.fa-venus-mars:before {\n content: \"\\f228\"; }\n\n.fa-vest:before {\n content: \"\\e085\"; }\n\n.fa-vest-patches:before {\n content: \"\\e086\"; }\n\n.fa-viacoin:before {\n content: \"\\f237\"; }\n\n.fa-viadeo:before {\n content: \"\\f2a9\"; }\n\n.fa-viadeo-square:before {\n content: \"\\f2aa\"; }\n\n.fa-vial:before {\n content: \"\\f492\"; }\n\n.fa-vials:before {\n content: \"\\f493\"; }\n\n.fa-viber:before {\n content: \"\\f409\"; }\n\n.fa-video:before {\n content: \"\\f03d\"; }\n\n.fa-video-slash:before {\n content: \"\\f4e2\"; }\n\n.fa-vihara:before {\n content: \"\\f6a7\"; }\n\n.fa-vimeo:before {\n content: \"\\f40a\"; }\n\n.fa-vimeo-square:before {\n content: \"\\f194\"; }\n\n.fa-vimeo-v:before {\n content: \"\\f27d\"; }\n\n.fa-vine:before {\n content: \"\\f1ca\"; }\n\n.fa-virus:before {\n content: \"\\e074\"; }\n\n.fa-virus-slash:before {\n content: \"\\e075\"; }\n\n.fa-viruses:before {\n content: \"\\e076\"; }\n\n.fa-vk:before {\n content: \"\\f189\"; }\n\n.fa-vnv:before {\n content: \"\\f40b\"; }\n\n.fa-voicemail:before {\n content: \"\\f897\"; }\n\n.fa-volleyball-ball:before {\n content: \"\\f45f\"; }\n\n.fa-volume-down:before {\n content: \"\\f027\"; }\n\n.fa-volume-mute:before {\n content: \"\\f6a9\"; }\n\n.fa-volume-off:before {\n content: \"\\f026\"; }\n\n.fa-volume-up:before {\n content: \"\\f028\"; }\n\n.fa-vote-yea:before {\n content: \"\\f772\"; }\n\n.fa-vr-cardboard:before {\n content: \"\\f729\"; }\n\n.fa-vuejs:before {\n content: \"\\f41f\"; }\n\n.fa-walking:before {\n content: \"\\f554\"; }\n\n.fa-wallet:before {\n content: \"\\f555\"; }\n\n.fa-warehouse:before {\n content: \"\\f494\"; }\n\n.fa-watchman-monitoring:before {\n content: \"\\e087\"; }\n\n.fa-water:before {\n content: \"\\f773\"; }\n\n.fa-wave-square:before {\n content: \"\\f83e\"; }\n\n.fa-waze:before {\n content: \"\\f83f\"; }\n\n.fa-weebly:before {\n content: \"\\f5cc\"; }\n\n.fa-weibo:before {\n content: \"\\f18a\"; }\n\n.fa-weight:before {\n content: \"\\f496\"; }\n\n.fa-weight-hanging:before {\n content: \"\\f5cd\"; }\n\n.fa-weixin:before {\n content: \"\\f1d7\"; }\n\n.fa-whatsapp:before {\n content: \"\\f232\"; }\n\n.fa-whatsapp-square:before {\n content: \"\\f40c\"; }\n\n.fa-wheelchair:before {\n content: \"\\f193\"; }\n\n.fa-whmcs:before {\n content: \"\\f40d\"; }\n\n.fa-wifi:before {\n content: \"\\f1eb\"; }\n\n.fa-wikipedia-w:before {\n content: \"\\f266\"; }\n\n.fa-wind:before {\n content: \"\\f72e\"; }\n\n.fa-window-close:before {\n content: \"\\f410\"; }\n\n.fa-window-maximize:before {\n content: \"\\f2d0\"; }\n\n.fa-window-minimize:before {\n content: \"\\f2d1\"; }\n\n.fa-window-restore:before {\n content: \"\\f2d2\"; }\n\n.fa-windows:before {\n content: \"\\f17a\"; }\n\n.fa-wine-bottle:before {\n content: \"\\f72f\"; }\n\n.fa-wine-glass:before {\n content: \"\\f4e3\"; }\n\n.fa-wine-glass-alt:before {\n content: \"\\f5ce\"; }\n\n.fa-wix:before {\n content: \"\\f5cf\"; }\n\n.fa-wizards-of-the-coast:before {\n content: \"\\f730\"; }\n\n.fa-wodu:before {\n content: \"\\e088\"; }\n\n.fa-wolf-pack-battalion:before {\n content: \"\\f514\"; }\n\n.fa-won-sign:before {\n content: \"\\f159\"; }\n\n.fa-wordpress:before {\n content: \"\\f19a\"; }\n\n.fa-wordpress-simple:before {\n content: \"\\f411\"; }\n\n.fa-wpbeginner:before {\n content: \"\\f297\"; }\n\n.fa-wpexplorer:before {\n content: \"\\f2de\"; }\n\n.fa-wpforms:before {\n content: \"\\f298\"; }\n\n.fa-wpressr:before {\n content: \"\\f3e4\"; }\n\n.fa-wrench:before {\n content: \"\\f0ad\"; }\n\n.fa-x-ray:before {\n content: \"\\f497\"; }\n\n.fa-xbox:before {\n content: \"\\f412\"; }\n\n.fa-xing:before {\n content: \"\\f168\"; }\n\n.fa-xing-square:before {\n content: \"\\f169\"; }\n\n.fa-y-combinator:before {\n content: \"\\f23b\"; }\n\n.fa-yahoo:before {\n content: \"\\f19e\"; }\n\n.fa-yammer:before {\n content: \"\\f840\"; }\n\n.fa-yandex:before {\n content: \"\\f413\"; }\n\n.fa-yandex-international:before {\n content: \"\\f414\"; }\n\n.fa-yarn:before {\n content: \"\\f7e3\"; }\n\n.fa-yelp:before {\n content: \"\\f1e9\"; }\n\n.fa-yen-sign:before {\n content: \"\\f157\"; }\n\n.fa-yin-yang:before {\n content: \"\\f6ad\"; }\n\n.fa-yoast:before {\n content: \"\\f2b1\"; }\n\n.fa-youtube:before {\n content: \"\\f167\"; }\n\n.fa-youtube-square:before {\n content: \"\\f431\"; }\n\n.fa-zhihu:before {\n content: \"\\f63f\"; }\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto; }\n@font-face {\n font-family: 'Font Awesome 5 Brands';\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"../webfonts/fa-brands-400.eot\");\n src: url(\"../webfonts/fa-brands-400.eot?#iefix\") format(\"embedded-opentype\"), url(\"../webfonts/fa-brands-400.woff2\") format(\"woff2\"), url(\"../webfonts/fa-brands-400.woff\") format(\"woff\"), url(\"../webfonts/fa-brands-400.ttf\") format(\"truetype\"), url(\"../webfonts/fa-brands-400.svg#fontawesome\") format(\"svg\"); }\n\n.fab {\n font-family: 'Font Awesome 5 Brands';\n font-weight: 400; }\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"../webfonts/fa-regular-400.eot\");\n src: url(\"../webfonts/fa-regular-400.eot?#iefix\") format(\"embedded-opentype\"), url(\"../webfonts/fa-regular-400.woff2\") format(\"woff2\"), url(\"../webfonts/fa-regular-400.woff\") format(\"woff\"), url(\"../webfonts/fa-regular-400.ttf\") format(\"truetype\"), url(\"../webfonts/fa-regular-400.svg#fontawesome\") format(\"svg\"); }\n\n.far {\n font-family: 'Font Awesome 5 Free';\n font-weight: 400; }\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 900;\n font-display: block;\n src: url(\"../webfonts/fa-solid-900.eot\");\n src: url(\"../webfonts/fa-solid-900.eot?#iefix\") format(\"embedded-opentype\"), url(\"../webfonts/fa-solid-900.woff2\") format(\"woff2\"), url(\"../webfonts/fa-solid-900.woff\") format(\"woff\"), url(\"../webfonts/fa-solid-900.ttf\") format(\"truetype\"), url(\"../webfonts/fa-solid-900.svg#fontawesome\") format(\"svg\"); }\n\n.fa,\n.fas {\n font-family: 'Font Awesome 5 Free';\n font-weight: 900; }\n", "// Styles necessary for Quill\n\nLIST_STYLE = decimal lower-alpha lower-roman\nLIST_STYLE_WIDTH = 1.2em\nLIST_STYLE_MARGIN = 0.3em\nLIST_STYLE_OUTER_WIDTH = LIST_STYLE_MARGIN + LIST_STYLE_WIDTH\nMAX_INDENT = 9\n\nresets(arr)\n unquote('list-' + join(' list-', arr))\n\n.ql-container\n box-sizing: border-box\n font-family: Helvetica, Arial, sans-serif\n font-size: 13px\n height: 100%\n margin: 0px\n position: relative\n\n.ql-container.ql-disabled\n .ql-tooltip\n visibility: hidden\n\n.ql-container:not(.ql-disabled)\n li[data-list=checked],\n li[data-list=unchecked]\n > .ql-ui\n cursor: pointer\n\n.ql-clipboard\n left: -100000px\n height: 1px\n overflow-y: hidden\n position: absolute\n top: 50%\n p\n margin: 0\n padding: 0\n\n.ql-editor\n box-sizing: border-box\n counter-reset: resets(0..MAX_INDENT)\n line-height: 1.42\n height: 100%\n outline: none\n overflow-y: auto\n padding: 12px 15px\n tab-size: 4\n -moz-tab-size: 4\n text-align: left\n white-space: pre-wrap\n word-wrap: break-word\n > *\n cursor: text\n\n p, ol, pre, blockquote, h1, h2, h3, h4, h5, h6\n margin: 0\n padding: 0\n p, h1, h2, h3, h4, h5, h6\n @supports (counter-set: none)\n counter-set: resets(0..MAX_INDENT)\n @supports not (counter-set: none)\n counter-reset: resets(0..MAX_INDENT)\n table\n border-collapse: collapse\n td\n border: 1px solid #000\n padding: 2px 5px\n ol\n padding-left: 1.5em\n li\n list-style-type: none\n padding-left: LIST_STYLE_OUTER_WIDTH\n position: relative\n\n > .ql-ui:before\n display: inline-block\n margin-left: -1*LIST_STYLE_OUTER_WIDTH\n margin-right: LIST_STYLE_MARGIN\n text-align: right\n white-space: nowrap\n width: LIST_STYLE_WIDTH\n\n li[data-list=checked],\n li[data-list=unchecked]\n > .ql-ui\n color: #777\n\n li[data-list=bullet] > .ql-ui:before\n content: '\\2022'\n li[data-list=checked] > .ql-ui:before\n content: '\\2611'\n li[data-list=unchecked] > .ql-ui:before\n content: '\\2610'\n\n li[data-list]\n @supports (counter-set: none)\n counter-set: resets(1..MAX_INDENT)\n @supports not (counter-set: none)\n counter-reset: resets(1..MAX_INDENT)\n\n li[data-list=ordered]\n counter-increment: list-0\n > .ql-ui:before\n content: unquote('counter(list-0, ' + LIST_STYLE[0] + ')') '. '\n for num in (1..MAX_INDENT)\n li[data-list=ordered].ql-indent-{num}\n counter-increment: unquote('list-' + num)\n > .ql-ui:before\n content: unquote('counter(list-' + num + ', ' + LIST_STYLE[num%3] + ')') '. '\n if (num < MAX_INDENT)\n li[data-list].ql-indent-{num}\n @supports (counter-set: none)\n counter-set: resets((num+1)..MAX_INDENT)\n @supports not (counter-set: none)\n counter-reset: resets((num+1)..MAX_INDENT)\n\n for num in (1..MAX_INDENT)\n .ql-indent-{num}:not(.ql-direction-rtl)\n padding-left: (3*num)em\n li.ql-indent-{num}:not(.ql-direction-rtl)\n padding-left: (3*num + LIST_STYLE_OUTER_WIDTH)em\n .ql-indent-{num}.ql-direction-rtl.ql-align-right\n padding-right: (3*num)em\n li.ql-indent-{num}.ql-direction-rtl.ql-align-right\n padding-right: (3*num + LIST_STYLE_OUTER_WIDTH)em\n\n li.ql-direction-rtl\n padding-right: LIST_STYLE_OUTER_WIDTH\n > .ql-ui:before\n margin-left: LIST_STYLE_MARGIN\n margin-right: -1*LIST_STYLE_OUTER_WIDTH\n text-align: left\n\n table\n table-layout: fixed\n width: 100%\n td\n outline: none\n\n .ql-code-block-container\n font-family: monospace\n\n .ql-video\n display: block\n max-width: 100%\n .ql-video.ql-align-center\n margin: 0 auto\n .ql-video.ql-align-right\n margin: 0 0 0 auto\n\n .ql-bg-black\n background-color: rgb(0,0,0)\n .ql-bg-red\n background-color: rgb(230,0,0)\n .ql-bg-orange\n background-color: rgb(255,153,0)\n .ql-bg-yellow\n background-color: rgb(255,255,0)\n .ql-bg-green\n background-color: rgb(0,138,0)\n .ql-bg-blue\n background-color: rgb(0,102,204)\n .ql-bg-purple\n background-color: rgb(153,51,255)\n\n .ql-color-white\n color: rgb(255,255,255)\n .ql-color-red\n color: rgb(230,0,0)\n .ql-color-orange\n color: rgb(255,153,0)\n .ql-color-yellow\n color: rgb(255,255,0)\n .ql-color-green\n color: rgb(0,138,0)\n .ql-color-blue\n color: rgb(0,102,204)\n .ql-color-purple\n color: rgb(153,51,255)\n\n .ql-font-serif\n font-family: Georgia, Times New Roman, serif\n .ql-font-monospace\n font-family: Monaco, Courier New, monospace\n\n .ql-size-small\n font-size: 0.75em\n .ql-size-large\n font-size: 1.5em\n .ql-size-huge\n font-size: 2.5em\n\n .ql-direction-rtl\n direction: rtl\n text-align: inherit\n\n .ql-align-center\n text-align: center\n .ql-align-justify\n text-align: justify\n .ql-align-right\n text-align: right\n\n .ql-ui\n position: absolute\n\n.ql-editor.ql-blank::before\n color: rgba(0,0,0,0.6)\n content: attr(data-placeholder)\n font-style: italic\n left: 15px\n pointer-events: none\n position: absolute\n right: 15px\n", "// Styles shared between snow and bubble\n\ncontrolHeight = 24px\ninputPaddingWidth = 5px\ninputPaddingHeight = 3px\n\ncolorItemMargin = 2px\ncolorItemSize = 16px\ncolorItemsPerRow = 7\n\n\n.ql-{themeName}.ql-toolbar, .ql-{themeName} .ql-toolbar\n &:after\n clear: both\n content: ''\n display: table\n\n button\n background: none\n border: none\n cursor: pointer\n display: inline-block\n float: left\n height: controlHeight\n padding: inputPaddingHeight inputPaddingWidth\n width: controlHeight + (inputPaddingWidth - inputPaddingHeight)*2\n\n svg\n float: left\n height: 100%\n\n &:active:hover\n outline: none\n\n input.ql-image[type=file]\n display: none\n\n button:hover, button:focus, button.ql-active,\n .ql-picker-label:hover, .ql-picker-label.ql-active,\n .ql-picker-item:hover, .ql-picker-item.ql-selected\n color: activeColor\n .ql-fill, .ql-stroke.ql-fill\n fill: activeColor\n .ql-stroke, .ql-stroke-miter\n stroke: activeColor\n\n// Fix for iOS not losing hover on touch\n@media (pointer: coarse)\n .ql-{themeName}.ql-toolbar, .ql-{themeName} .ql-toolbar\n button:hover:not(.ql-active)\n color: inactiveColor\n .ql-fill, .ql-stroke.ql-fill\n fill: inactiveColor\n .ql-stroke, .ql-stroke-miter\n stroke: inactiveColor\n\n.ql-{themeName}\n box-sizing: border-box\n *\n box-sizing: border-box\n\n .ql-hidden\n display: none\n .ql-out-bottom, .ql-out-top\n visibility: hidden\n\n .ql-tooltip\n position: absolute\n transform: translateY(10px)\n a\n cursor: pointer\n text-decoration: none\n .ql-tooltip.ql-flip\n transform: translateY(-10px)\n\n .ql-formats\n &:after\n clear: both\n content: ''\n display: table\n display: inline-block\n vertical-align: middle\n\n .ql-stroke\n fill: none\n stroke: inactiveColor\n stroke-linecap: round\n stroke-linejoin: round\n stroke-width: 2\n .ql-stroke-miter\n fill: none\n stroke: inactiveColor\n stroke-miterlimit: 10\n stroke-width: 2\n\n .ql-fill, .ql-stroke.ql-fill\n fill: inactiveColor\n\n .ql-empty\n fill: none\n .ql-even\n fill-rule: evenodd\n .ql-thin, .ql-stroke.ql-thin\n stroke-width: 1\n .ql-transparent\n opacity: 0.4\n\n .ql-direction\n svg:last-child\n display: none\n .ql-direction.ql-active\n svg:last-child\n display: inline\n svg:first-child\n display: none\n\n .ql-editor\n h1\n font-size: 2em\n h2\n font-size: 1.5em\n h3\n font-size: 1.17em\n h4\n font-size: 1em\n h5\n font-size: 0.83em\n h6\n font-size: 0.67em\n a\n text-decoration: underline\n blockquote\n border-left: 4px solid #ccc\n margin-bottom: 5px\n margin-top: 5px\n padding-left: 16px\n code, .ql-code-block-container\n background-color: #f0f0f0\n border-radius: 3px\n .ql-code-block-container\n margin-bottom: 5px\n margin-top: 5px\n padding: 5px 10px\n code\n font-size: 85%\n padding: 2px 4px\n .ql-code-block-container\n background-color: #23241f\n color: #f8f8f2\n overflow: visible\n img\n max-width: 100%\n\n .ql-picker\n color: inactiveColor\n display: inline-block\n float: left\n font-size: 14px\n font-weight: 500\n height: controlHeight\n position: relative\n vertical-align: middle\n .ql-picker-label\n cursor: pointer\n display: inline-block\n height: 100%\n padding-left: 8px\n padding-right: 2px\n position: relative\n width: 100%\n &::before\n display: inline-block\n line-height: 22px\n .ql-picker-options\n background-color: backgroundColor\n display: none\n min-width: 100%\n padding: 4px 8px\n position: absolute\n white-space: nowrap\n .ql-picker-item\n cursor: pointer\n display: block\n padding-bottom: 5px\n padding-top: 5px\n .ql-picker.ql-expanded\n .ql-picker-label\n color: borderColor\n z-index: 2\n .ql-fill\n fill: borderColor\n .ql-stroke\n stroke: borderColor\n .ql-picker-options\n display: block\n margin-top: -1px\n top: 100%\n z-index: 1\n\n .ql-color-picker, .ql-icon-picker\n width: controlHeight + 4\n .ql-picker-label\n padding: 2px 4px\n svg\n right: 4px\n .ql-icon-picker\n .ql-picker-options\n padding: 4px 0px\n .ql-picker-item\n height: controlHeight\n width: controlHeight\n padding: 2px 4px\n .ql-color-picker\n .ql-picker-options\n padding: inputPaddingHeight inputPaddingWidth\n width: (colorItemSize + 2*colorItemMargin) * colorItemsPerRow + 2*inputPaddingWidth + 2 // +2 for the border\n .ql-picker-item\n border: 1px solid transparent\n float: left\n height: colorItemSize\n margin: colorItemMargin\n padding: 0px\n width: colorItemSize\n\n .ql-picker:not(.ql-color-picker):not(.ql-icon-picker)\n svg\n position: absolute\n margin-top: -9px\n right: 0\n top: 50%\n width: 18px\n\n .ql-picker.ql-header, .ql-picker.ql-font, .ql-picker.ql-size\n .ql-picker-label[data-label]:not([data-label='']),\n .ql-picker-item[data-label]:not([data-label=''])\n &::before\n content: attr(data-label)\n\n .ql-picker.ql-header\n width: 98px\n .ql-picker-label::before,\n .ql-picker-item::before\n content: 'Normal'\n for num in (1..6)\n .ql-picker-label[data-value=\\\"{num}\\\"]::before,\n .ql-picker-item[data-value=\\\"{num}\\\"]::before\n content: 'Heading ' + num\n .ql-picker-item[data-value=\"1\"]::before\n font-size: 2em\n .ql-picker-item[data-value=\"2\"]::before\n font-size: 1.5em\n .ql-picker-item[data-value=\"3\"]::before\n font-size: 1.17em\n .ql-picker-item[data-value=\"4\"]::before\n font-size: 1em\n .ql-picker-item[data-value=\"5\"]::before\n font-size: 0.83em\n .ql-picker-item[data-value=\"6\"]::before\n font-size: 0.67em\n\n .ql-picker.ql-font\n width: 108px\n .ql-picker-label::before,\n .ql-picker-item::before\n content: 'Sans Serif'\n .ql-picker-label[data-value=serif]::before,\n .ql-picker-item[data-value=serif]::before\n content: 'Serif'\n .ql-picker-label[data-value=monospace]::before,\n .ql-picker-item[data-value=monospace]::before\n content: 'Monospace'\n .ql-picker-item[data-value=serif]::before\n font-family: Georgia, Times New Roman, serif\n .ql-picker-item[data-value=monospace]::before\n font-family: Monaco, Courier New, monospace\n\n .ql-picker.ql-size\n width: 98px\n .ql-picker-label::before,\n .ql-picker-item::before\n content: 'Normal'\n .ql-picker-label[data-value=small]::before,\n .ql-picker-item[data-value=small]::before\n content: 'Small'\n .ql-picker-label[data-value=large]::before,\n .ql-picker-item[data-value=large]::before\n content: 'Large'\n .ql-picker-label[data-value=huge]::before,\n .ql-picker-item[data-value=huge]::before\n content: 'Huge'\n .ql-picker-item[data-value=small]::before\n font-size: 10px\n .ql-picker-item[data-value=large]::before\n font-size: 18px\n .ql-picker-item[data-value=huge]::before\n font-size: 32px\n\n .ql-color-picker.ql-background\n .ql-picker-item\n background-color: #fff\n .ql-color-picker.ql-color\n .ql-picker-item\n background-color: #000\n\n.ql-code-block-container\n position: relative\n .ql-ui\n right: 5px\n top: 5px\n", ".ql-toolbar.ql-snow\n border: 1px solid borderColor\n box-sizing: border-box\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\n padding: 8px\n\n .ql-formats\n margin-right: 15px\n\n .ql-picker-label\n border: 1px solid transparent\n .ql-picker-options\n border: 1px solid transparent\n box-shadow: rgba(0,0,0,0.2) 0 2px 8px\n .ql-picker.ql-expanded\n .ql-picker-label\n border-color: borderColor\n .ql-picker-options\n border-color: borderColor\n\n .ql-color-picker\n .ql-picker-item.ql-selected, .ql-picker-item:hover\n border-color: #000\n\n.ql-toolbar.ql-snow + .ql-container.ql-snow\n border-top: 0px;\n", "tooltipMargin = 8px\n\n.ql-snow\n .ql-tooltip\n background-color: #fff\n border: 1px solid borderColor\n box-shadow: 0px 0px 5px shadowColor\n color: textColor\n padding: 5px 12px\n white-space: nowrap\n &::before\n content: \"Visit URL:\"\n line-height: 26px\n margin-right: tooltipMargin\n input[type=text]\n display: none\n border: 1px solid borderColor\n font-size: 13px\n height: 26px\n margin: 0px\n padding: 3px 5px\n width: 170px\n a.ql-preview\n display: inline-block\n max-width: 200px\n overflow-x: hidden\n text-overflow: ellipsis\n vertical-align: top\n a.ql-action::after\n border-right: 1px solid borderColor\n content: 'Edit'\n margin-left: tooltipMargin*2\n padding-right: tooltipMargin\n a.ql-remove::before\n content: 'Remove'\n margin-left: tooltipMargin\n a\n line-height: 26px\n .ql-tooltip.ql-editing\n a.ql-preview, a.ql-remove\n display: none\n input[type=text]\n display: inline-block\n a.ql-action::after\n border-right: 0px\n content: 'Save'\n padding-right: 0px\n .ql-tooltip[data-mode=link]::before\n content: \"Enter link:\"\n .ql-tooltip[data-mode=formula]::before\n content: \"Enter formula:\"\n .ql-tooltip[data-mode=video]::before\n content: \"Enter video:\"\n", "themeName = 'snow'\nactiveColor = #06c\nborderColor = #ccc\nbackgroundColor = #fff\ninactiveColor = #444\nshadowColor = #ddd\ntextColor = #444\n\n@import './core'\n@import './base'\n@import './snow/*'\n\n.ql-snow\n a\n color: activeColor\n\n.ql-container.ql-snow\n border: 1px solid borderColor\n", "@import url(\"../../node_modules/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css\");\n@import url(\"../../node_modules/ol/ol.css\");\n@import url(\"../../node_modules/select2/dist/css/select2.css\");\n@import url(\"../../node_modules/datatables.net-dt/css/jquery.dataTables.css\");\n@import url(\"../../node_modules/@fortawesome/fontawesome-free/css/all.css\");\n@import url(\"../../node_modules/quill/dist/quill.snow.css\");\n\n/**************************************************************************************\n * 0. Fonts\n * 1. Loading spinners\n * 2. Core\n * 3. Header\n * 4. Sidebar\n * 5. Viewport\n * 6. Tools\n * 7. Map Controls\n * 8. Query Results\n * 9. Form\n * 10. Contents\n * 11. Errors\n * 12. Externals\n * 13. Tabs\n * 14. Skin colors\n * 15. Print\n **************************************************************************************/\n\n:root {\n --font-family: \"Titillium Web\", system-ui,-apple-system, \"Segoe UI\", \"Roboto\", \"Ubuntu\", \"Cantarell\", \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --sidebar-width: 350px;\n\n --skin-h: 72.1;\n --skin-s: 52.4%;\n --skin-l: 44.5%;\n --skin-color: hsl(var(--skin-h), var(--skin-s), var(--skin-l));\n --skin-d5: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) - 5%));\n --skin-d6: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) - 6%));\n --skin-d10: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) - 10%));\n --skin-d20: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) - 20%));\n --skin-f10: hsl(var(--skin-h), var(--skin-s), var(--skin-l), 0.1);\n --skin-l10: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) + 10%));\n --skin-l20: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) + 20%));\n --skin-l30: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) + 30%));\n --skin-l40: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) + 40%));\n --skin-l45: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) + 45%));\n --skin-l48: hsl(var(--skin-h), var(--skin-s), calc(var(--skin-l) + 48%));\n\n /* blue */\n --skin-primary: hsl(202, 50%, 50%);\n --skin-primary-d5: hsl(202, 50%, 45%);\n \n /* green */\n --skin-success: hsl(152, 100%, 33%);\n --skin-success-d5: hsl(152, 100%, 28%);\n\n /* red */\n --skin-danger: hsl(7, 71%, 55%);\n --skin-danger-d5: hsl(7, 71%, 50%);\n --skin-danger-l40: hsl(7, 71%, 95%);\n\n /* yellow */\n --skin-warning: hsl(37, 87%, 49%);\n --skin-warning-d5: hsl(37, 87%, 44%);\n\n /* purple */\n --skin-alternate: hsl(243, 30%, 51%);\n}\n\n.skin-blue { --skin-h: 202; --skin-s: 50%; --skin-l: 50%; }\n.skin-green { --skin-h: 152; --skin-s: 100%; --skin-l: 33%; }\n.skin-red { --skin-h: 7; --skin-s: 71%; --skin-l: 55%; }\n.skin-yellow { --skin-h: 37; --skin-s: 87%; --skin-l: 49%; }\n.skin-purple { --skin-h: 243; --skin-s: 30%; --skin-l: 51%; }\n\n/*!\n* Based on Bootstrap v3.4.1 (https://getbootstrap.com/)\n* Copyright 2011-2019 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\nhtml { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 10px; }\nbody { margin: 0; font: 400 14px/1.42857143 var(--font-family); color: #333; background-color: #fff; overflow: hidden auto; }\nhtml, body { height: 100%; width: 100%; min-height: 100%; }\na { color: var(--skin-primary); text-decoration: none; }\na:is(:hover, :active, :focus) { outline: none; text-decoration: none; color: hsl(202, 50%, 65%); }\nabbr[title] { border-bottom: none; text-decoration: underline;text-decoration: underline dotted; }\nh1 { font-size: 2em; margin: 0.67em 0; }\np { margin: 0 0 10px; }\nsmall, .small { font-size: 85%; }\nimg { border: 0; vertical-align: middle; }\nfigure { margin: 1em 40px; margin: 0; }\nhr { height: 0; margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; }\ncode { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; }\npre { overflow: auto; display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; }\nbutton, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }\nbutton { overflow: visible; }\nbutton, select { text-transform: none; }\ninput { line-height: normal; }\ninput:is([type=\"checkbox\"], [type=\"radio\"]) { padding: 0; margin: 4px 0 0; margin-top: 1px \\9; line-height: normal; }\ninput[type=\"search\"] { appearance: none; }\nfieldset { min-width: 0; padding: 0; margin: 0; border: 0; }\nlegend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; }\nlabel { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 700; }\ninput[disabled], fieldset[disabled] input { cursor: not-allowed; }\ninput[type=\"file\"] { display: block; }\ninput[type=\"range\"] { display: block; width: 100%; }\ninput:is([type=\"file\"], [type=\"radio\"], [type=\"checkbox\"]):focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }\nbutton, input :is([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) { cursor: pointer; }\nselect:is([multiple], [size]) { height: auto; }\ntextarea { overflow: auto; }\ntable { border-collapse: collapse; border-spacing: 0; background-color: transparent; }\ntd, th { padding: 5px; }\nth { text-align: left; }\n*, *:before, *:after { box-sizing: border-box; }\ninput, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; }\ntemplate, [hidden] { display: none; }\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 { font: 500 1.1 var(--font-family); color: inherit; }\nh1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; }\nh4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; }\nh1, .h1 { font-size: 36px; }\nh2, .h2 { font-size: 30px; }\nh3, .h3 { font-size: 24px; }\nh4, .h4 { font-size: 18px; }\nh5, .h5 { font-size: 14px; }\nh6, .h6 { font-size: 12px; }\nul, ol { margin-top: 0; margin-bottom: 10px; }\nul :is(ul, ol), ol :is(ul, ol) { margin-bottom: 0; }\ndl { margin-top: 0; margin-bottom: 20px; }\ndt, dd { line-height: 1.42857143; }\ndd { margin-left: 0; }\nabbr[title], abbr[data-original-title] { cursor: help; }\naddress { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; }\n\n.container, .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }\n*:has(> [class*=\"col-\"]) { display: grid !important; grid-template-columns: repeat(12, 1fr); gap: 15px; }\n[class*=\"col-\"] { grid-column: span 12; }\n\n@media (min-width: 768px) {\n .col-sm-12 { grid-column: span 12; }\n .col-sm-11 { grid-column: span 11; }\n .col-sm-10 { grid-column: span 10; }\n .col-sm-9 { grid-column: span 9; }\n .col-sm-8 { grid-column: span 8; }\n .col-sm-7 { grid-column: span 7; }\n .col-sm-6 { grid-column: span 6; }\n .col-sm-5 { grid-column: span 5; }\n .col-sm-4 { grid-column: span 4; }\n .col-sm-3 { grid-column: span 3; }\n .col-sm-2 { grid-column: span 2; }\n .col-sm-1 { grid-column: span 1; }\n}\n\n@media (min-width: 992px) {\n .col-md-12 { grid-column: span 12; }\n .col-md-11 { grid-column: span 11; }\n .col-md-10 { grid-column: span 10; }\n .col-md-9 { grid-column: span 9; }\n .col-md-8 { grid-column: span 8; }\n .col-md-7 { grid-column: span 7; }\n .col-md-6 { grid-column: span 6; }\n .col-md-5 { grid-column: span 5; }\n .col-md-4 { grid-column: span 4; }\n .col-md-3 { grid-column: span 3; }\n .col-md-2 { grid-column: span 2; }\n .col-md-1 { grid-column: span 1; }\n}\n\n.fade { opacity: 0; transition: opacity 0.15s linear; }\n.fade.in { opacity: 1; }\n.collapse { display: none; }\n.collapse.in { display: block; }\n.collapsing { position: relative; height: 0; overflow: hidden; transition-property: height, visibility; transition-duration: 0.35s; transition-timing-function: ease; }\n.caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \\9; border-right: 4px solid transparent; border-left: 4px solid transparent; }\n\n.label { display: inline; padding: 0.2em 0.6em 0.3em; font-size: 75%; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25em; }\na.label:is(:hover, :focus) { color: #fff; text-decoration: none; cursor: pointer; }\n\n.panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }\n\n.close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: 0.2; }\n.close:hover,\n.close:focus { color: #000; text-decoration: none; cursor: pointer; opacity: 0.5; }\nbutton.close { padding: 0; cursor: pointer; background: transparent; border: 0; appearance: none; }\n\n.g3w-disabled { cursor: not-allowed !important; pointer-events: none !important; opacity: 0.7 !important; }\n.g3w-hide { display: none !important; }\n.g3w-long-text { overflow: hidden; white-space: normal; overflow-wrap: break-word; }\n.g3w-icon-toggled,\n.g3w-panel button.run_button { background-color: var(--skin-color); }\n.g3w-mini-relation-icon { color: var(--skin-color); cursor: pointer; font-size:12px; padding:5px; border-radius:5px; }\n*:focus { outline: none; }\n\n/**************************************************************************************\n * 0. Fonts\n **************************************************************************************/\n@font-face { src: url(./fonts/titillium-web-latin-ext-400-italic.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 400; font-style: italic; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-400-italic.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 400; font-style: italic; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-ext-400-normal.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 400; font-style: normal; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-400-normal.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 400; font-style: normal; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-ext-700-italic.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 700; font-style: italic; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-700-italic.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 700; font-style: italic; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-ext-700-normal.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 700; font-style: normal; font-display: swap; }\n@font-face { src: url(./fonts/titillium-web-latin-700-normal.woff2) format(\"woff2\"); font-family: Titillium Web; font-weight: 700; font-style: normal; font-display: swap; }\n\n/**************************************************************************************\n * 1. Loading Spinners\n **************************************************************************************/\n\n.loading { position: fixed; z-index: 100000; height: 2em; width: 2em; overflow: show; margin: auto; inset: 0; }\n.loading:before { content: ''; display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }\n.loading:not(:required) { /* hide \"loading...\" text */ font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }\n.loading:not(:required):after { content: ''; display: block; font-size: 10px; width: 1em; height: 1em; margin-top: -0.5em; animation: circle 1500ms infinite linear; border-radius: 0.5em; box-shadow: var(--skin-color) 1.5em 0 0 0, var(--skin-color) 1.1em 1.1em 0 0, var(--skin-color) 0 1.5em 0 0, var(--skin-color) -1.1em 1.1em 0 0, var(--skin-color) -1.5em 0 0 0, var(--skin-color) -1.1em -1.1em 0 0, var(--skin-color) 0 -1.5em 0 0, var(--skin-color) 1.1em -1.1em 0 0; }\n\n.spinner-wrapper { top: 0; right: 0; padding: .5em; color: var(--skin-color); background-color: transparent; }\n.spinner-wrapper .spinner { width: 80px; height: 80px; animation: circle infinite .75s linear; border-top-color: transparent; border-radius: 100%; border: 8px solid var(--skin-color); }\n.spinner-wrapper .spinner.transparent { border: 8px solid var(--skin-color); border-top-color: transparent; }\n.spinner-wrapper .spinner.blue { border: 8px solid #fff; border-top-color: transparent; }\n.spinner-wrapper.blue { background-color: var(--skin-primary); color: white;}\n\n.bar-loader { height: 4px; width: 100%; position: relative; overflow: hidden; background-color: #ddd; }\n.bar-loader:before { background-color: var(--skin-d20); display: block; position: absolute; content: ''; left: -200px; width: 200px; height: 4px; animation: loading 1s linear infinite; }\n\n/* Animation */\n@keyframes circle { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }\n@keyframes loading { from { left: -200px; width: 30%; } 50% { width: 30%; } 70% { width: 70%; } 80% { left: 50%; } 95% { left: 120%; } to { left: 100%; } }\n\n/**************************************************************************************\n * 2. Core\n **************************************************************************************/\n\n.wrapper { height: 100%; width: 100%; overflow: hidden; }\n.content-wrapper { transition: transform .3s ease-in-out, margin .3s ease-in-out; margin-left: var(--sidebar-width); min-height: 100%; background-color: #ecf0f5; position: relative; overflow: hidden; }\n\n/* When opening the sidebar on small screens */\n@media (max-width: 767px) {\n .content-wrapper { margin-left: 0; }\n .sidebar-open .content-wrapper { transform: translate(var(--sidebar-width), 0); }\n}\n\n/* When opening the sidebar on large screens */\n@media (min-width: 768px) {\n .sidebar-collapse .content-wrapper { margin-left: 0; }\n}\n\n/**************************************************************************************\n* boxes.less\n**************************************************************************************/\n\n.box { position: relative; border-radius: 3px; background: #ffffff; border-top: 3px solid #d2d6de; margin-bottom: 20px; width: 100%; box-shadow: 0 1px 1px rgba(0, 0, 0, .1); }\n.box.box-primary { border-top-color: var(--skin-primary); }\n.box.collapsed-box :is(.box-body, .box-footer) { display: none; }\n\n/* clear fix */\n\n.clearfix:after, .clearfix:before { content: ' '; display: table; }\n.clearfix:after { clear: both; }\n\n.box-header { color: #444; display: block; padding: 10px; position: relative; }\n.box-header.with-border { border-bottom: 1px solid #f4f4f4; }\n.collapsed-box .box-header.with-border { border-bottom: none; }\n.box-header > :is(.fa, .glyphicon, .ion),\n.box-header .box-title { display: inline-block; font-size: 18px; margin: 0; line-height: 1; }\n.box-header > :is(.fa, .glyphicon, .ion) { margin-right: 5px; }\n.box-header > .box-tools { position: absolute; right: 10px; top: 5px; }\n.box-header > .box-tools [data-toggle=\"tooltip\"] { position: relative; }\n.box-header > .box-tools.pull-right .dropdown-menu { right: 0; left: auto; }\n.btn-box-tool { padding: 5px; font-size: 12px; background: transparent; color: #97a0b3; }\n.open .btn-box-tool,\n.btn-box-tool:hover { color: #606c84; }\n.btn-box-tool.btn:active { box-shadow: none; }\n.box-body { border-radius: 0 0 3px 3px; padding: 10px; }\n.box-body.mobile { padding: 5px; }\n.box-body > .table { margin-bottom: 0; }\n.box-footer { border-radius: 0 0 3px 3px; border-top: 1px solid #f4f4f4; padding: 10px; background-color: #fff; }\n.chart-legend { list-style: none; margin: 0; padding: 0; margin: 10px 0; }\n\n@media (max-width: 767px) {\n .chart-legend > li { float: left; margin-right: 10px; }\n}\n\n.box-input { max-width: 200px; }\n\n/**************************************************************************************\n* buttons.less\n**************************************************************************************/\n\n.btn { display: inline-block; margin-bottom: 0; font-weight: normal; text-align: center; white-space: nowrap; vertical-align: middle; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; border-radius: 4px; user-select: none; }\n.btn:is(.focus, :focus),\n.btn:is(.active, :active):is(:focus, .focus) { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }\n.btn:is(:hover, :focus, .focus) { color: #333; text-decoration: none; }\n.btn:is(.active, :active) { background-image: none; outline: 0; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\n\n.btn:is(.disabled, [disabled]), fieldset[disabled] .btn { cursor: not-allowed; opacity: 0.65; box-shadow: none; }\na.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; }\n\n.btn-block { display: block; width: 100%; }\n.btn-block + .btn-block { margin-top: 5px; }\ninput:is([type=\"submit\"], [type=\"reset\"], [type=\"button\"]).btn-block { width: 100%; }\n\n.btn { border-radius: 3px; box-shadow: none; border: 1px solid transparent; }\n.btn:active { box-shadow: inset 0 3px 5px rgba(0,0,0,.125); }\n.btn:focus { outline: none; }\n.btn.uppercase { text-transform: uppercase }\n.btn.btn-flat { border-radius: 0; box-shadow: none; border-width: 1px; }\n.btn.btn-file { position: relative; overflow: hidden; }\n.btn.btn-file > input[type='file'] { position: absolute; top: 0; right: 0; min-width: 100%; min-height: 100%; font-size: 100px; text-align: right; opacity: 0; outline: none; background: white; cursor: inherit; display: block; }\n\n.btn-default { color: #444; background-color: #f4f4f4; border-color: #ddd; }\n.btn-default:is(.focus, :focus) { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; }\n.btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; }\n.btn-default:is(.active, :active) { color: #333; background-color: #e6e6e6; border-color: #adadad; background-image: none; }\n.btn-default:is(.active, :active):is(:hover, :focus, .focus) { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; }\n.btn-default:is(:hover, :active, .hover) { background-color: #e7e7e7; }\n.btn-default:is(.disabled, [disabled]):is(:hover, :focus, .focus),\nfieldset[disabled] .btn-default:is(:hover, :focus, .focus) { background-color: #fff; border-color: #ccc; }\n\n.btn-primary { color: #fff; background-color: var(--skin-primary); border-color: var(--skin-primary-d5); }\n.btn-primary:is(.focus, :focus) { color: #fff; background-color: #286090; border-color: #122b40; }\n.btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; }\n.btn-primary:is(.active, :active) { color: #fff; background-color: #286090; border-color: #204d74; background-image: none; }\n.btn-primary:is(.active, :active):is(:hover, :focus, .focus) { color: #fff; background-color: #204d74; border-color: #122b40; }\n.btn-primary:is(:hover, :active, .hover) { background-color: var(--skin-primary-d5); }\n.btn-primary:is(.disabled, [disabled]):is(:hover, :focus, .focus),\nfieldset[disabled] .btn-primary:is(:hover, :focus, .focus) { background-color: #337ab7; border-color: #2e6da4; }\n\n.btn-success { color: #fff; background-color: var(--skin-success); border-color: var(--skin-success-d5); }\n.btn-success:is(.focus, :focus) { color: #fff; background-color: #449d44; border-color: #255625; }\n.btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; }\n.btn-success:is(.active, :active) { color: #fff; background-color: #449d44; border-color: #398439; background-image: none; }\n.btn-success:is(.active, :active):is(:hover, :focus, .focus) { color: #fff; background-color: #398439; border-color: #255625; }\n.btn-success:is(:hover, :active, .hover) { background-color: var(--skin-success-d5); }\n.btn-success:is(.disabled, [disabled]):is(:hover, :focus, .focus),\nfieldset[disabled] .btn-success:is(:hover, :focus, .focus) { background-color: #5cb85c; border-color: #4cae4c; }\n\n.btn-danger { color: #fff; background-color: var(--skin-danger); border-color: var(--skin-danger-d5); }\n.btn-danger:is(.focus, :focus) { color: #fff; background-color: #c9302c; border-color: #761c19; }\n.btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; }\n.btn-danger:is(.active, :active) { color: #fff; background-color: #c9302c; border-color: #ac2925; background-image: none; }\n.btn-danger:is(.active, :active):is(:hover, :focus, .focus) { color: #fff; background-color: #ac2925; border-color: #761c19; }\n.btn-danger:is(:hover, :active, .hover) { background-color: var(--skin-danger-d5); }\n.btn-danger:is(.disabled, [disabled]):is(:hover, :focus, .focus),\nfieldset[disabled] .btn-danger:is(:hover, :focus, .focus) { background-color: #d9534f; border-color: #d43f3a; }\n\n.btn-warning { color: #fff; background-color: var(--skin-warning); border-color: var(--skin-warning-d5); }\n.btn-warning:is(.focus, :focus) { color: #fff; background-color: #ec971f; border-color: #985f0d; }\n.btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; }\n.btn-warning:is(.active, :active) { color: #fff; background-color: #ec971f; border-color: #d58512; background-image: none; }\n.btn-warning:is(.active, :active):is(:hover, :focus, .focus) { color: #fff; background-color: #d58512; border-color: #985f0d; }\n.btn-warning:is(:hover, :active, .hover) { background-color: var(--skin-warning-d5); }\n.btn-warning:is(.disabled, [disabled]):is(:hover, :focus, .focus),\nfieldset[disabled] .btn-warning:is(:hover, :focus, .focus) { background-color: #f0ad4e; border-color: #eea236; }\n\n.btn-outline { border: 1px solid #fff; background: transparent; color: #fff; }\n.btn-outline:is(:hover, :focus, :active) { color: rgba(255,255,255,.7); border-color: rgba(255,255,255,.7); }\n.btn[class*='bg-']:hover { box-shadow: inset 0 0 100px rgba(0,0,0,0.2); }\n\n/**************************************************************************************\n* navs.less\n**************************************************************************************/\n\n.nav { padding-left: 0; margin-bottom: 0; list-style: none; }\n.nav > li { position: relative; display: block; }\n.nav > li > a { position: relative; display: block; padding: 10px 15px; }\n.nav > li > a:is(:hover, :focus) { text-decoration: none; background-color: #eee; }\n.nav > li.disabled > a { color: #777; }\n.nav > li.disabled > a:is(:hover, :focus) { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; }\n.nav > li > a > img { max-width: none; }\n.nav > li > a:is(:hover, :active, :focus) { color: #444; background: #f7f7f7; }\n\n/**************************************************************************************\n* table.less\n**************************************************************************************/\n\n.table { width: 100%; max-width: 100%; margin-bottom: 20px; }\n.table > :is(thead, tbody, tfoot) > tr > :is(td, th) { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #f4f4f4; }\n.table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #f4f4f4; }\n.table tr td .progress { margin-top: 5px; }\n.table.align th { text-align: left; }\n.table.align td { text-align: right; }\n\n.table-bordered { border: 1px solid #f4f4f4; }\n.table-bordered > :is(thead, tbody, tfoot) > tr > :is(td, th) { border: 1px solid #f4f4f4; }\n.table-bordered > thead > tr > :is(td, th) { border-bottom-width: 2px; }\n.table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; }\n\ntable.dataTable > tbody > tr.child ul.dtr-details > li { border-bottom: 0 !important; }\ntable.dataTable th.sorting::after,\ntable.dataTable th.sorting::before { font-family: Monospace; }\n\ntable.dataTable th.sorting_asc::after,\ntable.dataTable th.sorting_desc::before { display: none; }\ntable.dataTable th.sorting_asc::before,\ntable.dataTable th.sorting_desc::after { color:#7a80dd; opacity: 1; }\n\n/**************************************************************************************\n* carousel.less\n**************************************************************************************/\n\n.carousel { position: relative; }\n.carousel-inner { position: relative; width: 100%; overflow: hidden; }\n.carousel-inner > .item { position: relative; display: none; transition: 0.6s ease-in-out left; }\n.carousel-inner > .item > img { display: block; max-width: 100%; height: auto; line-height: 1; }\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item { transition: transform 0.6s ease-in-out; backface-visibility: hidden; perspective: 1000px; }\n .carousel-inner > .item.active.right { transform: translate3d(100%, 0, 0); left: 0; }\n .carousel-inner > .item.active.left { transform: translate3d(-100%, 0, 0); left: 0; }\n .carousel-inner > .item.active { transform: translate3d(0, 0, 0); left: 0; }\n}\n.carousel-inner > .active { display: block; }\n.carousel-inner > .active { left: 0; }\n.carousel-inner > .active.left { left: -100%; }\n.carousel-inner > .active.right { left: 100%; }\n.carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); background-color: rgba(0, 0, 0, 0); opacity: 0.5; }\n.carousel-control.right { right: 0; left: auto; }\n.carousel-control:hover,\n.carousel-control:focus { color: #fff; text-decoration: none; outline: 0; opacity: 0.9; }\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px; }\n.carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; }\n.carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; }\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right { width: 30px; height: 30px; margin-top: -10px; font-size: 30px; }\n .carousel-control .glyphicon-chevron-left { margin-left: -10px;}\n .carousel-control .glyphicon-chevron-right { margin-right: -10px; }\n}\n\n.carousel-control > .fa { font-size: 40px; position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -20px; }\n\n/**************************************************************************************\n* modal.less\n**************************************************************************************/\n\n#g3w-modal-overlay { height: 100vh; }\n\n.modal-open { overflow: hidden; }\n.modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; background: rgba(0,0,0,.3); }\n.modal.fade .modal-dialog { transform: translate(0, -25%); transition: transform 0.3s ease-out; }\n.modal.in .modal-dialog { transform: translate(0, 0); }\n.modal-open .modal { overflow-x: hidden; overflow-y: auto; }\n.modal-dialog { position: relative; width: auto; margin: 10px; }\n.modal-content { position: relative; background-color: #fff; background-clip: padding-box; box-shadow: 0 2px 3px rgba(0,0,0,0.125); outline: 0; }\n.modal-backdrop { position: fixed; z-index: 1 !important; inset: 0; background-color: #000; }\n.modal-backdrop.fade { opacity: 0; }\n.modal-backdrop.in { opacity: 0.5; }\n.modal-header { padding: 15px; border-bottom: 1px solid #f4f4f4; }\n.modal-header .close { margin-top: -2px; }\n.modal-title { margin: 0; line-height: 1.42857143; }\n.modal-body { position: relative; padding: 15px; }\n.modal-footer { padding: 15px; text-align: right; border-top: 1px solid #f4f4f4; }\n.modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; }\n.modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; }\n\n/* Modal variants */\n.modal-primary .modal-body { color: #fff !important; background-color: #3c8dbc !important; }\n.modal-warning .modal-body { color: #fff !important; background-color: var(--skin-warning) !important; }\n.modal-info .modal-body { color: #fff !important; background-color: #00c0ef !important; }\n.modal-success .modal-body { color: #fff !important; background-color: var(--skin-success) !important; }\n.modal-danger .modal-body { color: #fff !important; background-color: var(--skin-danger) !important; }\n\n.modal-primary :is(.modal-header, .modal-footer) { color: #fff !important; background-color: #357ca5 !important; border-color: hsl(202, 50%, 40%); }\n.modal-warning :is(.modal-header, .modal-footer) { color: #fff !important; background-color: var(--skin-warning-d5) !important; border-color: hsl(37, 87%, 39%); }\n.modal-info :is(.modal-header, .modal-footer) { color: #fff !important; background-color: #00a7d0 !important; border-color: #0097bc; }\n.modal-success :is(.modal-header, .modal-footer) { color: #fff !important; background-color: var(--skin-success-d5) !important; border-color: hsl(152, 100%, 23%); }\n.modal-danger :is(.modal-header, .modal-footer) { color: #fff !important; background-color: var(--skin-danger-d5) !important; border-color: hsl(7, 71%, 45%); }\n\n@media (min-width: 768px) {\n .modal-dialog { width: 600px; margin: 30px auto; }\n .modal-content { box-shadow: 0 2px 3px rgba(0,0,0,0.125); }\n}\n\n/**************************************************************************************\n * miscellaneous.less\n **************************************************************************************/\n\n.pull-right { float: right !important; }\n.pull-left { float: left !important; }\n.hide { display: none !important; }\n.show { display: block !important; }\n.hidden { display: none !important; }\n\n.pad { padding: 10px; }\n.margin { margin: 10px; }\n.margin-bottom { margin-bottom: 20px; }\n.inline { display: inline; }\n\n.bg-gray { color: #fff !important; color: #000; background-color: #d2d6de !important; }\n.bg-black { color: #fff !important; background-color: #111 !important; }\n.bg-blue { color: #fff !important; background-color: var(--skin-primary) !important; }\n.bg-green { color: #fff !important; background-color: var(--skin-success) !important; }\n.bg-red { color: #fff !important; background-color: var(--skin-danger) !important; }\n.bg-yellow { color: #fff !important; background-color: var(--skin-warning) !important; }\n.bg-purple { color: #fff !important; background-color: var(--skin-alternate) !important; }\n\n[class^=\"bg-\"].disabled { opacity: .65; }\n\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-gray { color: #d2d6de !important; }\n.text-black { color: #111 !important; }\n.text-blue { color: var(--skin-primary) !important; }\n.text-green { color: var(--skin-success) !important; }\n.text-red { color: var(--skin-danger) !important; }\n.text-yellow { color: var(--skin-warning) !important; }\n.text-purple { color: var(--skin-alternate) !important; }\n\n.hide { display: none !important; }\n.flat { border-radius: 0 !important; }\n\n.img-responsive { display: block; max-width: 100%; height: auto; }\n.img-thumbnail { padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; }\n.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }\n\n.list-unstyled { list-style: none; margin: 0; padding: 0; }\n.chart { position: relative; overflow: hidden; width: 100%; }\n.chart :is(svg, canvas) { width: 100%!important; }\n\n /* Fixed layout */\n.main-sidebar { position: fixed; }\n\n /* Content */\n.content { min-height: 250px; padding: 0 15px; margin-right: auto; margin-left: auto; }\n\n.btn { border-radius: 3px; }\n.box-header { cursor: pointer; }\n.box-title.fa-plus:before,\n.box-title.fa-minus:before { content: ''; }\n.btn.quick-action { font-size: 1.5em; color: #888; background-color: transparent; border: 0; margin: -5px 0 0 0; padding: 6px 10px; vertical-align: middle; }\n.btn.quick-action:hover { color: #888; border-color: var(--skin-primary); background-color: transparent; }\n.g3w-icon { box-shadow: 0 2px 4px rgba(0,0,0,0.2); padding: 5px; font-size: 1.3em; border-radius: 30%; cursor: pointer; }\n.g3w-icon.trash { color:red !important; }\n.modal-footer button { font-weight: bold; min-width: 70px; }\n\n\n@media (max-width: 767px) {\n .sidebar-open .content-wrapper { transform: translate(300px,0); }\n}\n\n.tooltip { position: absolute; z-index: 1070; display: block; font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif; font-style: normal; font-weight: 400; line-height: 1.42857143; line-break: auto; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; font-size: 12px; opacity: 0; }\n.tooltip.in { opacity: 0.9; }\n.tooltip.top { padding: 5px 0; margin-top: -3px; }\n.tooltip.right { padding: 0 5px; margin-left: 3px; }\n.tooltip.bottom { padding: 5px 0; margin-top: 3px; }\n.tooltip.left { padding: 0 5px; margin-left: -3px; }\n.tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; }\n.tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; }\n.tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; }\n.tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; }\n.tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; }\n.tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; }\n.tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; }\n.tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; }\n.tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; border-radius: 4px; }\n.tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; }\n\n/**************************************************************************************\n * 3. Header\n **************************************************************************************/\n\n.navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; transition: margin-left .3s ease-in-out; margin-bottom: 0; margin-left: 0; border: none; min-height: 50px; border-radius: 0;}\n\n.nav-links li { font-weight: bold; border-right: 1px solid rgba(255,255,255,0.2); letter-spacing: 0.5px; }\n.nav-links li:last-child { border: 0; }\n.nav-links > li > a { color: #fff; display: block; padding: 15px; }\n.nav-links > li > a:hover { background: rgba(0,0,0,.1) !important; color: #f6f6f6; }\n.navbar-nav li { font-weight: bold; }\n.navbar-nav li:last-child { border: 0; }\n.sidebar-toggle { float: left; background-color: transparent; background-image: none; padding: 15px 10px 14px; margin-left: 5px; }\n.sidebar-toggle:hover { color: #fff; }\n\n.dropdown { position: relative; }\n.dropdown-toggle:focus { outline: 0; }\n.dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); }\n.dropdown-menu.pull-right { right: 0; left: auto; }\n.dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; }\n.dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: 400; line-height: 1.42857143; color: #333; white-space: nowrap; }\n.dropdown-menu > li > a:is(:hover, :focus) { color: #262626; text-decoration: none; background-color: #f5f5f5; }\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:is(:hover, :focus) { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; }\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:is(:hover, :focus) { color: #777; }\n.dropdown-menu > .disabled > a:is(:hover, :focus) { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; }\n.open > .dropdown-menu { display: block; }\n.open > a { outline: 0; }\n.pull-right > .dropdown-menu { right: 0; left: auto; }\n\n.dropdown-menu { box-shadow: none; border-color: #eee; }\n.dropdown-menu > li > a { color: #777; }\n.dropdown-menu > li > a:hover { background-color: #e1e3e9; color: #333; }\n.dropdown-menu > .divider { background-color: #eee; }\n\n.navbar { background-color: var(--skin-color); }\n.navbar .sidebar-toggle { color: #fff; }\n.navbar .sidebar-toggle:hover { background-color: var(--skin-d5); }\n\n.wrapper,\n.main-sidebar { background-color: #222d32; }\n\n/*Navbar toggle button*/\n\n.nav-lang { margin-top: 9px; margin-left: 10px; margin-right: 0; }\n.sidebar-aside-toggle { position: absolute; left: 350px; top: 50px; color: #fff !important; padding: 11.6px; background-color: rgba(0, 0, 0, 0.65); }\n.is-iframe .sidebar-aside-toggle { top: 0; }\n.sidebar-aside-toggle:before,\n.sidebar-aside-toggle:before { font-family: \"Font Awesome 5 Free\"; font-weight: bold; content: '\\f100'; }\n.sidebar-collapse .sidebar-aside-toggle:before { content: '\\f101'; }\n.title-box { line-height: 50px; margin-left: 10px; }\n.title-box .title { font-size: 2em; font-weight: bold; color: white }\n.nav-lang .select2-selection__rendered { color: var(--skin-color) !important; }\n.nav-lang .select2-dropdown.select2-dropdown--below { margin-top: 7px; }\n\n@media (max-width: 767px) {\n .nav-links a { color: inherit; background: transparent; }\n .nav-links > li { color: inherit; border: 0; }\n .nav-links > li > a:not(.nav-user, .nav-lang) [hidden] { display: inline-block; }\n .nav-links > li > a:not(.nav-user, .nav-lang) { margin: 5px 8px; padding: 10px; border: 1px dashed #fff; display: flex; flex-direction: row; justify-content: left; align-items: center; gap: 8px; }\n .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); }\n .navbar .dropdown-menu li a { color: #fff; }\n .navbar .dropdown-menu li a:hover { background: var(--skin-d5); }\n .navbar .dropdown.user .dropdown-menu { width: 100%; }\n .sidebar-aside-toggle { left: 300px; }\n}\n\n/**************************************************************************************\n * 4. Sidebar\n **************************************************************************************/\n\n.main-sidebar,\n.sidebar-aside-toggle { transition: left .3s ease-in-out, width .3s ease-in-out; }\n.main-sidebar { padding-bottom: 0; }\n.sidebar-menu { list-style: none; margin: 0; padding: 0; }\n.sidebar-menu > li { margin: 0; padding: 0; }\n.sidebar-menu > li > a { padding: 12px 5px 12px 10px; display: block; }\n.sidebar-menu > li > a > :is(.fa, .glyphicon, .ion) { width: 20px; }\n.sidebar-menu > li :is(.label, .badge) { margin-top: 3px; margin-right: 5px; }\n.sidebar-menu li.header { padding: 10px 25px 10px 15px; font-size: 12px; }\n.sidebar-menu li > a > .fa-angle-left { width: auto; height: auto; padding: 0; margin-right: 10px; margin-top: 3px; }\n.sidebar-menu li.active > .treeview-menu { display: block; }\n.sidebar-menu .treeview-menu { display: none; list-style: none; padding: 0; margin: 0; }\n.sidebar-menu .treeview-menu .treeview-menu { padding-left: 20px; }\n.sidebar-menu .treeview-menu > li { margin: 0; }\n.sidebar-menu .treeview-menu > li > a { padding: 5px 5px 5px 15px; display: block; font-size: 14px; }\n.sidebar-menu .treeview-menu > li > a > :is(.fa, .glyphicon, .ion) { width: 20px; }\n.sidebar-menu .treeview-menu > li > a > :is(.fa-angle-left, .fa-angle-down) { width: auto; }\n\n/* A fix for text overflow while transitioning from sidebar mini to full sidebar */\n.sidebar-menu,\n.sidebar-menu > li.header { white-space: nowrap; }\n.sidebar-menu:hover { overflow: visible; }\n.sidebar-menu > li.header { overflow: hidden; text-overflow: clip; }\n.sidebar-menu li > a { position: relative; }\n.sidebar-menu li > a > .pull-right { position: absolute; top: 50%; right: 10px; margin-top: -7px; }\n\n.sidebar-menu > li.header { color: #445a64; background: #28363c; }\n.sidebar-menu > li > a { border-left: 3px solid transparent; }\n.sidebar-menu > li:is(.active, :hover) > a { color: #fff; background: #212c30; border-left-color: var(--skin-color); }\n.main-sidebar a { color: #99afba; }\n.main-sidebar a:hover { text-decoration: none; }\n.sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2a383e; }\n\n.treeview-menu > li > a { color: #7392a0; }\n.treeview-menu > li.active > a,\n.treeview-menu > li > a:hover { color: #fff; }\n\n.main-sidebar { z-index: 1 !important; width: 350px; overflow-y: auto; }\n.main-sidebar.mobile { width: 300px; }\n.is-iframe .main-sidebar { margin-top: 0; }\n.is-iframe .main-sidebar a.sidebar-aside-toggle { top: 0! important; }\n.g3w-sidebarpanel { position: relative; color: #FFF; padding: 10px 15px 10px 15px; }\n.g3w-sidebarpanel .g3w-panel .g3w-panel-form button.run_button { margin-top: 5px; font-weight: bold; }\n.g3w-sidebarpanel-placeholder h3 { margin-top: 0; }\n.main-sidebar .close-pane-button { caret-color: rgba(0,0,0,0); color: transparent; border-radius: 30%; margin-top: 5px; line-height: 1.5em; height: 1.3em; width: 1.3em; box-shadow: 0 2px 4px rgba(0,0,0,.2); }\n.main-sidebar .close-pane-button:hover { cursor: pointer; }\n.main-sidebar .close-pane-button .panel-icon { color: #fff; }\n.main-sidebar .treeview-label { font-size: 1.1em; font-weight: bold; margin-left: 5px; }\n.main-sidebar .menu-items { padding: 10px 15px; }\n.main-sidebar .menu-items li { background-color: #374850; border-radius: .25rem; padding: 2px; margin-bottom: 2px; color: #FFF; cursor: pointer; }\n.main-sidebar .menu-items li.toggled { color: #374850; background-color: #fff; }\n.main-sidebar .menu-items li.toggled:hover { background-color: #fff; }\n.main-sidebar .menu-items li:hover { background-color: #415660; }\n.main-sidebar .sidebar-menu > li,\n.main-sidebar .sidebar-menu > li:last-child { border:0; }\n.main-sidebar .btn.quick-action { color: #bbb; background-color: #222d32; border: 2px solid #888; }\n.main-sidebar .btn.quick-action:hover { color: #bbb; background-color: #222d32; border: 2px solid #888; }\n.main-sidebar .sidebar-button-run { background-color: var(--skin-color) !important; color: #fff; }\n.main-sidebar .sidebar-button { color: var(--skin-color); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); font-weight: bold; border-radius: 3px; background-color: #fff !important; cursor: pointer; }\n.main-sidebar .sidebar-button.toggled { background-color: var(--skin-color) !important; color: #fff !important; box-shadow: 0 2px 5px rgba(0,0,0, 0.2); }\n.main-sidebar .sidebar-button.sidebar-button-icon { background-color: transparent !important; }\n.main-sidebar ul.sidebar-menu > li a span.treeview-label { color: #FFF; }\n.main-sidebar ul.sidebar-menu > li a:hover { color: var(--skin-l30) !important; }\n\n.skin-green .main-sidebar ul.sidebar-menu > li a:hover { color: #a1e096 !important; }\n\n.datetimeinput { color: var(--skin-color); }\n\n/** Add \"sidebar-mini\" class to the body tag to activate this feature */\n\n@media (max-width: 767px) {\n a.sidebar-aside-toggle { display: none !important; }\n .main-sidebar { left: -100%; width: 100%; }\n .sidebar-open .main-sidebar { left: 0; }\n}\n@media (min-width: 768px) {\n .sidebar-collapse .main-sidebar,\n .sidebar-collapse .sidebar-aside-toggle { left: 0; }\n .sidebar-collapse .content-wrapper { margin-left: 0; }\n .sidebar-collapse .main-sidebar { width: 0 !important; }\n .sidebar-mini.sidebar-collapse .content-wrapper { margin-left: 35px; }\n .sidebar-mini.sidebar-collapse .main-sidebar { width: 35px !important; }\n}\n\n.sidebar-mini.sidebar-collapse .main-sidebar .menu-open,\n.sidebar-mini.sidebar-collapse .g3w-sidebarpanel,\n.sidebar-mini.sidebar-collapse #catalog > * { display: none; }\n.sidebar-mini.sidebar-collapse #catalog > a { display: block !important; }\n.sidebar-mini.sidebar-collapse #g3w-sidebarcomponents { padding-top: 50px; overflow: hidden; }\n.sidebar-mini.sidebar-collapse .ol-geocoder { left: 10px; }\n.sidebar-mini.sidebar-collapse .main-sidebar ul.sidebar-menu > li a span.treeview-label { color: transparent; }\n.sidebar-mini.sidebar-collapse .main-sidebar { overflow-y: hidden; }\n\n/**************************************************************************************\n * 5. Viewport\n **************************************************************************************/\n\n#application-notifications { position:absolute; top: 55px; border-radius: 3px; left: 0; z-index: 1; font-size: 25px; pointer-events: none; }\n#application-notifications > div { display: flex; flex-direction: column; align-items: center; width: 40px; height: 50px; justify-content: space-around; margin-bottom: 5px; background-color: #FFF; border-radius: 3px; }\n.g3w-view.map { line-height: normal; display:inline-block; height:0; width:0; position: relative; }\n.g3w-view.map #resize-map-and-content { position: absolute; z-index:4; user-select: none; }\n.g3w-view.map #resize-map-and-content:hover { background-color: #ccc !important; }\n.g3w-view.map #resize-map-and-content.split-h { width: 8px; height: 100%; cursor: col-resize; right:-7px; }\n.g3w-view.map #resize-map-and-content.split-v { height: 8px; width: 100%; cursor: row-resize; bottom:-7px; }\n.g3w-view.content .preview { width: 100%; margin-top: 0; display:flex; align-items: center;}\n.g3w-view.content .preview .filename { overflow: hidden; margin: 15px; font-weight: bold; }\n.g3w-view.content .preview .clearmedia { cursor: pointer; margin-left: auto; }\n.g3w-view.content .preview .clearmedia .g3w-icon { color: red; }\n.g3w-view.content .preview .previewtype { display: flex; justify-content: center; padding-top: 5px; cursor: pointer; background-color: #fff; width: 40px; height: 40px; border: 2px solid; }\n.g3w-view.content .preview .previewtype:hover { background-color: #efefef; }\n.g3w-view.content .preview .previewtype.pdf { color: var(--skin-danger); border-color: var(--skin-danger); }\n.g3w-view.content .preview .previewtype.image { color: var(--skin-warning); border-color: var(--skin-warning); }\n.g3w-view.content .preview .previewtype.video { color: orange; border-color:orange; }\n.g3w-view.content .preview .previewtype.unknow { color: grey; border-color:grey; }\n.g3w-view.content .preview .previewtype.zip { color: saddlebrown; border: 2px solid saddlebrown; }\n.g3w-view.content .preview .previewtype.text { color: var(--skin-primary); border-color: var(--skin-primary); }\n.g3w-view.content .preview .previewtype.excel { color: var(--skin-success); border-color: var(--skin-success); }\n.g3w-view.content .preview .previewtype.ppt { color: var(--skin-alternate); border-color: var(--skin-alternate); }\n.g3w-view.content .g3wform-relation-table tbody td .preview .previewtype { width: 30px; height: 30px; padding-top: 6px; }\n.g3w-view.content .g3wform-relation-table tbody td .preview .previewtype i,\n.g3w-view.content .g3wform-relation-table tbody td .preview .previewtype i.fa-2x { font-size: 1em; }\n.g3w-view.content .error-message { font-weight: bold; font-size: 1.2em; color: red; padding: 5px; margin: 3px; }\n.g3w-view.content .table-header-tool { padding: 10px; color: #fff; font-size: 1.3em; }\n.g3w-view.content .action-button { display:inline-block; text-align: center; padding: 3px 3px 5px 3px; cursor: pointer; border-radius: 5px; caret-color: rgba(0,0,0,0); }\n.g3w-view.content .action-button:hover { background-color: #fff; }\n.g3w-view.content .action-button.toggled { background-color: #eee; }\n.g3w-view.content .action-button.toggled-white { background-color: #fff; }\n.g3w-view.content .action-button-icon.trash { color:red !important; }\n.g3w-view.content .action-button-icon { padding-top: 2px; font-weight: bold; text-decoration: none; }\n.g3w-view.content { line-height: normal; float: right; overflow-wrap: break-word; height: 0; width: 0; background-color: #eee; overflow:hidden; position: relative; } \n.g3w-view.content .contents { height: 100%; padding-left: 0; padding-right: 0; }\n.g3w-view.content.split-h { border-left: 1px solid #d6d6d6; }\n.g3w-view.content.split-v { border-top: 1px solid #d6d6d6; }\n.g3w-view .close-panel-block span i.panel-button { color: transparent; }\n.g3w-view .close-panel-block span.g3w-span-button { height: 1.1em; line-height: 1.1em; width: 1.1em; font-size: 1em !important; margin-top: 8px; margin-bottom: 5px; margin-right: 5px; cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.2); border-radius: 30%; caret-color: rgba(0,0,0,0); }\n.g3w-view .close-panel-block span.g3w-span-button.mobile { margin-top: 3px; }\n\n.g3w-view.content .action-button-icon,\n.g3w-view.content .g3w_contents_back > div { color: var(--skin-color); }\n\n.g3w-view.content .table-header-tool { background-color: var(--skin-color); }\n.g3w-view.content .action-button.toggled { border: 2px solid var(--skin-l30); }\n.g3w-view .close-panel-block .panel-icon,\n#g3w-view-content #layer_attribute_table tbody tr.feature_attribute[selected=\"selected\"] td { background: var(--skin-l30) !important; }\n\n/**************************************************************************************\n * 6. Tools\n **************************************************************************************/\nul.g3w-tools { padding-left: 0; line-height: 1.5em; list-style-type: none; }\nul.g3w-tools > li { color: white; background-color: #2c3b41; margin: 0 10px 0 5px; }\nul.g3w-tools > li > * { padding: 5px; }\nul.g3w-tools > li .tool-header { font-size: 1.1em; font-weight: bold; background-color: #4b646f; cursor: pointer; }\nul.g3w-tools > li .tool-header span { margin-left: 5px; vertical-align: middle; }\nul.g3w-tools > li .tool-box i { width: 20px; }\nul.g3w-tools > li .tool { cursor: pointer; padding: 5px; border-radius: 2px; }\nul.g3w-tools .tool:hover { background-color: #374850; }\n/* show only first tool (in case of single element) */\n#tools.single .g3w-tools { display: block !important; }\n#tools.single > a,\n#tools.single .g3w-tools .tool-header { display: none !important; }\n#tools.single .tool i { color: #FFE721; }\n#tools.single .tool { padding: 12px 5px; }\n#tools.single li,\n#tools.single .tool,\n#tools.single .g3w-tools { background-color: transparent; }\n#tools.single li { color: #fff; font-weight: bold; border-left: 3px solid transparent; }\n#tools.single li:hover { border-left-color: #e99611; background: #1e282c; }\n\n/**************************************************************************************\n * 7. Map Controls\n **************************************************************************************/\n.ol-viewport.ol-pointer { cursor: pointer; }\n.ol-viewport.ol-zoom-in { cursor: url('./cursors/mZoomIn.svg'), zoom-in }\n.ol-viewport.ol-help { cursor: url('./cursors/mIdentify.svg'), help }\n.ol-viewport.ol-streetview { cursor: url('./cursors/mCapturePoint.svg'), pointer }\n.ol-viewport.ol-crosshair { cursor: crosshair; }\n.ol-viewport.ol-grabbing { cursor: grabbing; }\n.ol-viewport.ol-grab { cursor: grab; }\n\n.ol-control button:is(.ol-zoom-in, .ol-zoom-out),\n.ol-control:is(\n .ol-addlayer,\n .ol-geolocation,\n .ol-maptoimage,\n .ol-streetview,\n .ol-zoombox,\n .ol-zoom-extent,\n .ol-query,\n .ol-queryby,\n .ol-querybbox,\n .ol-querybypolygon,\n .ol-querybydrawpolygon,\n .ol-measure\n) button { position: relative; font-size: 0; }\n.ol-control button.ol-zoom-in::before { background: url(./images/mActionZoomIn.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control button.ol-zoom-out::before { background: url(./images/mActionZoomOut.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-addlayer button::before { background: url(./images/addlayer.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-geolocation button::before { background: url(./images/my_location.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-maptoimage button::before { background: url(./images/camera.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-streetview button::before { background: url(./images/streetview.svg) no-repeat center; content: ''; position: absolute; inset: 0; background-size: 80%; }\n.ol-control.ol-zoombox button::before { background: url(./images/mActionZoomToArea.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-zoom-extent button::before { background: url(./images/mActionZoomFullExtent.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-query button::before { background: url(./images/mActionIdentify.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-querybbox button::before { background: url(./images/mActionIdentifyByRectangle.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-querybypolygon button::before { background: url(./images/mActionIdentifyByFreehand.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-querybydrawpolygon button::before { background: url(./images/mActionIdentifyByPolygon.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-querybycircle button::before { background: url(./images/mActionIdentifyByRadius.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-measure button::before { background: url(./images/mActionMeasure.svg) no-repeat center; content: ''; position: absolute; inset: 0; }\n.ol-control.ol-rotate button .ol-compass { background: url(./images/compass.svg) no-repeat 50% center; display: block; width: 100%; height: 100%; transform: rotate(30deg); font-size: 0; }\n\n.ol-control, .ol-custom-overviewmap { background-color: transparent; border-radius: 0; padding: 0; }\n:is(.ol-control, .ol-custom-overviewmap) button { display: block; margin: 0; padding: 2px 6px; text-decoration: none; text-align: center; height: 39px; width: 39px; line-height: 1.42857143; border-radius: 3px; font-size: 25px; font-weight: 300; float:left; background-color: #fff; color: #222d32; border: 1px solid rgba(0,0,0,0.5); background-clip: padding-box; box-shadow: none !important; border-radius: 3px; }\n:is(.ol-control, .ol-custom-overviewmap) button:hover { text-decoration: none; }\n:is(.ol-control, .ol-custom-overviewmap) button:focus { text-decoration: none; outline: none; }\n.ol-overviewmap:not(.ol-collapsed) button { bottom: 5px; }\n.ol-overviewmap:hover { background-color: rgba(255,255,255, 1) !important; }\n.ol-mouse-position { position: relative !important; height: 20px; font-weight: bold; font-size: 0.9em; margin-left: 8px; }\n.ol-mouse-position-default { right: 50px; border-radius: 4px; z-index: 1; }\n.ol-mouse-position-default { color: #fff; }\n.ol-custom-overviewmap { border-radius: 5px; }\n.ol-custom-overviewmap button { display: inline-block; left: 3px; bottom: 8px; width: 30px; height: 30px; }\n.ol-custom-overviewmap button span { font-size: 15px; font-weight: bold; position: absolute; margin: -6px; }\n.ol-custom-overviewmap .ol-overviewmap-map { border: none; height: 150px; width: 200px; }\n.ol-custom-overviewmap.ol-collapsed { border: 0; }\n.ol-control-tl { top: 7px; left: 7px; }\n.ol-control-bl { bottom: 40px; left: 7px; }\n.ol-control-tr { top: 7px; right: 7px; }\n.ol-control-br { bottom: 7px; right: 7px; min-height: 20px; }\n.ol-zoom :is(.ol-zoom-in, .ol-zoom-out) { border-radius: 3px; display: block; }\n.ol-scale-control { bottom: 15px; }\n.ol-scale-line { left: auto; font-weight: bold; bottom: 35px; }\n#scale-control .select2-selection__rendered { font-weight: bold !important; }\n#scale-control .select2-container--default .select2-selection--single,\n#scale-control .select2-selection .select2-selection--single { height: 30px !important; background-color: #eee; border-width: 0; }\n.ol-rotate { top: 55px; left: 0; }\n.ol-rotate button span { font-weight: bold; }\n.ol-hidden { display:none; }\n.ol-attribution li a { font-weight: bold; }\n.g3w-ol-disabled { opacity: .7; cursor: not-allowed; }\n/* tooltip */\n.mtooltip { position: relative; border-radius: 4px; color: white; font-weight: bold; padding: 4px 8px; opacity: .7; white-space: nowrap; }\n.mtooltip-measure { opacity: 1; font-weight: bold; }\n.mtooltip-measure:before,\n.mtooltip-static:before { border-right: 6px solid transparent; border-left: 6px solid transparent; content: ''; position: absolute; bottom: -6px; margin-left: -7px; left: 50%; }\n.controls-toggle { position: absolute; z-index: 1; left:0 !important; top: 50px; cursor: pointer; color: white; background-image: none; padding: 12.5px; font-family: fontAwesome; }\n.controls-toggle:before { content: ''; }\n.controls-toggle:focus,\n.controls-toggle:hover { color: #fff; }\n\n.ol-attribution { background-color: transparent !important; text-align: left !important; right: auto !important; position: relative !important; top: 5px !important; max-width: 100% !important; }\n.ol-attribution ul { font-size: 1.0em !important; }\n.ol-attribution.ol-uncollapsible { height: 1.3em !important; }\n.g3w-map-controls { position: absolute; flex-wrap: wrap; z-index: 1; display: flex; top: 60px; left: 0; align-items: flex-start; flex-direction: column;}\n.g3w-map-controls.rv { top: 0; right: 5px; left: unset; max-height: calc(100% - 65px); flex-flow: column wrap-reverse; align-content: end; }\n.g3w-map-controls.lv { top:60px; left: 0; align-items: flex-start; }\n.g3w-map-controls.lh { top:60px; left: 0; flex-direction: row; }\n.g3w-map-controls.rh { top:8px; right: 0; flex-direction: row; }\n.g3w-map-controls .ol-control { position:relative; padding: 3px; }\n.g3w-map-controls .ol-zoom { top:0; left:0; }\n.g3w-map-controls .ol-zoom .ol-zoom-in { float: none; margin-bottom: 6px; }\n.g3w-map-controls .ol-zoom-extent { top:0; left:0; }\n:is(.ol-control, .ol-custom-overviewmap) button:hover { background-color:var(--skin-color); }\n:is(.ol-control, .ol-custom-overviewmap) button:focus { background-color:#e5e5e5; }\n.ol-mouse-position-default { background: var(--skin-color); }\n\n.ol-custom-overviewmap,\n.ol-custom-overviewmap .ol-overviewmap-box,\n.ol-scale-control span.select2-selection { border: 2px solid var(--skin-color); }\n\n.ol-scale-line { background: var(--skin-color); }\n.ol-box { border: 3px solid var(--skin-color); }\n.mtooltip { background: rgba(0, 0, 0, 0.9); }\n.mtooltip-static { background-color: #ffcc33; color: black; border: 1px solid #ecbe2e; }\n.mtooltip-measure:before,\n.mtooltip-static:before { border-top: 6px solid rgba(0, 0, 0, 0.5); }\n.mtooltip-static:before { border-top-color: #ffcc33; }\n.controls-toggle { background-color: var(--skin-color); border-bottom: 1px solid var(--skin-color); }\n.tool_mapcontrol_button { background-color: var(--skin-color); }\n.g3w-ol-toggled { background-color: var(--skin-color) !important; }\n\n.ol-mouse-position,\n.ol-attribution li a { color: var(--skin-d20); }\n#scale-control .select2-selection__rendered { color: var(--skin-d20) !important; }\n#scale-control .select2-selection__arrow b { border-top-color: var(--skin-d20) !important; }\n#scale-control .select2-container--default.select2-container--open .select2-selection__arrow b { border-bottom-color: var(--skin-d20) !important; }\n\n/* nominatim */\n@media (max-width: 578px) {\n .ol-attribution.ol-unselectable.ol-uncollapsible ul { font-size: .8em; }\n .g3w-map-controls.rh { top: 50px; left: 0; }\n}\n@media (max-width: 767px) {\n .controls-toggle { left: 300px;}\n}\n\n/**************************************************************************************\n * 8. Query Results\n **************************************************************************************/\n.query_relation_field { display: inline-block; cursor: pointer; color: white; margin: 5px; width: 30px; height: 30px; text-align: center; border-radius: 3px; }\n.query_relation_field i { padding: 6px; }\n.query_relation_field_message { font-weight: bold; margin-left: 5px; }\n.queryresults-wrapper { height: 100%; caret-color: transparent;}\n.queryresults-wrapper .queryresults-text-html.text { white-space: break-spaces; }\n.queryresults-container { height: 100%; overflow-y: auto; position: relative; }\n.queryresults-container .query-results-not-found { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #fff; border-radius: 3px; }\n.queryresults-container .sub-group .group > .row { margin-left: -2px; margin-right: -2px; }\n.queryresults-container .box-features-action { display: flex; }\n.queryresults-container .field_value :is(.field_link, img):focus { box-shadow: none; }\n.queryresults-container .field_value .field_link { border-radius: 5px; min-width: 50px; font-weight: bold; }\n.queryresults-container .field_value .field_link:hover { color:#FFF; }\n.queryresults-container .queryresults table thead tr th.centered { text-align: center; }\n.queryresults-container .queryresults table thead tr th.collapsed { width: 30px; max-width: 30px; }\n.queryresults-container .queryresults table tbody tr.g3w-feature-result-action-tools .g3w-download-formats-content { display: flex; justify-content: flex-start; }\n.queryresults-container .queryresults table tbody tr.g3w-feature-result-action-tools .g3w-download-formats-content > span { flex-grow: 1; }\n.queryresults-container .queryresults table tbody td.attribute { text-align: center; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; vertical-align: middle; }\n.queryresults-container .queryresults table tbody td.collapsed { vertical-align: inherit; }\n.queryresults-container .queryresults table tbody > tr.featurebox-header:nth-of-type(even) { background-color: #f9f9f9 !important; }\n.queryresults-container ul { list-style-type: none; overflow: auto; padding: 0; }\n.queryresults-container ul > li .queryresults-multi { margin-top: 25px; }\n.queryresults-container ul > li span.key { font-weight: bold; font-size: 1.2em; margin-bottom: 10px; display: block; }\n.queryresults-container ul > li .box-header { padding: 0; display: flex; flex-wrap: nowrap; align-items: center; font-weight: bold !important; font-size: 1.2em !important; justify-content: space-between; }\n.queryresults-container ul > li .box-header.mobile { padding: 5px; }\n.queryresults-container ul > li .box-header .box-title { margin: auto; margin-left: 0; font-weight: bold !important; font-size: 1.2em !important; }\n.queryresults-container ul > li .box-header .box-title.query-layer-title { padding: 5px; overflow: hidden; white-space: normal; text-overflow: ellipsis; }\n.queryresults-container .tooltip.top .tooltip-inner { margin-left: 100px; }\n.queryresults-container .divider { display: block; position: relative; padding: 0; margin: 8px auto; height: 0; width: 100%; max-height: 0; font-size: 1px; line-height: 0; clear: both; border: none; border-bottom: 1px solid rgba(65, 86, 96, 0.3); }\n.queryresults-container table { table-layout: fixed; }\n.queryresults-container table thead th { border-bottom: none; padding: 2px; }\n.queryresults-container table tbody { border: 1px solid #f3f3f3; }\n.queryresults-container table tbody .featurebox-header > td.g3w-feature-actions { overflow: hidden; padding: 0; vertical-align: middle; }\n.queryresults-container .link { cursor: pointer; }\n.queryresults-container .link.morelink { font-weight: bold; text-decoration: none; }\n.queryresults-container .queryresults-single { margin-top: 6px; }\n.queryresults-container .queryresults-single span.key { display: inline-block; font-size: 1.1em; font-weight: bold; width: 80px; margin-bottom: 0; }\n.queryresults-container .queryresults-single span.value { display: inline-block; font-size: 1.1em; margin-bottom: 0; }\n.queryresults-container .viewer-container { top: 50px; }\n.queryresults-container .featurebox-header { cursor: pointer; }\n.queryresults-container .featurebox-header .action-cell { text-align: center; }\n.queryresults-container .featurebox-header .action-cell >span { padding-left: 5px; }\n.queryresults-container .featurebox-header .action-cell.right { text-align: right; }\n.queryresults-container tr.featurebox-header-open + .featurebox-body > td > :is(div, table) { border-radius: 3px; border: 1px solid; padding: 3px; margin-bottom: 1px; }\n.queryresults-container tr.featurebox-header-open + .featurebox-body > td > table { border-collapse: separate; }\n.queryresults-container tr.featurebox-header-open + .featurebox-body > td > table :is(td, th) { padding: 3px; }\n.field_label { font-weight: bold; }\n.queryresults-container .featurebox-body tbody { border: 0; }\n.queryresults-container .featurebox-body tbody td { padding: 0; }\n.queryresults-container .featurebox-body .action-buttons-container { line-height: 1.42857143; margin-top: 8px; height: 30px; line-height: 30px; overflow: hidden; }\n.queryresults-container .featurebox-body .action-buttons-container .action-button-icon { color: white; font-size: 1.2em; caret-color: rgba(0,0,0,0); }\n.queryresults-container .featurebox-body table { width: 100%; margin: 6px 0 10px 0; }\n.queryresults-container .featurebox-body .attr-label { width: 30%; max-width: 40%; padding: 3px 3px; font-weight: bold; }\n.queryresults-container .box-primary { border-top-width: 3px; }\n.queryresults-container .photo-preview:hover { cursor: pointer; }\n.query-relations-page { height: 100%; font-size: 14px; }\n.query-relations-page :is(.query-relations, .query-relation) { height: 100%; }\n.query-relations-page .query-relations .header { margin-top: 5px; margin-bottom: 5px; }\n.query-relations-page .query-relations .table { background: transparent; }\n.query-relations-page .query-relations .table tr { background: #fff; }\n.query-relations-page .relations-table td span { font-size: 1.3em; font-weight: bold; }\n.query-relations-page .relationtable td { padding: 2px 5px !important; }\n.query-relations-page .relationtable td span { font-size: 1em; }\n\n.fade-enter, .fade-leave-to { opacity: 0; }\n.fade-enter-active, .fade-leave-active { transition: opacity 0.25s ease-out; }\n\n.back-btn .back-link,\n.query_relation_field_message,\n.queryresults-container ul > li span.key,\n.queryresults-container .link,\n.queryresults-container .law-button { color: var(--skin-color); }\n\n.query_relation_field,\n.queryresults-container tr.featurebox-header-open + .featurebox-body .action-buttons-container { background-color: var(--skin-color); }\n.queryresults-container .box.box-primary { border-top-color: var(--skin-color); }\n\n.queryresults-container .field_link { background-color: var(--skin-color) !important; border-color: var(--skin-color) !important; }\n.queryresults-container .featurebox-header .action-cell > span:hover { color: var(--skin-d10); }\n\n.queryresults-container .featurebox-header:hover td { background-color: var(--skin-l30); }\n.queryresults-container .featurebox-header-open td { background-color: var(--skin-l30) !important; border: 1px solid var(--skin-l30) !important; }\n.queryresults-container tr.featurebox-header-open + .featurebox-body td > :is(div, table) { border-color: var(--skin-l30); }\n\n.queryresults-container table.feature_attributes tr:nth-child(even) { background: var(--skin-f10) !important; }\n.skin-green .queryresults-container table.feature_attributes tr:nth-child(even) { background: #e4ffcb !important; }\n\n.skin-green .queryresults-container .featurebox-header:hover td { background-color: #a1e096; }\n.skin-green .queryresults-container .featurebox-header-open td { background-color: #a1e096 !important; border: 1px solid #a1e096 !important; }\n.skin-green .queryresults-container tr.featurebox-header-open + .featurebox-body td > :is(div, table) { border-color: #a1e096; }\n\n@media (max-width: 768px) {\n .queryresults-container .featurebox-body .field_value .col-sm-6,\n .queryresults-container .featurebox-body .field_label .col-sm-6 { width: 50% !important; float: left; }\n}\n\n/**************************************************************************************\n * 9. Form\n **************************************************************************************/\n\n[role=\"button\"] { cursor: pointer; }\n\n.input-group { position: relative; display: table; border-collapse: separate; }\n.input-group[class*=\"col-\"] { float: none; padding-right: 0; padding-left: 0; }\n.input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; }\n.input-group .form-control:focus { z-index: 3; }\n\n.input-group-addon,\n.input-group .form-control { display: table-cell; }\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; }\n.input-group-addon { width: 1%; white-space: nowrap; vertical-align: middle; }\n.input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: 400; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; }\n.input-group-addon input:is([type=\"radio\"], [type=\"checkbox\"]) { margin-top: 0; }\n.input-group .form-control:first-child,\n.input-group-addon:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }\n.input-group-addon:first-child { border-right: 0; }\n.input-group .form-control:last-child,\n.input-group-addon:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }\n.input-group-addon:last-child { border-left: 0; }\n\n.form-group { margin-bottom: 15px; }\n.radio,\n.checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; }\n:is(.radio, .checkbox).disabled label,\nfieldset[disabled] :is(.radio, .checkbox) label { cursor: not-allowed; }\n.radio label,\n.checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: 400; cursor: pointer; }\n.radio input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"] { position: absolute; margin-top: 4px \\9; margin-left: -20px; }\n.radio + .radio,\n.checkbox + .checkbox { margin-top: -5px; }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox { padding-top: 7px; margin-top: 0; margin-bottom: 0; min-height: 27px; }\n\n@media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } }\n@media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 11px; font-size: 18px; } }\n@media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } }\n\n.form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; }\n.form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); }\n.form-control::-moz-placeholder { color: #999; opacity: 1; }\n.form-control:-ms-input-placeholder { color: #999; }\n.form-control::-webkit-input-placeholder { color: #999; }\n.form-control::-ms-expand { background-color: transparent; border: 0; }\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control { background-color: #eee; opacity: 1; }\n.form-control[disabled],\nfieldset[disabled] .form-control { cursor: not-allowed; }\ntextarea.form-control { height: auto; }\n\n.form-control { border-radius: 0; box-shadow: none; border-color: #d2d6de; }\n.form-control:focus { border-color: var(--skin-primary); box-shadow: none; }\n.form-control::-moz-placeholder,\n.form-control:-ms-input-placeholder,\n.form-control::-webkit-input-placeholder { color: #bbb; opacity: 1; }\n.form-control:not(select) { appearance: none; }\n.input-group .input-group-addon { border-radius: 0; border-color: #d2d6de; background-color: #fff; }\n.icheck > label { padding-left: 0; }\n\n.g3w_input_help { font-weight: normal; text-align: justify; padding: 5px; border-radius: 3px; margin-top: 5px; }\n.g3w_input_help img { max-height: 50px; }\n\n.g3wform_body .dataTable.no-footer { border-bottom: none; }\n.g3wform_body { margin-bottom: 10px; }\n\n.attr-label { width: 30%; max-width: 40%; font-weight: bold; }\n.add-link { margin-left: 5px; font-size: 1.8em !important; }\n.add-link span.disabled { opacity: 0.3; }\n.g3w-mini-relation-icon { padding: 13px; }\n\n.g3wform_body .editbtn { padding: 10px; margin: 2px; box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1), 0 1px 4px 0 rgba(0,0,0,0.3); border-radius: 30%; display: inline-block; opacity: .4; cursor: not-allowed; }\n.g3wform_body .editbtn.enabled { opacity: 1; cursor: pointer; }\n.g3wform_body .editbtn.enabled:hover { background-color: #ddd; }\n.g3wform_body .editbtn.enabled.toggled { background-color: #ddd; }\n.g3wform_body .form-group { margin-bottom: 5px; }\n.g3wform_body .form_editing_relation_input { position: relative; font-size: 1.2em; font-weight: bold; width: 100%; padding: 10px; }\n\n.preview { width: 100%; margin-top: 10px; display:flex; align-items: center; }\n.preview .filename { overflow: hidden; margin: 15px; font-weight: bold; }\n.preview .clearmedia { cursor: pointer; margin-left: auto; }\n.preview .clearmedia .g3w-icon { color: red; }\n.preview .previewtype:hover { background-color: #efefef; }\n.preview .previewtype { display: flex; justify-content: center; padding-top: 10px; cursor: pointer; background-color: #fff; width: 50px; height: 50px; border: 2px solid; }\n.preview .previewtype.pdf { color: var(--skin-danger); border-color: currentColor; }\n.preview .previewtype.image { color: var(--skin-warning); border-color: currentColor; }\n.preview .previewtype.video { color: orange; border-color:orange; }\n.preview .previewtype.unknow { color: grey; border-color:grey; }\n.preview .previewtype.zip { color: saddlebrown; border: 2px solid saddlebrown; }\n.preview .previewtype.text { color: var(--skin-primary); border-color: currentColor; }\n.preview .previewtype.excel { color: var(--skin-success); border-color: currentColor; }\n.preview .previewtype.ppt { color: var(--skin-alternate); border-color: currentColor; }\n\n.g3wform-relation-table tbody td { vertical-align: bottom; }\n\n.g3wform_body { overflow-x:hidden; overflow-y: auto; clear:both; margin-bottom: 10px; }\n.g3wform_body .divider { display: block; position: relative; padding: 0; margin: 5px auto; height: 0; width: 100%; max-height: 0; font-size: 1px; line-height: 0; clear: both; border: none; border-bottom: 1px solid rgba(122, 122, 122, 0.1); }\n\n.input-error-validation { border: 2px solid red!important; }\n.error-input-message { color: red; font-weight: bold; }\n\n.g3wform_footer { text-align: center; position: absolute; bottom: 0; margin: auto; width: 100%; background-color: #ededed; }\n.g3wform_footer button { font-weight: bold; margin: 5px; min-width: 80px; }\n.g3wform_header { display: flex; justify-content: space-between; background-color: #fff; }\n.g3wform_header .title { flex-grow: 1; flex-shrink: 1; flex-basis: 0; padding: 5px; overflow: hidden; font-weight: bold; font-size: 1.4em; }\n.g3wform_header .title.tabs { border: 1px solid #eee; margin-right: 2px; border-bottom: 0; }\n.g3wform_header .title.tabs:hover { background-color: #ededed; }\n\n.g3w-form { background-color: #fff; }\n.g3w-form button { margin: 0 5px 0 5px; font-weight: bold; }\n.g3w-form .tab-node.group .sub-group { margin-top: 3px; }\n.g3w-form .field-child input.form-control { padding-right: 0 !important; }\n.g3w-form .btn-add { font-size: 1.8em; right: 18px; margin-top: 8px; cursor: pointer; }\n.g3w-form .link { cursor: pointer; }\n.g3w-form .link.morelink { font-weight: bold; text-decoration: none; }\n.g3w-form .link.trash { color: red; margin-right: 5px; }\n.g3w-form tr.attributes-preview { cursor: pointer; }\n.g3w-form tr.attributes-preview:hover td { background-color: #e6e6e6; }\n.g3w-form .form-control.picklayerinput { cursor: pointer; }\n.g3w-form .photo-preview { margin-bottom: 5px; max-width: 300px; margin-top: 5px; }\n\n.g3wform_body :is(.input-group-addon, .g3w-icon, .relation-editbtn),\n:is(.g3w-form, .g3wform_footer) .btn-add,\n:is(.g3w-form, .g3wform_footer) .link,\n.bootstrap-datetimepicker-widget a > span:is(.glyphicon-remove, .glyphicon-time, .glyphicon-calendar, .glyphicon-chevron-up, .glyphicon-chevron-down) {\n color: var(--skin-color);\n}\n.g3wform_body form .box-primary { border-top-color: var(--skin-color); }\n.g3wform_body .form-control:focus { border-color: var(--skin-color); }\n.g3wform_body .relation-editbtn { border: 2px solid var(--skin-color); }\n.bootstrap-datetimepicker-widget .datepicker .active { background-color: var(--skin-color); }\n\n.g3wform_header .title { color: var(--skin-l20); }\n.g3wform_header .title.one { color: var(--skin-d20); }\n.g3wform_header .title.tabs:hover { border-bottom: 4px solid var(--skin-l40); }\n.g3wform_header .item_selected { color: var(--skin-d20); border-bottom: 3px solid var(--skin-color) !important; }\n\n.glyphicon-remove::before { content: '\\1F5D9'; font-weight: bold; }\n.glyphicon-chevron-left::before { content: '\\2039'; font-weight: bold; font-size: 1.5em; }\n.glyphicon-chevron-right::before { content: '\\203a'; font-weight: bold; font-size: 1.5em; }\n.glyphicon-time::before { content: '\uD83D\uDD51'; }\n\n/**************************************************************************************\n * 10. Contents\n **************************************************************************************/\n.contents { padding: 0 10px; height: 100%; }\n.contents > div { height: 100%; }\n.contents table { empty-cells: show; width: 100%; background-color: #fff !important; }\n.contents .node-row > div + div,\n.contents .tabs-wrapper + .tabs-wrapper,\n.contents .node-row .field + .tabs-wrapper { border-left: 1px solid rgba(0,0,0,.1); }\n.contents .node-row .tabs-wrapper { border-top-right-radius: 3px; border-top-left-radius:3px; }\n.contents .node-row .tabs-wrapper { border-right: 1px solid rgba(0,0,0,.1); }\n.contents .node-row .tabs-wrapper:last-of-type { border-right: none; }\n.contents .nav-tabs { border-bottom: none; }\n.contents .node-row .tabs-wrapper .tab-content:not(:last-child) { border-bottom: 3px double rgba(0,0,0,.25); }\n.contents .node-row .tabs-wrapper.sub-group .tabs-wrapper.sub-group { border: 1px solid rgba(0,0,0,.25); }\n\n/**************************************************************************************\n * 11. Errors\n **************************************************************************************/\n.error-initial-page { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #FFF; }\n.error-initial-page .oops { font-weight: bold; font-size: 5.0em; }\n.error-initial-page .cause { margin-top:0; }\n.error-initial-page .f5 { font-weight: bold; }\n\n/**************************************************************************************\n * 12. Externals\n **************************************************************************************/\n\n.select2-container--default.select2-container--focus,\n.select2-container--default:focus,\n.select2-container--default:active,\n.select2-selection.select2-container--focus,\n.select2-selection:focus,\n.select2-selection:active { outline: none; }\n:is(.select2-container--default, .select2-selection) .select2-selection--single { border-radius: 0; padding: 6px 12px; height: 34px; }\n.select2-container--default.select2-container--open { border-color: var(--skin-primary); }\n.select2-dropdown { border-radius: 0; }\n.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--skin-primary); color: white; }\n.select2-results__option { padding: 6px 12px; user-select: none; }\n.select2-container .select2-selection--single .select2-selection__rendered { padding-left: 0; padding-right: 0; height: auto; margin-top: -4px; }\n.select2-container[dir=\"rtl\"] .select2-selection--single .select2-selection__rendered { padding-right: 6px; padding-left: 20px; }\n.select2-container--default .select2-selection--single .select2-selection__arrow { height: 28px; right: 3px; }\n.select2-container--default .select2-selection--single .select2-selection__arrow b { margin-top: 0; }\n:is(.select2-search--inline, .select2-dropdown) .select2-search__field:focus { outline: none; }\n.select2-container--default .select2-results__option[aria-disabled=true] { color: #999; }\n.select2-container--default .select2-results__option[aria-selected=true] { background-color: #ddd; }\n.select2-container--default .select2-results__option[aria-selected=true],\n.select2-container--default .select2-results__option[aria-selected=true]:hover { color: #444; }\n.select2-container--default .select2-selection--multiple { border-radius: 0; }\n.select2-container--default .select2-selection--multiple .select2-container--default:focus { border-color: var(--skin-primary); }\n.select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #d2d6de; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: var(--skin-primary); border-color: var(--skin-primary-d5); padding: 1px 10px; color: #fff; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { margin-right: 5px; color: rgba(255,255,255,.7); }\n.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: #fff; }\n.select2-container .select2-selection--single .select2-selection__rendered { padding-right: 10px; }\n\ninput[type=\"range\"] { accent-color: var(--skin-color); margin: 5px 0 5px 0; }\ntable.dataTable .no-footer { border-bottom: 0 !important; }\ntable.dataTable thead tr { font-size: 1.1em; }\ntable.dataTable thead tr th { padding-top: 2px ; padding-bottom: 2px; }\n.dataTables_scroll { border: 1px solid #cccccc; }\n.dataTables_wrapper.no-footer .dataTables_scrollBody { border-bottom: 0; }\n\n/** @since 3.9.0 */\n.dataTables_filter input.search,\n.dataTables_length select { border-radius: 3px; }\n.bootbox.dialogFullScreen .modal-dialog { width: 90% !important; height: 90% !important; }\n.bootbox.modal.in .modal-title { font-weight: bold; }\n.bootbox.modal.in.modal-left .modal-dialog { width: 350px !important; margin-left: 0 !important; margin-top: 5px !important; }\n\n.c3-title { font-weight: bold; top: 5px; font-size: 2em; }\n.select2-dropdown { color: #444 !important; }\n.table.mobile thead tr th,\n.table.mobile tbody tr td { padding: 3px; }\n.form-control.search { height: 25px !important; margin-left: 1px !important; max-width: 160px; }\n.select2-container--default .select2-results__option[aria-selected=true] { color: #fff; font-weight: bold; }\n.select2-selection--single, .select2-selection__choice { overflow: hidden; white-space: normal; overflow-wrap: break-word; }\n\n.bootstrap-datetimepicker-widget.dropdown-menu { color: #000; white-space: normal !important; }\n.bootstrap-datetimepicker-widget.dropdown-menu:after,\n.bootstrap-datetimepicker-widget.dropdown-menu:before { content: none !important; }\n\n.ql-tooltip[data-mode=\"link\"] { left: 0 !important; }\n.ql-container { height: auto; }\nbody .tooltip .tooltip-inner { max-width: 100% !important; }\n\n\n@keyframes hover-color { 0% { border-color: silver } to { border-color: #3e97eb } }\n:is(.magic-checkbox, .magic-radio) { position: absolute; display: none }\n:is(.magic-checkbox, .magic-radio)[disabled] { cursor: not-allowed }\n:is(.magic-checkbox, .magic-radio)+label { position: relative; display: block; padding-left: 30px; cursor: pointer; vertical-align: middle; }\n:is(.magic-checkbox, .magic-radio)+label:hover:before { animation-duration: .4s; animation-fill-mode: both; animation-name: hover-color; }\n:is(.magic-checkbox, .magic-radio)+label:before { position: absolute; top: 0; left: 0; display: inline-block; width: 20px; height: 20px; content: ''; border: 1px solid silver; }\n:is(.magic-checkbox, .magic-radio)+label:after { position: absolute; display: none; content: '' }\n:is(.magic-checkbox, .magic-radio)[disabled]+label { cursor: not-allowed; color: #e4e4e4 }\n:is(.magic-checkbox, .magic-radio)[disabled]+label:after,\n:is(.magic-checkbox, .magic-radio)[disabled]+label:before,\n:is(.magic-checkbox, .magic-radio)[disabled]+label:hover { cursor: not-allowed }\n:is(.magic-checkbox, .magic-radio)[disabled]+label:hover:before { border: 1px solid #e4e4e4; animation-name: none }\n:is(.magic-checkbox, .magic-radio)[disabled]+label:before { border-color: #e4e4e4 }\n:is(.magic-checkbox, .magic-radio):checked+label:before { animation-name: none; }\n:is(.magic-checkbox, .magic-radio):checked+label:after { display: block; }\n.magic-radio+label:before { border-radius: 50%; }\n.magic-radio+label:after { top: 6px; left: 6px; width: 8px; height: 8px; border-radius: 50%; background: #3e97eb; }\n.magic-radio:checked+label:before { border: 1px solid #3e97eb }\n.magic-radio:checked[disabled]+label:before { border: 1px solid #c9e2f9 }\n.magic-radio:checked[disabled]+label:after { background: #c9e2f9 }\n.magic-checkbox+label:before { border-radius: 3px }\n.magic-checkbox+label:after { top: 2px; left: 7px; width: 6px; height: 12px; transform: rotate(45deg); border: 2px solid #fff; border-top: 0; border-left: 0 }\n.magic-checkbox:checked+label:before { border: #3e97eb; background: #3e97eb }\n.magic-checkbox:checked[disabled]+label:before { border: #c9e2f9; background: #c9e2f9 }\n\n.magic-checkbox:checked + label:before { border: var(--skin-color); background: var(--skin-color); }\n.magic-radio + label:after { background: var(--skin-color); }\n.magic-radio:checked + label:before { border-color: var(--skin-color); }\n.bootbox.modal.in .modal-title { color: var(--skin-color); }\n.c3-title { fill: var(--skin-color); }\n.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--skin-color) !important; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: var(--skin-color); border-color: var(--skin-color); }\n\n.select2-container--default .select2-results__option[aria-selected=true] { background-color: var(--skin-l20); }\n\n/**************************************************************************************\n * 13. Tabs\n **************************************************************************************/\n.nav-tabs { border-bottom: 1px solid #ddd; display: flex; }\n.nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; }\n.nav-tabs > li > a:hover { border-color: #eee #eee #ddd; }\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; }\n\n.tab-content > .tab-pane { display: none; }\n.tab-content > .active { display: block; }\n.nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; }\n\n.tabs-wrapper .tab-content .tab-node.group .node-row:nth-child(odd) { background-color: #FFF; }\n\n.tab-node.group .node-row:nth-child(even) { background-color: var(--skin-l48) !important; }\n.tab-node.group .sub-group { background-color: var(--skin-l45) !important; }\n\n.skin-green .tab-node.group .node-row:nth-child(even) { background-color: #e4ffcb !important; }\n.skin-green .tab-node.group .sub-group { background-color: #e4ffcb !important; }\n.skin-red .tab-node.group .node-row:nth-child(even) { background-color: var(--skin-danger-l40) !important; }\n.skin-red .tab-node.group .sub-group { background-color: var(--skin-danger-l40) !important; }\n\n/**************************************************************************************\n * 14. Skin colors\n **************************************************************************************/\n\n.skin-border-color { border-color: var(--skin-color) !important; }\n.skin-background-color { background-color: var(--skin-color) !important; }\n.skin-button { background: var(--skin-color) !important; }\n.skin-color { color: var(--skin-color) !important; }\n.skin-button.focus { border: 0; }\n.skin-button { color: #fff; font-weight: bold; }\n\n.skin-border-color.lighten { border-color: var(--skin-l30) !important; }\n.skin-background-color.lighten { background-color: var(--skin-l30) !important; }\n.skin-button.lighten { background: var(--skin-l30) !important; }\n.skin-color-dark { color: var(--skin-d20) !important; }\n\n/* Catalog */\n.catalog-context-menu li:hover { background: var(--skin-l10); }\n\n.tooltip .tooltip-inner { font-weight: 700; font-size: 1.25rem; padding: 8px; background-color: #222; }\n\n/**************************************************************************************\n * 15. Print\n **************************************************************************************/\n\n@media print {\n .no-print { display: none!important; }\n}\n"], "mappings": "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", "names": [] diff --git a/g3w-admin/client/static/client/app.min.js b/g3w-admin/client/static/client/app.min.js index b84e34733..c9ee32811 100644 --- a/g3w-admin/client/static/client/app.min.js +++ b/g3w-admin/client/static/client/app.min.js @@ -1,13 +1,13 @@ -(()=>{var y3=Object.create;var Jp=Object.defineProperty;var v3=Object.getOwnPropertyDescriptor;var b3=Object.getOwnPropertyNames;var x3=Object.getPrototypeOf,w3=Object.prototype.hasOwnProperty;var so=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,i)=>(typeof require<"u"?require:n)[i]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var W=(e,n)=>()=>(e&&(n=e(e=0)),n);var Qe=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),vi=(e,n)=>{for(var i in n)Jp(e,i,{get:n[i],enumerable:!0})},Z1=(e,n,i,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of b3(n))!w3.call(e,o)&&o!==i&&Jp(e,o,{get:()=>n[o],enumerable:!(r=v3(n,o))||r.enumerable});return e};var hn=(e,n,i)=>(i=e!=null?y3(x3(e)):{},Z1(n||!e||!e.__esModule?Jp(i,"default",{value:e,enumerable:!0}):i,e)),Wn=e=>Z1(Jp({},"__esModule",{value:!0}),e);var By,K1=W(()=>{By="4.0.0-alpha.0"});var E3,Cn,eg,Nh,oo,ye,pu,ja,Di,ji,Ul,Uy,Ds,Rh,zo,Mh,ni,mr,gu,Nt=W(()=>{K1();E3=["add_feature","change_feature","change_attr_feature","delete_feature"],Cn="g3w_fid",eg={gte:">=",lte:"<=",NOT:"!=",eq:"=",gt:">",lt:"<",IN:"IN",LIKE:"LIKE",ILIKE:"ILIKE",AND:"AND",OR:"OR"},Nh={lte:"<=",ltgt:"!=",ilike:"ILIKE",like:"LIKE",...eg},oo=["geometryProperty","boundedBy","geom","the_geom","geometry","bbox","GEOMETRY","geoemtria","geometria"],ye={POINT:"Point",POINTZ:"PointZ",POINTM:"PointM",POINTZM:"PointZM",POINT25D:"Point25D",MULTIPOINT:"MultiPoint",MULTIPOINTZ:"MultiPointZ",MULTIPOINTM:"MutliPointM",MULTIPOINTZM:"MultiPointZM",MULTIPOINT25D:"MultiPoint25D",LINESTRING:"LineString",LINESTRINGZ:"LineStringZ",LINESTRINGM:"LineStringM",LINESTRINGZM:"LineStringZM",LINESTRING25D:"LineString25D",LINE:"Line",LINEZ:"LineZ",LINEM:"LineM",LINEZM:"LineZM",LINE25D:"Line25D",MULTILINESTRING:"MultiLineString",MULTILINESTRINGZ:"MultiLineStringZ",MULTILINESTRINGM:"MultiLineStringM",MULTILINESTRINGZM:"MultiLineStringZM",MULTILINESTRING25D:"MultiLineString25D",MULTILINE:"MultiLine",MULTILINEZ:"MultiLineZ",MULTILINEM:"MultiLineM",MULTILINEZM:"MultiLineZM",MULTILINE25D:"MultiLine25D",POLYGON:"Polygon",POLYGONZ:"PolygonZ",POLYGONM:"PolygonM",POLYGONZM:"PolygonZM",POLYGON25D:"Polygon25D",MULTIPOLYGON:"MultiPolygon",MULTIPOLYGONZ:"MultiPolygonZ",MULTIPOLYGONM:"MultiPolygonM",MULTIPOLYGONZM:"MultiPolygonZM",MULTIPOLYGON25D:"MultiPolygon25D",GEOMETRYCOLLECTION:"GeometryCollection",GEOMETRYCOLLECTIONZ:"GeometryCollectionZ",GEOMETRYCOLLECTIONM:"GeometryCollectionM",GEOMETRYCOLLECTIONZM:"GeometryCollectionZM",GEOMETRYCOLLECTION25D:"GeometryCollection25D"},pu=[{value:100,label:"1:100"},{value:200,label:"1:200"},{value:500,label:"1:500"},{value:1e3,label:"1:1.000"},{value:2e3,label:"1:2.000"},{value:2500,label:"1:2.500"},{value:5e3,label:"1:5.000"},{value:1e4,label:"1:10.000"},{value:2e4,label:"1:20.000"},{value:25e3,label:"1:25.000"},{value:5e4,label:"1:50.000"},{value:1e5,label:"1:100.000"},{value:25e4,label:"1:250.000"},{value:5e5,label:"1:500.000"},{value:1e6,label:"1:1.000.000"},{value:25e5,label:"1:2.500.000"},{value:5e6,label:"1:5.000.000"},{value:1e7,label:"1:10.000.000"},{value:2e7,label:"1:20.000.000"},{value:5e7,label:"1:50.000.000"},{value:1e8,label:"1:100.000.000"},{value:25e7,label:"1:250.000.000"},{value:5e8,label:"1:500.000.000"}],ja={unit:"pixel",value:10},Di="__G3W_ALL__",ji=6e4,Ul={resize:{map:{min:200},content:{min:200}}},Uy={"change-map":"fas fa-map-signs",map:"far fa-map",file:"fas fa-file-code",marker:"fas fa-map-marker-alt",relation:"fas fa-sitemap",tools:"fas fa-cogs",tool:"fas fa-cog",search:"fas fa-search",print:"fas fa-print",info:"fas fa-info-circle","info-circle":"fas fa-info-circle",globe:"fas fa-globe",mail:"fas fa-envelope",mobile:"fas fa-mobile",fax:"fas fa-fax",user:"fas fa-user",bars:"fas fa-bars",uncheck:"far fa-square",check:"far fa-check-square",checkmark:"fa fa-check",filluncheck:"fas fa-square",table:"fas fa-table",trash:"fas fa-trash","trash-o":"far fa-trash-alt",pencil:"fas fa-pencil-alt","ellips-h":"fas fa-ellipsis-h","ellips-v":"fas fa-ellipsis-v","arrow-up":"fas fa-chevron-up","arrow-down":"fas fa-chevron-down","arrow-left":"fas fa-chevron-left","arrow-right":"fas fa-chevron-right","resize-h":"fas fa-arrows-alt-h","resize-v":"fas fa-arrows-alt-v","resize-default":"fas fa-compress","caret-up":"fas fa-caret-up","caret-down":"fas fa-caret-down","caret-left":"fas fa-caret-left","caret-right":"fas fa-caret-right","empty-circle":"far fa-circle","cloud-upload":"fas fa-cloud-upload-alt",spinner:"fas fa-spinner",minus:"fas fa-minus","minus-square":"far fa-minus-square",plus:"fas fa-plus","plus-circle":"fas fa-plus-circle","plus-square":"far fa-plus-square",grid:"fas fa-th",home:"fas fa-home",folder:"fas fa-folder","sign-out":"fas fa-sign-out-alt",close:"fas fa-times",time:"far fa-clock",calendar:"fas fa-calendar-alt",list:"fas fa-list-alt",link:"fas fa-link",unlink:"fas fa-unlink",eye:"far fa-eye","eye-close":"far fa-eye-slash",save:"far fa-save",pdf:"fas fa-file-pdf",image:"far fa-image",video:"far fa-file-video",unknow:"far fa-question-circle",zip:"far fa-file-archive",text:"far fa-file-alt",excel:"far fa-file-excel",xls:"far fa-file-excel",gpx:"fas fa-location-arrow",gpkg:"fas fa-box-open",shapefile:"fas fa-file-archive",csv:"fas fa-file-csv",geotiff:"fas fa-th",ppt:"far fa-file-powerpoint",circle:"fas fa-circle",calculator:"fas fa-calculator",picture:"far fa-image",keyboard:"far fa-keyboard","file-download":"fas fa-file-download",copy:"far fa-copy",draw:"fas fa-draw-polygon",chart:"fas fa-chart-bar","chart-line":"fas fa-chart-line","chart-area":"fas fa-chart-area","chart-pie":"fas fa-chart-pie",run:"fas fa-play",warning:"fas fa-exclamation-circle",alert:"fas fa-exclamation-triangle",crosshairs:"fas fa-crosshairs",success:"far fa-check-circle",back:"fas fa-chevron-circle-left","file-upload":"fas fa-file-upload",wifi:"fas fa-wifi",mouse:"fas fa-mouse","copy-paste":"far fa-copy","vector-square":"fas fa-vector-square",download:"fas fa-download",credits:"fas fa-euro-sign",filter:"fas fa-filter",plugin:"fas fa-plug",invert:"fas fa-exchange-alt",clear:"fas fa-broom",palette:"fas fa-palette",layers:"fas fa-layer-group","sign-in":"fas fa-sign-in-alt",language:"fas fa-language",target:"fas fa-bullseye",pin:"fas fa-map-pin",square:"far fa-square",move:"fas fa-arrows-alt",moon:"fas fa-moon",sun:"fas fa-sun",refresh:"fas fa-sync-alt",pause:"fas fa-pause","step-backward":"fas fa-step-backward","fast-backward":"fas fa-fast-backward","step-forward":"fas fa-step-forward","fast-forward":"fas fa-fast-forward",crop:"fas fa-crop-alt",exit:"fas fa-door-open",slider:"fas fa-sliders-h",bookmark:"fas fa-bookmark",reply:"fas fa-reply",share:"fas fa-share","share-alt":"fa fa-share-alt","external-link":"fa fa-external-link-alt",pointer:"fa fa-hand-pointer",camera:"fas fa-camera-retro",measure:"fas fa-ruler-horizontal",tint:"fa fa-tint",sort:"fa fa-sort",copyright:"fa fa-copyright",forward:"fas fa-angle-double-right",backward:"fas fa-angle-double-left"},Ds={MESSAGES:{id:"MESSAGES",value:{}},SPATIALBOOKMARKS:{id:"SPATIALBOOKMARKS",value:{}}},Rh=["intersects","within"],zo=96,Mh={m:39.37,degrees:4374754},ni={ALL:"__ALL__",EXCLUDE:"__EXCLUDE__"},mr=[10,25,50,100],gu={DEFAULT_EDITING_CAPABILITIES:E3,DOTS_PER_INCH:zo,FILTER_OPERATORS:eg,FILTER_EXPRESSION_OPERATORS:Nh,FONT_AWESOME_ICONS:Uy,G3W_FID:Cn,GEOMETRY_FIELDS:oo,GEOMETRY_TYPES:ye,INCHES_PER_UNIT:Mh,LOCAL_ITEM_IDS:Ds,PRINT_SCALES:pu,QUERY_POINT_TOLERANCE:ja,SEARCH_ALLVALUE:Di,SPATIAL_METHODS:Rh,TIMEOUT:ji,VIEWPORT:Ul,PAGELENGTHS:mr}});function qi(){}var mu=W(()=>{});function Li(e,n=500){let i;return function(...r){clearTimeout(i),i=setTimeout(()=>e(...r),n)}}var Go=W(()=>{});function Hn(e,n=500){let i;return function(...r){let o=i;i=Date.now(),(o===void 0||i-o>n)&&e(...r)}}var $o=W(()=>{});var J1=Qe((Q1,tg)=>{(function(e){"use strict";function n(){}var i=n.prototype,r=e.EventEmitter;function o(f,p){for(var g=f.length;g--;)if(f[g].listener===p)return g;return-1}function u(f){return function(){return this[f].apply(this,arguments)}}i.getListeners=function(p){var g=this._getEvents(),d,v;if(p instanceof RegExp){d={};for(v in g)g.hasOwnProperty(v)&&p.test(v)&&(d[v]=g[v])}else d=g[p]||(g[p]=[]);return d},i.flattenListeners=function(p){var g=[],d;for(d=0;d{mu();Go();$o();eS=hn(J1()),Et=class extends eS.default{___setters;___throttles;___debounces;___listeners;get setters(){return this.___setters}set setters(n){if(this.___setters=n,n){this.___listeners={after:{},before:{}};for(let i in this.___setters)this.___listeners.after[i]=[],this.___listeners.before[i]=[],this[i]=function(...r){return $.Deferred(o=>{let u=0,c=f=>{let p=f===!0||f===!1?!f:!1,g=this.___listeners.before[i].length;if(p){(this.___setters[i]instanceof Function?qi:this.___setters[i].fallback||qi).apply(this,r),o.reject();return}if(u===g){o.resolve((this.___setters[i]instanceof Function?this.___setters[i]:this.___setters[i].fnc).apply(this,r));let d=[];this.___listeners.after[i].forEach(v=>{v.fnc.apply(this,r),v.once&&d.push(v.key)}),d.forEach(v=>this.un(i,v)),this.emitEvent(`set:${i}`,r)}if(u{i===void 0?o[n].splice(0):o[n].forEach((u,c)=>{u.key===i&&o[n].splice(c,1)})})}_onsetter(n,i,r,o,u=0,c=!1){let f;return this.___listeners&&this.___listeners[n][i]!==void 0&&(f=`${Math.floor(Math.random()*1e6)+Date.now()}`,this.___listeners[n][i].push({key:f,fnc:r,async:o,priority:u,once:c}),this.___listeners[n][i]=this.___listeners[n][i].sort((p,g)=>g.priority-p.priority)),f}get(n){return this[n]&&!(this[n]instanceof Function)?this[n]:null}set(n,i){this[n]=i}}});var C3,V,vt=W(()=>{Yn();C3=Vue.observable({ready:!1,iframe:window.top!==window.self,online:navigator.onLine,ismobile:isMobile.any,download:!1,upload:!1,baseLayerId:null,language:"en",lng:"en",plugins:[],pluginsConfigs:{},configurationPlugins:[],user:null,map:{epsg:"",unit:"metric"},gui:{app:{disabled:!1},sidebar:{disabled:!1,open:!0},layout:{__current:"app",app:{}}},keys:{vendorkeys:{google:void 0,bing:void 0}},tokens:{filtertoken:void 0},querybuilder:{cache:{},searches:JSON.parse(window.localStorage.getItem("QUERYBUILDERSEARCHES")||"{}")},navbaritems:[],sidebar:{title:"",components:[],parent:null,contentsdata:[]},contentsdata:[],viewport:{primaryView:"map",secondaryPerc:0,resized:{start:!1,h:!1,v:!1},split:"h",map:{sizes:{width:0,height:0},aside:!1},content:{loading:!1,disabled:!1,sizes:{width:0,height:0},resize:{h:{perc:0},v:{perc:0}},aside:!0,showgoback:!0,stack:[],closable:!0,backonclose:!1,contentsdata:[]},usermessage:{id:null,show:!1,title:null,message:null,position:null,type:null,draggable:null,cloasable:null,autoclose:null,textMessage:!1,hooks:{header:null,body:null,footer:null}},components:{map:null,content:null}},sizes:{sidebar:{width:0}},i18n:{plugins:{}},project:new Et,catalog:{},highlightlayers:!1}),V=C3});var tS,bi,Ah=W(()=>{Nt();Yn();tS=new Et({setters:{online(){},offline(){}}});tS.version=By;bi=tS});function Vl(e){return[ye.POINTZ,ye.POINTM,ye.POINTZM,ye.POINT25D,ye.MULTIPOINTZ,ye.MULTIPOINTM,ye.MULTIPOINTZM,ye.MULTIPOINT25D,ye.LINESTRINGZ,ye.LINESTRINGM,ye.LINESTRINGZM,ye.LINESTRING25D,ye.MULTILINESTRINGZ,ye.MULTILINESTRINGM,ye.MULTILINESTRINGZM,ye.MULTILINESTRING25D,ye.LINEZ,ye.LINEM,ye.LINEZM,ye.LINE25D,ye.MULTILINEZ,ye.MULTILINEM,ye.MULTILINEZM,ye.MULTILINE25D,ye.POLYGONZ,ye.POLYGONM,ye.POLYGONZM,ye.POLYGON25D,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D].find(n=>n===e)}var ng=W(()=>{Nt()});function Oh(e){return e.length===2&&e.push(0),e}function ig({feature:e,geometryType:n}={}){if(!Vl(n))return console.warn("Invalid 3D Geometry Type:",n),e;let i=e.getGeometry(),r=i.getCoordinates();switch(n||i.getType()){case ye.POINTZ:case ye.POINTM:case ye.POINTZM:case ye.POINT25D:e.getGeometry().setCoordinates(Oh(r));break;case ye.MULTIPOINTZ:case ye.MULTIPOINTM:case ye.MULTIPOINTZM:case ye.MULTIPOINT25D:case ye.LINESTRINGZ:case ye.LINESTRINGM:case ye.LINESTRINGZM:case ye.LINESTRING25D:case ye.LINEZ:case ye.LINEM:case ye.LINEZM:case ye.LINE25D:r.forEach(o=>Oh(o)),e.getGeometry().setCoordinates(r);break;case ye.MULTILINESTRINGZ:case ye.MULTILINESTRINGM:case ye.MULTILINESTRINGZM:case ye.MULTILINESTRING25D:case ye.MULTILINEZ:case ye.MULTILINEM:case ye.MULTILINEZM:case ye.MULTILINE25D:r.forEach(o=>o.forEach(u=>Oh(u))),e.getGeometry().setCoordinates(r);break;case ye.POLYGONZ:case ye.POLYGONM:case ye.POLYGONZM:case ye.POLYGON25D:r[0].forEach(o=>Oh(o)),e.getGeometry().setCoordinates(r);break;case ye.MULTIPOLYGONZ:case ye.MULTIPOLYGONM:case ye.MULTIPOLYGOZM:case ye.MULTIPOLYGON25D:r.forEach(o=>o[0].forEach(u=>Oh(u))),e.getGeometry().setCoordinates(r);break;default:console.warn("invalid geometry type:",n||i.getType())}return e}var Vy=W(()=>{Nt();ng()});function Ph({feature:e}={}){let n=e.getGeometry();if(!n)return e;let i=n.getCoordinates();switch(n.getType()){case ye.POINT:i.splice(2),n.setCoordinates(i);break;case ye.MULTIPOINT:case ye.LINESTRING:case ye.LINE:i.forEach(r=>r.splice(2)),n.setCoordinates(i);break;case ye.MULTILINESTRING:case ye.MULTILINE:i.forEach(r=>r.forEach(o=>o.splice(2))),n.setCoordinates(i);break;case ye.POLYGON:i[0].forEach(r=>r.splice(2)),n.setCoordinates(i);break;case ye.MULTIPOLYGON:i.forEach(r=>r[0].forEach(o=>o.splice(2))),n.setCoordinates(i);break;default:console.warn("unsupported geometry type: "+n.getType())}return e}var Wy=W(()=>{Nt()});function js(e){return[ye.MULTIPOINT,ye.MULTIPOINTZ,ye.MULTIPOINTZM,ye.MULTIPOINTM,ye.MULTIPOINT25D,ye.MULTILINESTRING,ye.MULTILINESTRINGZ,ye.MULTILINESTRINGM,ye.MULTILINESTRINGZM,ye.MULTILINESTRING25D,ye.MULTILINE,ye.MULTILINEZ,ye.MULTILINEM,ye.MULTILINEZM,ye.MULTILINE25D,ye.MULTIPOLYGON,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D].includes(e)}var Fh=W(()=>{Nt()});function qa(e){return[ye.POINT,ye.POINTZ,ye.POINTM,ye.POINTZM,ye.POINT25D,ye.MULTIPOINT,ye.MULTIPOINTZ,ye.MULTIPOINTM,ye.MULTIPOINTZM,ye.MULTIPOINT25D].includes(e)}var Dh=W(()=>{Nt()});function ao(e){return[ye.LINESTRING,ye.LINESTRINGZ,ye.LINESTRINGM,ye.LINESTRINGZM,ye.LINESTRING25D,ye.MULTILINESTRING,ye.MULTILINESTRINGZ,ye.MULTILINESTRINGM,ye.MULTILINESTRINGZM,ye.MULTILINESTRING25D,ye.LINE,ye.LINEZ,ye.LINEM,ye.LINEZM,ye.LINE25D,ye.MULTILINE,ye.MULTILINEZ,ye.MULTILINEM,ye.MULTILINEZM,ye.MULTILINE25D].includes(e)}var _u=W(()=>{Nt()});function lo(e){return[ye.POLYGON,ye.POLYGONZ,ye.POLYGONM,ye.POLYGONZM,ye.POLYGON25D,ye.MULTIPOLYGON,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D].includes(e)}var yu=W(()=>{Nt()});var rg=Qe((iS,Hy)=>{(function(e){typeof iS=="object"&&typeof Hy<"u"?Hy.exports=e():typeof define=="function"&&define.amd?define([],e):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=e()})(function(){return function e(n,i,r){function o(f,p){if(!i[f]){if(!n[f]){var g=typeof so=="function"&&so;if(!p&&g)return g(f,!0);if(u)return u(f,!0);var d=new Error("Cannot find module '"+f+"'");throw d.code="MODULE_NOT_FOUND",d}var v=i[f]={exports:{}};n[f][0].call(v.exports,function(y){var S=n[f][1][y];return o(S||y)},v,v.exports,e,n,i,r)}return i[f].exports}for(var u=typeof so=="function"&&so,c=0;c>2,v=(3&f)<<4|p>>4,y=1>6:64,S=2>4,p=(15&d)<<4|(v=u.indexOf(c.charAt(S++)))>>2,g=(3&v)<<6|(y=u.indexOf(c.charAt(S++))),I[w++]=f,v!==64&&(I[w++]=p),y!==64&&(I[w++]=g);return I}},{"./support":30,"./utils":32}],2:[function(e,n,i){"use strict";var r=e("./external"),o=e("./stream/DataWorker"),u=e("./stream/Crc32Probe"),c=e("./stream/DataLengthProbe");function f(p,g,d,v,y){this.compressedSize=p,this.uncompressedSize=g,this.crc32=d,this.compression=v,this.compressedContent=y}f.prototype={getContentWorker:function(){var p=new o(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),g=this;return p.on("end",function(){if(this.streamInfo.data_length!==g.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),p},getCompressedWorker:function(){return new o(r.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},f.createWorkerFrom=function(p,g,d){return p.pipe(new u).pipe(new c("uncompressedSize")).pipe(g.compressWorker(d)).pipe(new c("compressedSize")).withStreamInfo("compression",g)},n.exports=f},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,n,i){"use strict";var r=e("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},i.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,n,i){"use strict";var r=e("./utils"),o=function(){for(var u,c=[],f=0;f<256;f++){u=f;for(var p=0;p<8;p++)u=1&u?3988292384^u>>>1:u>>>1;c[f]=u}return c}();n.exports=function(u,c){return u!==void 0&&u.length?r.getTypeOf(u)!=="string"?function(f,p,g,d){var v=o,y=d+g;f^=-1;for(var S=d;S>>8^v[255&(f^p[S])];return-1^f}(0|c,u,u.length,0):function(f,p,g,d){var v=o,y=d+g;f^=-1;for(var S=d;S>>8^v[255&(f^p.charCodeAt(S))];return-1^f}(0|c,u,u.length,0):0}},{"./utils":32}],5:[function(e,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(e,n,i){"use strict";var r=null;r=typeof Promise<"u"?Promise:e("lie"),n.exports={Promise:r}},{lie:37}],7:[function(e,n,i){"use strict";var r=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=e("pako"),u=e("./utils"),c=e("./stream/GenericWorker"),f=r?"uint8array":"array";function p(g,d){c.call(this,"FlateWorker/"+g),this._pako=null,this._pakoAction=g,this._pakoOptions=d,this.meta={}}i.magic="\b\0",u.inherits(p,c),p.prototype.processChunk=function(g){this.meta=g.meta,this._pako===null&&this._createPako(),this._pako.push(u.transformTo(f,g.data),!1)},p.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},p.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},p.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var g=this;this._pako.onData=function(d){g.push({data:d,meta:g.meta})}},i.compressWorker=function(g){return new p("Deflate",g)},i.uncompressWorker=function(){return new p("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,n,i){"use strict";function r(v,y){var S,w="";for(S=0;S>>=8;return w}function o(v,y,S,w,E,I){var O,H,X=v.file,re=v.compression,z=I!==f.utf8encode,Z=u.transformTo("string",I(X.name)),te=u.transformTo("string",f.utf8encode(X.name)),ee=X.comment,ve=u.transformTo("string",I(ee)),F=u.transformTo("string",f.utf8encode(ee)),me=te.length!==X.name.length,L=F.length!==ee.length,se="",le="",he="",Ke=X.dir,Te=X.date,We={crc32:0,compressedSize:0,uncompressedSize:0};y&&!S||(We.crc32=v.crc32,We.compressedSize=v.compressedSize,We.uncompressedSize=v.uncompressedSize);var Q=0;y&&(Q|=8),z||!me&&!L||(Q|=2048);var ge=0,je=0;Ke&&(ge|=16),E==="UNIX"?(je=798,ge|=function(ze,Je){var kt=ze;return ze||(kt=Je?16893:33204),(65535&kt)<<16}(X.unixPermissions,Ke)):(je=20,ge|=function(ze){return 63&(ze||0)}(X.dosPermissions)),O=Te.getUTCHours(),O<<=6,O|=Te.getUTCMinutes(),O<<=5,O|=Te.getUTCSeconds()/2,H=Te.getUTCFullYear()-1980,H<<=4,H|=Te.getUTCMonth()+1,H<<=5,H|=Te.getUTCDate(),me&&(le=r(1,1)+r(p(Z),4)+te,se+="up"+r(le.length,2)+le),L&&(he=r(1,1)+r(p(ve),4)+F,se+="uc"+r(he.length,2)+he);var Se="";return Se+=` -\0`,Se+=r(Q,2),Se+=re.magic,Se+=r(O,2),Se+=r(H,2),Se+=r(We.crc32,4),Se+=r(We.compressedSize,4),Se+=r(We.uncompressedSize,4),Se+=r(Z.length,2),Se+=r(se.length,2),{fileRecord:g.LOCAL_FILE_HEADER+Se+Z+se,dirRecord:g.CENTRAL_FILE_HEADER+r(je,2)+Se+r(ve.length,2)+"\0\0\0\0"+r(ge,4)+r(w,4)+Z+se+ve}}var u=e("../utils"),c=e("../stream/GenericWorker"),f=e("../utf8"),p=e("../crc32"),g=e("../signature");function d(v,y,S,w){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=y,this.zipPlatform=S,this.encodeFileName=w,this.streamFiles=v,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}u.inherits(d,c),d.prototype.push=function(v){var y=v.meta.percent||0,S=this.entriesCount,w=this._sources.length;this.accumulate?this.contentBuffer.push(v):(this.bytesWritten+=v.data.length,c.prototype.push.call(this,{data:v.data,meta:{currentFile:this.currentFile,percent:S?(y+100*(S-w-1))/S:100}}))},d.prototype.openedSource=function(v){this.currentSourceOffset=this.bytesWritten,this.currentFile=v.file.name;var y=this.streamFiles&&!v.file.dir;if(y){var S=o(v,y,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:S.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(v){this.accumulate=!1;var y=this.streamFiles&&!v.file.dir,S=o(v,y,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(S.dirRecord),y)this.push({data:function(w){return g.DATA_DESCRIPTOR+r(w.crc32,4)+r(w.compressedSize,4)+r(w.uncompressedSize,4)}(v),meta:{percent:100}});else for(this.push({data:S.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var v=this.bytesWritten,y=0;y=this.index;c--)f=(f<<8)+this.byteAt(c);return this.index+=u,f},readString:function(u){return r.transformTo("string",this.readData(u))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var u=this.readInt(4);return new Date(Date.UTC(1980+(u>>25&127),(u>>21&15)-1,u>>16&31,u>>11&31,u>>5&63,(31&u)<<1))}},n.exports=o},{"../utils":32}],19:[function(e,n,i){"use strict";var r=e("./Uint8ArrayReader");function o(u){r.call(this,u)}e("../utils").inherits(o,r),o.prototype.readData=function(u){this.checkOffset(u);var c=this.data.slice(this.zero+this.index,this.zero+this.index+u);return this.index+=u,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,n,i){"use strict";var r=e("./DataReader");function o(u){r.call(this,u)}e("../utils").inherits(o,r),o.prototype.byteAt=function(u){return this.data.charCodeAt(this.zero+u)},o.prototype.lastIndexOfSignature=function(u){return this.data.lastIndexOf(u)-this.zero},o.prototype.readAndCheckSignature=function(u){return u===this.readData(4)},o.prototype.readData=function(u){this.checkOffset(u);var c=this.data.slice(this.zero+this.index,this.zero+this.index+u);return this.index+=u,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(e,n,i){"use strict";var r=e("./ArrayReader");function o(u){r.call(this,u)}e("../utils").inherits(o,r),o.prototype.readData=function(u){if(this.checkOffset(u),u===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+u);return this.index+=u,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(e,n,i){"use strict";var r=e("../utils"),o=e("../support"),u=e("./ArrayReader"),c=e("./StringReader"),f=e("./NodeBufferReader"),p=e("./Uint8ArrayReader");n.exports=function(g){var d=r.getTypeOf(g);return r.checkSupport(d),d!=="string"||o.uint8array?d==="nodebuffer"?new f(g):o.uint8array?new p(r.transformTo("uint8array",g)):new u(r.transformTo("array",g)):new c(g)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,n,i){"use strict";var r=e("./GenericWorker"),o=e("../utils");function u(c){r.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(u,r),u.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=u},{"../utils":32,"./GenericWorker":28}],25:[function(e,n,i){"use strict";var r=e("./GenericWorker"),o=e("../crc32");function u(){r.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(u,r),u.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=u},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./GenericWorker");function u(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}r.inherits(u,o),u.prototype.processChunk=function(c){if(c){var f=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=f+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=u},{"../utils":32,"./GenericWorker":28}],27:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./GenericWorker");function u(c){o.call(this,"DataWorker");var f=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(p){f.dataIsReady=!0,f.data=p,f.max=p&&p.length||0,f.type=r.getTypeOf(p),f.isPaused||f._tickAndRepeat()},function(p){f.error(p)})}r.inherits(u,o),u.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},u.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},u.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},u.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,f=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,f);break;case"uint8array":c=this.data.subarray(this.index,f);break;case"array":case"nodebuffer":c=this.data.slice(this.index,f)}return this.index=f,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=u},{"../utils":32,"./GenericWorker":28}],28:[function(e,n,i){"use strict";function r(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,u){return this._listeners[o].push(u),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,u){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=r},{}],29:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./ConvertWorker"),u=e("./GenericWorker"),c=e("../base64"),f=e("../support"),p=e("../external"),g=null;if(f.nodestream)try{g=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function d(y,S){return new p.Promise(function(w,E){var I=[],O=y._internalType,H=y._outputType,X=y._mimeType;y.on("data",function(re,z){I.push(re),S&&S(z)}).on("error",function(re){I=[],E(re)}).on("end",function(){try{var re=function(z,Z,te){switch(z){case"blob":return r.newBlob(r.transformTo("arraybuffer",Z),te);case"base64":return c.encode(Z);default:return r.transformTo(z,Z)}}(H,function(z,Z){var te,ee=0,ve=null,F=0;for(te=0;te"u")i.blob=!1;else{var r=new ArrayBuffer(0);try{i.blob=new Blob([r],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(r),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!e("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(e,n,i){"use strict";for(var r=e("./utils"),o=e("./support"),u=e("./nodejsUtils"),c=e("./stream/GenericWorker"),f=new Array(256),p=0;p<256;p++)f[p]=252<=p?6:248<=p?5:240<=p?4:224<=p?3:192<=p?2:1;f[254]=f[254]=1;function g(){c.call(this,"utf-8 decode"),this.leftOver=null}function d(){c.call(this,"utf-8 encode")}i.utf8encode=function(v){return o.nodebuffer?u.newBufferFrom(v,"utf-8"):function(y){var S,w,E,I,O,H=y.length,X=0;for(I=0;I>>6:(w<65536?S[O++]=224|w>>>12:(S[O++]=240|w>>>18,S[O++]=128|w>>>12&63),S[O++]=128|w>>>6&63),S[O++]=128|63&w);return S}(v)},i.utf8decode=function(v){return o.nodebuffer?r.transformTo("nodebuffer",v).toString("utf-8"):function(y){var S,w,E,I,O=y.length,H=new Array(2*O);for(S=w=0;S>10&1023,H[w++]=56320|1023&E)}return H.length!==w&&(H.subarray?H=H.subarray(0,w):H.length=w),r.applyFromCharCode(H)}(v=r.transformTo(o.uint8array?"uint8array":"array",v))},r.inherits(g,c),g.prototype.processChunk=function(v){var y=r.transformTo(o.uint8array?"uint8array":"array",v.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var S=y;(y=new Uint8Array(S.length+this.leftOver.length)).set(this.leftOver,0),y.set(S,this.leftOver.length)}else y=this.leftOver.concat(y);this.leftOver=null}var w=function(I,O){var H;for((O=O||I.length)>I.length&&(O=I.length),H=O-1;0<=H&&(192&I[H])==128;)H--;return H<0||H===0?O:H+f[I[H]]>O?H:O}(y),E=y;w!==y.length&&(o.uint8array?(E=y.subarray(0,w),this.leftOver=y.subarray(w,y.length)):(E=y.slice(0,w),this.leftOver=y.slice(w,y.length))),this.push({data:i.utf8decode(E),meta:v.meta})},g.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=g,r.inherits(d,c),d.prototype.processChunk=function(v){this.push({data:i.utf8encode(v.data),meta:v.meta})},i.Utf8EncodeWorker=d},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,n,i){"use strict";var r=e("./support"),o=e("./base64"),u=e("./nodejsUtils"),c=e("./external");function f(S){return S}function p(S,w){for(var E=0;E>8;this.dir=!!(16&this.externalFileAttributes),v==0&&(this.dosPermissions=63&this.externalFileAttributes),v==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var v=r(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=v.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=v.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=v.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=v.readInt(4))}},readExtraFields:function(v){var y,S,w,E=v.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});v.index+4>>6:(v<65536?d[w++]=224|v>>>12:(d[w++]=240|v>>>18,d[w++]=128|v>>>12&63),d[w++]=128|v>>>6&63),d[w++]=128|63&v);return d},i.buf2binstring=function(g){return p(g,g.length)},i.binstring2buf=function(g){for(var d=new r.Buf8(g.length),v=0,y=d.length;v>10&1023,I[y++]=56320|1023&S)}return p(I,y)},i.utf8border=function(g,d){var v;for((d=d||g.length)>g.length&&(d=g.length),v=d-1;0<=v&&(192&g[v])==128;)v--;return v<0||v===0?d:v+c[g[v]]>d?v:d}},{"./common":41}],43:[function(e,n,i){"use strict";n.exports=function(r,o,u,c){for(var f=65535&r|0,p=r>>>16&65535|0,g=0;u!==0;){for(u-=g=2e3>>1:o>>>1;u[c]=o}return u}();n.exports=function(o,u,c,f){var p=r,g=f+c;o^=-1;for(var d=f;d>>8^p[255&(o^u[d])];return-1^o}},{}],46:[function(e,n,i){"use strict";var r,o=e("../utils/common"),u=e("./trees"),c=e("./adler32"),f=e("./crc32"),p=e("./messages"),g=0,d=4,v=0,y=-2,S=-1,w=4,E=2,I=8,O=9,H=286,X=30,re=19,z=2*H+1,Z=15,te=3,ee=258,ve=ee+te+1,F=42,me=113,L=1,se=2,le=3,he=4;function Ke(N,oe){return N.msg=p[oe],oe}function Te(N){return(N<<1)-(4N.avail_out&&(Ce=N.avail_out),Ce!==0&&(o.arraySet(N.output,oe.pending_buf,oe.pending_out,Ce,N.next_out),N.next_out+=Ce,oe.pending_out+=Ce,N.total_out+=Ce,N.avail_out-=Ce,oe.pending-=Ce,oe.pending===0&&(oe.pending_out=0))}function ge(N,oe){u._tr_flush_block(N,0<=N.block_start?N.block_start:-1,N.strstart-N.block_start,oe),N.block_start=N.strstart,Q(N.strm)}function je(N,oe){N.pending_buf[N.pending++]=oe}function Se(N,oe){N.pending_buf[N.pending++]=oe>>>8&255,N.pending_buf[N.pending++]=255&oe}function ze(N,oe){var Ce,A,P=N.max_chain_length,G=N.strstart,ae=N.prev_length,be=N.nice_match,ue=N.strstart>N.w_size-ve?N.strstart-(N.w_size-ve):0,Ne=N.window,Oe=N.w_mask,Me=N.prev,ke=N.strstart+ee,Pe=Ne[G+ae-1],De=Ne[G+ae];N.prev_length>=N.good_match&&(P>>=2),be>N.lookahead&&(be=N.lookahead);do if(Ne[(Ce=oe)+ae]===De&&Ne[Ce+ae-1]===Pe&&Ne[Ce]===Ne[G]&&Ne[++Ce]===Ne[G+1]){G+=2,Ce++;do;while(Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Gue&&--P!=0);return ae<=N.lookahead?ae:N.lookahead}function Je(N){var oe,Ce,A,P,G,ae,be,ue,Ne,Oe,Me=N.w_size;do{if(P=N.window_size-N.lookahead-N.strstart,N.strstart>=Me+(Me-ve)){for(o.arraySet(N.window,N.window,Me,Me,0),N.match_start-=Me,N.strstart-=Me,N.block_start-=Me,oe=Ce=N.hash_size;A=N.head[--oe],N.head[oe]=Me<=A?A-Me:0,--Ce;);for(oe=Ce=Me;A=N.prev[--oe],N.prev[oe]=Me<=A?A-Me:0,--Ce;);P+=Me}if(N.strm.avail_in===0)break;if(ae=N.strm,be=N.window,ue=N.strstart+N.lookahead,Ne=P,Oe=void 0,Oe=ae.avail_in,Ne=te)for(G=N.strstart-N.insert,N.ins_h=N.window[G],N.ins_h=(N.ins_h<=te&&(N.ins_h=(N.ins_h<=te)if(A=u._tr_tally(N,N.strstart-N.match_start,N.match_length-te),N.lookahead-=N.match_length,N.match_length<=N.max_lazy_match&&N.lookahead>=te){for(N.match_length--;N.strstart++,N.ins_h=(N.ins_h<=te&&(N.ins_h=(N.ins_h<=te&&N.match_length<=N.prev_length){for(P=N.strstart+N.lookahead-te,A=u._tr_tally(N,N.strstart-1-N.prev_match,N.prev_length-te),N.lookahead-=N.prev_length-1,N.prev_length-=2;++N.strstart<=P&&(N.ins_h=(N.ins_h<N.pending_buf_size-5&&(Ce=N.pending_buf_size-5);;){if(N.lookahead<=1){if(Je(N),N.lookahead===0&&oe===g)return L;if(N.lookahead===0)break}N.strstart+=N.lookahead,N.lookahead=0;var A=N.block_start+Ce;if((N.strstart===0||N.strstart>=A)&&(N.lookahead=N.strstart-A,N.strstart=A,ge(N,!1),N.strm.avail_out===0)||N.strstart-N.block_start>=N.w_size-ve&&(ge(N,!1),N.strm.avail_out===0))return L}return N.insert=0,oe===d?(ge(N,!0),N.strm.avail_out===0?le:he):(N.strstart>N.block_start&&(ge(N,!1),N.strm.avail_out),L)}),new mt(4,4,8,4,kt),new mt(4,5,16,8,kt),new mt(4,6,32,32,kt),new mt(4,4,16,16,et),new mt(8,16,32,32,et),new mt(8,16,128,128,et),new mt(8,32,128,256,et),new mt(32,128,258,1024,et),new mt(32,258,258,4096,et)],i.deflateInit=function(N,oe){return nt(N,oe,I,15,8,0)},i.deflateInit2=nt,i.deflateReset=yt,i.deflateResetKeep=_t,i.deflateSetHeader=function(N,oe){return N&&N.state?N.state.wrap!==2?y:(N.state.gzhead=oe,v):y},i.deflate=function(N,oe){var Ce,A,P,G;if(!N||!N.state||5>8&255),je(A,A.gzhead.time>>16&255),je(A,A.gzhead.time>>24&255),je(A,A.level===9?2:2<=A.strategy||A.level<2?4:0),je(A,255&A.gzhead.os),A.gzhead.extra&&A.gzhead.extra.length&&(je(A,255&A.gzhead.extra.length),je(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(N.adler=f(N.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=69):(je(A,0),je(A,0),je(A,0),je(A,0),je(A,0),je(A,A.level===9?2:2<=A.strategy||A.level<2?4:0),je(A,3),A.status=me);else{var ae=I+(A.w_bits-8<<4)<<8;ae|=(2<=A.strategy||A.level<2?0:A.level<6?1:A.level===6?2:3)<<6,A.strstart!==0&&(ae|=32),ae+=31-ae%31,A.status=me,Se(A,ae),A.strstart!==0&&(Se(A,N.adler>>>16),Se(A,65535&N.adler)),N.adler=1}if(A.status===69)if(A.gzhead.extra){for(P=A.pending;A.gzindex<(65535&A.gzhead.extra.length)&&(A.pending!==A.pending_buf_size||(A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),Q(N),P=A.pending,A.pending!==A.pending_buf_size));)je(A,255&A.gzhead.extra[A.gzindex]),A.gzindex++;A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),A.gzindex===A.gzhead.extra.length&&(A.gzindex=0,A.status=73)}else A.status=73;if(A.status===73)if(A.gzhead.name){P=A.pending;do{if(A.pending===A.pending_buf_size&&(A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),Q(N),P=A.pending,A.pending===A.pending_buf_size)){G=1;break}G=A.gzindexP&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),G===0&&(A.gzindex=0,A.status=91)}else A.status=91;if(A.status===91)if(A.gzhead.comment){P=A.pending;do{if(A.pending===A.pending_buf_size&&(A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),Q(N),P=A.pending,A.pending===A.pending_buf_size)){G=1;break}G=A.gzindexP&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),G===0&&(A.status=103)}else A.status=103;if(A.status===103&&(A.gzhead.hcrc?(A.pending+2>A.pending_buf_size&&Q(N),A.pending+2<=A.pending_buf_size&&(je(A,255&N.adler),je(A,N.adler>>8&255),N.adler=0,A.status=me)):A.status=me),A.pending!==0){if(Q(N),N.avail_out===0)return A.last_flush=-1,v}else if(N.avail_in===0&&Te(oe)<=Te(Ce)&&oe!==d)return Ke(N,-5);if(A.status===666&&N.avail_in!==0)return Ke(N,-5);if(N.avail_in!==0||A.lookahead!==0||oe!==g&&A.status!==666){var be=A.strategy===2?function(ue,Ne){for(var Oe;;){if(ue.lookahead===0&&(Je(ue),ue.lookahead===0)){if(Ne===g)return L;break}if(ue.match_length=0,Oe=u._tr_tally(ue,0,ue.window[ue.strstart]),ue.lookahead--,ue.strstart++,Oe&&(ge(ue,!1),ue.strm.avail_out===0))return L}return ue.insert=0,Ne===d?(ge(ue,!0),ue.strm.avail_out===0?le:he):ue.last_lit&&(ge(ue,!1),ue.strm.avail_out===0)?L:se}(A,oe):A.strategy===3?function(ue,Ne){for(var Oe,Me,ke,Pe,De=ue.window;;){if(ue.lookahead<=ee){if(Je(ue),ue.lookahead<=ee&&Ne===g)return L;if(ue.lookahead===0)break}if(ue.match_length=0,ue.lookahead>=te&&0ue.lookahead&&(ue.match_length=ue.lookahead)}if(ue.match_length>=te?(Oe=u._tr_tally(ue,1,ue.match_length-te),ue.lookahead-=ue.match_length,ue.strstart+=ue.match_length,ue.match_length=0):(Oe=u._tr_tally(ue,0,ue.window[ue.strstart]),ue.lookahead--,ue.strstart++),Oe&&(ge(ue,!1),ue.strm.avail_out===0))return L}return ue.insert=0,Ne===d?(ge(ue,!0),ue.strm.avail_out===0?le:he):ue.last_lit&&(ge(ue,!1),ue.strm.avail_out===0)?L:se}(A,oe):r[A.level].func(A,oe);if(be!==le&&be!==he||(A.status=666),be===L||be===le)return N.avail_out===0&&(A.last_flush=-1),v;if(be===se&&(oe===1?u._tr_align(A):oe!==5&&(u._tr_stored_block(A,0,0,!1),oe===3&&(We(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),Q(N),N.avail_out===0))return A.last_flush=-1,v}return oe!==d?v:A.wrap<=0?1:(A.wrap===2?(je(A,255&N.adler),je(A,N.adler>>8&255),je(A,N.adler>>16&255),je(A,N.adler>>24&255),je(A,255&N.total_in),je(A,N.total_in>>8&255),je(A,N.total_in>>16&255),je(A,N.total_in>>24&255)):(Se(A,N.adler>>>16),Se(A,65535&N.adler)),Q(N),0=Ce.w_size&&(G===0&&(We(Ce.head),Ce.strstart=0,Ce.block_start=0,Ce.insert=0),Ne=new o.Buf8(Ce.w_size),o.arraySet(Ne,oe,Oe-Ce.w_size,Ce.w_size,0),oe=Ne,Oe=Ce.w_size),ae=N.avail_in,be=N.next_in,ue=N.input,N.avail_in=Oe,N.next_in=0,N.input=oe,Je(Ce);Ce.lookahead>=te;){for(A=Ce.strstart,P=Ce.lookahead-(te-1);Ce.ins_h=(Ce.ins_h<>>=te=Z>>>24,O-=te,(te=Z>>>16&255)===0)se[p++]=65535&Z;else{if(!(16&te)){if(!(64&te)){Z=H[(65535&Z)+(I&(1<>>=te,O-=te),O<15&&(I+=L[c++]<>>=te=Z>>>24,O-=te,!(16&(te=Z>>>16&255))){if(!(64&te)){Z=X[(65535&Z)+(I&(1<>>=te,O-=te,(te=p-g)>3,I&=(1<<(O-=ee<<3))-1,r.next_in=c,r.next_out=p,r.avail_in=c>>24&255)+(F>>>8&65280)+((65280&F)<<8)+((255&F)<<24)}function I(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function O(F){var me;return F&&F.state?(me=F.state,F.total_in=F.total_out=me.total=0,F.msg="",me.wrap&&(F.adler=1&me.wrap),me.mode=y,me.last=0,me.havedict=0,me.dmax=32768,me.head=null,me.hold=0,me.bits=0,me.lencode=me.lendyn=new r.Buf32(S),me.distcode=me.distdyn=new r.Buf32(w),me.sane=1,me.back=-1,d):v}function H(F){var me;return F&&F.state?((me=F.state).wsize=0,me.whave=0,me.wnext=0,O(F)):v}function X(F,me){var L,se;return F&&F.state?(se=F.state,me<0?(L=0,me=-me):(L=1+(me>>4),me<48&&(me&=15)),me&&(me<8||15=he.wsize?(r.arraySet(he.window,me,L-he.wsize,he.wsize,0),he.wnext=0,he.whave=he.wsize):(se<(le=he.wsize-he.wnext)&&(le=se),r.arraySet(he.window,me,L-se,le,he.wnext),(se-=le)?(r.arraySet(he.window,me,L-se,se,0),he.wnext=se,he.whave=he.wsize):(he.wnext+=le,he.wnext===he.wsize&&(he.wnext=0),he.whave>>8&255,L.check=u(L.check,G,2,0),ge=Q=0,L.mode=2;break}if(L.flags=0,L.head&&(L.head.done=!1),!(1&L.wrap)||(((255&Q)<<8)+(Q>>8))%31){F.msg="incorrect header check",L.mode=30;break}if((15&Q)!=8){F.msg="unknown compression method",L.mode=30;break}if(ge-=4,N=8+(15&(Q>>>=4)),L.wbits===0)L.wbits=N;else if(N>L.wbits){F.msg="invalid window size",L.mode=30;break}L.dmax=1<>8&1),512&L.flags&&(G[0]=255&Q,G[1]=Q>>>8&255,L.check=u(L.check,G,2,0)),ge=Q=0,L.mode=3;case 3:for(;ge<32;){if(Te===0)break e;Te--,Q+=se[he++]<>>8&255,G[2]=Q>>>16&255,G[3]=Q>>>24&255,L.check=u(L.check,G,4,0)),ge=Q=0,L.mode=4;case 4:for(;ge<16;){if(Te===0)break e;Te--,Q+=se[he++]<>8),512&L.flags&&(G[0]=255&Q,G[1]=Q>>>8&255,L.check=u(L.check,G,2,0)),ge=Q=0,L.mode=5;case 5:if(1024&L.flags){for(;ge<16;){if(Te===0)break e;Te--,Q+=se[he++]<>>8&255,L.check=u(L.check,G,2,0)),ge=Q=0}else L.head&&(L.head.extra=null);L.mode=6;case 6:if(1024&L.flags&&(Te<(ze=L.length)&&(ze=Te),ze&&(L.head&&(N=L.head.extra_len-L.length,L.head.extra||(L.head.extra=new Array(L.head.extra_len)),r.arraySet(L.head.extra,se,he,ze,N)),512&L.flags&&(L.check=u(L.check,se,ze,he)),Te-=ze,he+=ze,L.length-=ze),L.length))break e;L.length=0,L.mode=7;case 7:if(2048&L.flags){if(Te===0)break e;for(ze=0;N=se[he+ze++],L.head&&N&&L.length<65536&&(L.head.name+=String.fromCharCode(N)),N&&ze>9&1,L.head.done=!0),F.adler=L.check=0,L.mode=12;break;case 10:for(;ge<32;){if(Te===0)break e;Te--,Q+=se[he++]<>>=7&ge,ge-=7&ge,L.mode=27;break}for(;ge<3;){if(Te===0)break e;Te--,Q+=se[he++]<>>=1)){case 0:L.mode=14;break;case 1:if(ee(L),L.mode=20,me!==6)break;Q>>>=2,ge-=2;break e;case 2:L.mode=17;break;case 3:F.msg="invalid block type",L.mode=30}Q>>>=2,ge-=2;break;case 14:for(Q>>>=7&ge,ge-=7≥ge<32;){if(Te===0)break e;Te--,Q+=se[he++]<>>16^65535)){F.msg="invalid stored block lengths",L.mode=30;break}if(L.length=65535&Q,ge=Q=0,L.mode=15,me===6)break e;case 15:L.mode=16;case 16:if(ze=L.length){if(Te>>=5,ge-=5,L.ndist=1+(31&Q),Q>>>=5,ge-=5,L.ncode=4+(15&Q),Q>>>=4,ge-=4,286>>=3,ge-=3}for(;L.have<19;)L.lens[ae[L.have++]]=0;if(L.lencode=L.lendyn,L.lenbits=7,Ce={bits:L.lenbits},oe=f(0,L.lens,0,19,L.lencode,0,L.work,Ce),L.lenbits=Ce.bits,oe){F.msg="invalid code lengths set",L.mode=30;break}L.have=0,L.mode=19;case 19:for(;L.have>>16&255,tt=65535&P,!((et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>>=et,ge-=et,L.lens[L.have++]=tt;else{if(tt===16){for(A=et+2;ge>>=et,ge-=et,L.have===0){F.msg="invalid bit length repeat",L.mode=30;break}N=L.lens[L.have-1],ze=3+(3&Q),Q>>>=2,ge-=2}else if(tt===17){for(A=et+3;ge>>=et)),Q>>>=3,ge-=3}else{for(A=et+7;ge>>=et)),Q>>>=7,ge-=7}if(L.have+ze>L.nlen+L.ndist){F.msg="invalid bit length repeat",L.mode=30;break}for(;ze--;)L.lens[L.have++]=N}}if(L.mode===30)break;if(L.lens[256]===0){F.msg="invalid code -- missing end-of-block",L.mode=30;break}if(L.lenbits=9,Ce={bits:L.lenbits},oe=f(p,L.lens,0,L.nlen,L.lencode,0,L.work,Ce),L.lenbits=Ce.bits,oe){F.msg="invalid literal/lengths set",L.mode=30;break}if(L.distbits=6,L.distcode=L.distdyn,Ce={bits:L.distbits},oe=f(g,L.lens,L.nlen,L.ndist,L.distcode,0,L.work,Ce),L.distbits=Ce.bits,oe){F.msg="invalid distances set",L.mode=30;break}if(L.mode=20,me===6)break e;case 20:L.mode=21;case 21:if(6<=Te&&258<=We){F.next_out=Ke,F.avail_out=We,F.next_in=he,F.avail_in=Te,L.hold=Q,L.bits=ge,c(F,Se),Ke=F.next_out,le=F.output,We=F.avail_out,he=F.next_in,se=F.input,Te=F.avail_in,Q=L.hold,ge=L.bits,L.mode===12&&(L.back=-1);break}for(L.back=0;mt=(P=L.lencode[Q&(1<>>16&255,tt=65535&P,!((et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>_t)])>>>16&255,tt=65535&P,!(_t+(et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>>=_t,ge-=_t,L.back+=_t}if(Q>>>=et,ge-=et,L.back+=et,L.length=tt,mt===0){L.mode=26;break}if(32&mt){L.back=-1,L.mode=12;break}if(64&mt){F.msg="invalid literal/length code",L.mode=30;break}L.extra=15&mt,L.mode=22;case 22:if(L.extra){for(A=L.extra;ge>>=L.extra,ge-=L.extra,L.back+=L.extra}L.was=L.length,L.mode=23;case 23:for(;mt=(P=L.distcode[Q&(1<>>16&255,tt=65535&P,!((et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>_t)])>>>16&255,tt=65535&P,!(_t+(et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>>=_t,ge-=_t,L.back+=_t}if(Q>>>=et,ge-=et,L.back+=et,64&mt){F.msg="invalid distance code",L.mode=30;break}L.offset=tt,L.extra=15&mt,L.mode=24;case 24:if(L.extra){for(A=L.extra;ge>>=L.extra,ge-=L.extra,L.back+=L.extra}if(L.offset>L.dmax){F.msg="invalid distance too far back",L.mode=30;break}L.mode=25;case 25:if(We===0)break e;if(ze=Se-We,L.offset>ze){if((ze=L.offset-ze)>L.whave&&L.sane){F.msg="invalid distance too far back",L.mode=30;break}Je=ze>L.wnext?(ze-=L.wnext,L.wsize-ze):L.wnext-ze,ze>L.length&&(ze=L.length),kt=L.window}else kt=le,Je=Ke-L.offset,ze=L.length;for(Wez?(te=Je[kt+w[me]],ge[je+w[me]]):(te=96,0),I=1<>Ke)+(O-=I)]=Z<<24|te<<16|ee|0,O!==0;);for(I=1<>=1;if(I!==0?(Q&=I-1,Q+=I):Q=0,me++,--Se[F]==0){if(F===se)break;F=g[d+w[me]]}if(le>>7)]}function je(P,G){P.pending_buf[P.pending++]=255&G,P.pending_buf[P.pending++]=G>>>8&255}function Se(P,G,ae){P.bi_valid>E-ae?(P.bi_buf|=G<>E-P.bi_valid,P.bi_valid+=ae-E):(P.bi_buf|=G<>>=1,ae<<=1,0<--G;);return ae>>>1}function kt(P,G,ae){var be,ue,Ne=new Array(w+1),Oe=0;for(be=1;be<=w;be++)Ne[be]=Oe=Oe+ae[be-1]<<1;for(ue=0;ue<=G;ue++){var Me=P[2*ue+1];Me!==0&&(P[2*ue]=Je(Ne[Me]++,Me))}}function et(P){var G;for(G=0;G>1;1<=ae;ae--)_t(P,Ne,ae);for(ue=ke;ae=P.heap[1],P.heap[1]=P.heap[P.heap_len--],_t(P,Ne,1),be=P.heap[1],P.heap[--P.heap_max]=ae,P.heap[--P.heap_max]=be,Ne[2*ue]=Ne[2*ae]+Ne[2*be],P.depth[ue]=(P.depth[ae]>=P.depth[be]?P.depth[ae]:P.depth[be])+1,Ne[2*ae+1]=Ne[2*be+1]=ue,P.heap[1]=ue++,_t(P,Ne,1),2<=P.heap_len;);P.heap[--P.heap_max]=P.heap[1],function(De,Ct){var Ft,ft,Sn,xt,Yr,On,Mi=Ct.dyn_tree,cr=Ct.max_code,$t=Ct.stat_desc.static_tree,li=Ct.stat_desc.has_stree,pn=Ct.stat_desc.extra_bits,Ss=Ct.stat_desc.extra_base,Dt=Ct.stat_desc.max_length,Bn=0;for(xt=0;xt<=w;xt++)De.bl_count[xt]=0;for(Mi[2*De.heap[De.heap_max]+1]=0,Ft=De.heap_max+1;Ft>=7;ue>>=1)if(1&Pe&&Me.dyn_ltree[2*ke]!==0)return o;if(Me.dyn_ltree[18]!==0||Me.dyn_ltree[20]!==0||Me.dyn_ltree[26]!==0)return u;for(ke=32;ke>>3,(Ne=P.static_len+3+7>>>3)<=ue&&(ue=Ne)):ue=Ne=ae+5,ae+4<=ue&&G!==-1?A(P,G,ae,be):P.strategy===4||Ne===ue?(Se(P,2+(be?1:0),3),yt(P,ve,F)):(Se(P,4+(be?1:0),3),function(Me,ke,Pe,De){var Ct;for(Se(Me,ke-257,5),Se(Me,Pe-1,5),Se(Me,De-4,4),Ct=0;Ct>>8&255,P.pending_buf[P.d_buf+2*P.last_lit+1]=255&G,P.pending_buf[P.l_buf+P.last_lit]=255&ae,P.last_lit++,G===0?P.dyn_ltree[2*ae]++:(P.matches++,G--,P.dyn_ltree[2*(L[ae]+g+1)]++,P.dyn_dtree[2*ge(G)]++),P.last_lit===P.lit_bufsize-1},i._tr_align=function(P){Se(P,2,3),ze(P,O,ve),function(G){G.bi_valid===16?(je(G,G.bi_buf),G.bi_buf=0,G.bi_valid=0):8<=G.bi_valid&&(G.pending_buf[G.pending++]=255&G.bi_buf,G.bi_buf>>=8,G.bi_valid-=8)}(P)}},{"../utils/common":41}],53:[function(e,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,n,i){(function(r){(function(o,u){"use strict";if(!o.setImmediate){var c,f,p,g,d=1,v={},y=!1,S=o.document,w=Object.getPrototypeOf&&Object.getPrototypeOf(o);w=w&&w.setTimeout?w:o,c={}.toString.call(o.process)==="[object process]"?function(H){process.nextTick(function(){I(H)})}:function(){if(o.postMessage&&!o.importScripts){var H=!0,X=o.onmessage;return o.onmessage=function(){H=!1},o.postMessage("","*"),o.onmessage=X,H}}()?(g="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",O,!1):o.attachEvent("onmessage",O),function(H){o.postMessage(g+H,"*")}):o.MessageChannel?((p=new MessageChannel).port1.onmessage=function(H){I(H.data)},function(H){p.port2.postMessage(H)}):S&&"onreadystatechange"in S.createElement("script")?(f=S.documentElement,function(H){var X=S.createElement("script");X.onreadystatechange=function(){I(H),X.onreadystatechange=null,f.removeChild(X),X=null},f.appendChild(X)}):function(H){setTimeout(I,0,H)},w.setImmediate=function(H){typeof H!="function"&&(H=new Function(""+H));for(var X=new Array(arguments.length-1),re=0;re"u"?r===void 0?this:r:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})});var Zy=Qe((Yy,Xy)=>{(function(e,n){typeof Yy=="object"&&typeof Xy<"u"?Xy.exports=n():typeof define=="function"&&define.amd?define(n):e.proj4=n()})(Yy,function(){"use strict";var e=function(_){_("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),_("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),_("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var x=1;x<=60;++x)_("EPSG:"+(32600+x),"+proj=utm +zone="+x+" +datum=WGS84 +units=m"),_("EPSG:"+(32700+x),"+proj=utm +zone="+x+" +south +datum=WGS84 +units=m");_.WGS84=_["EPSG:4326"],_["EPSG:3785"]=_["EPSG:3857"],_.GOOGLE=_["EPSG:3857"],_["EPSG:900913"]=_["EPSG:3857"],_["EPSG:102113"]=_["EPSG:3857"]},n=1,i=2,r=3,o=4,u=5,c=6378137,f=6356752314e-3,p=.0066943799901413165,g=484813681109536e-20,d=Math.PI/2,v=.16666666666666666,y=.04722222222222222,S=.022156084656084655,w=1e-10,E=.017453292519943295,I=57.29577951308232,O=Math.PI/4,H=Math.PI*2,X=3.14159265359,re={};re.greenwich=0,re.lisbon=-9.131906111111,re.paris=2.337229166667,re.bogota=-74.080916666667,re.madrid=-3.687938888889,re.rome=12.452333333333,re.bern=7.439583333333,re.jakarta=106.807719444444,re.ferro=-17.666666666667,re.brussels=4.367975,re.stockholm=18.058277777778,re.athens=23.7163375,re.oslo=10.722916666667;var z={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.01},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}},Z=/[\s_\-\/\(\)]/g;function te(_,x){if(_[x])return _[x];for(var C=Object.keys(_),R=x.toLowerCase().replace(Z,""),T=-1,D,B;++T=this.text.length)return;_=this.text[this.place++]}switch(this.state){case ve:return this.neutral(_);case F:return this.keyword(_);case L:return this.quoted(_);case se:return this.afterquote(_);case me:return this.number(_);case le:return}},ge.prototype.afterquote=function(_){if(_==='"'){this.word+='"',this.state=L;return}if(We.test(_)){this.word=this.word.trim(),this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in afterquote yet, index '+this.place)},ge.prototype.afterItem=function(_){if(_===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=ve;return}if(_==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=ve,this.currentObject=this.stack.pop(),this.currentObject||(this.state=le);return}},ge.prototype.number=function(_){if(Q.test(_)){this.word+=_;return}if(We.test(_)){this.word=parseFloat(this.word),this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in number yet, index '+this.place)},ge.prototype.quoted=function(_){if(_==='"'){this.state=se;return}this.word+=_},ge.prototype.keyword=function(_){if(Te.test(_)){this.word+=_;return}if(_==="["){var x=[];x.push(this.word),this.level++,this.root===null?this.root=x:this.currentObject.push(x),this.stack.push(this.currentObject),this.currentObject=x,this.state=ve;return}if(We.test(_)){this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in keyword yet, index '+this.place)},ge.prototype.neutral=function(_){if(Ke.test(_)){this.word=_,this.state=F;return}if(_==='"'){this.word="",this.state=L;return}if(Q.test(_)){this.word=_,this.state=me;return}if(We.test(_)){this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in neutral yet, index '+this.place)},ge.prototype.output=function(){for(;this.place0?90:-90),_.lat_ts=_.lat1):!_.lat_ts&&_.lat0&&_.projName==="Polar_Stereographic"&&(_.lat_ts=_.lat0,_.lat0=mt(_.lat0>0?90:-90))}var yt=function(_){var x=je(_),C=x[0],R={};return ze(x,R),tt(R),R[C]};function nt(_){var x=this;if(arguments.length===2){var C=arguments[1];typeof C=="string"?C.charAt(0)==="+"?nt[_]=ee(arguments[1]):nt[_]=yt(arguments[1]):nt[_]=C}else if(arguments.length===1){if(Array.isArray(_))return _.map(function(R){Array.isArray(R)?nt.apply(x,R):nt(R)});if(typeof _=="string"){if(_ in nt)return nt[_]}else"EPSG"in _?nt["EPSG:"+_.EPSG]=_:"ESRI"in _?nt["ESRI:"+_.ESRI]=_:"IAU2000"in _?nt["IAU2000:"+_.IAU2000]=_:console.log(_);return}}e(nt);function N(_){return typeof _=="string"}function oe(_){return _ in nt}var Ce=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function A(_){return Ce.some(function(x){return _.indexOf(x)>-1})}var P=["3857","900913","3785","102113"];function G(_){var x=te(_,"authority");if(x){var C=te(x,"epsg");return C&&P.indexOf(C)>-1}}function ae(_){var x=te(_,"extension");if(x)return te(x,"proj4")}function be(_){return _[0]==="+"}function ue(_){if(N(_)){if(oe(_))return nt[_];if(A(_)){var x=yt(_);if(G(x))return nt["EPSG:3857"];var C=ae(x);return C?ee(C):x}if(be(_))return ee(_)}else return _}var Ne=function(_,x){_=_||{};var C,R;if(!x)return _;for(R in x)C=x[R],C!==void 0&&(_[R]=C);return _},Oe=function(_,x,C){var R=_*x;return C/Math.sqrt(1-R*R)},Me=function(_){return _<0?-1:1},ke=function(_){return Math.abs(_)<=X?_:_-Me(_)*H},Pe=function(_,x,C){var R=_*C,T=.5*_;return R=Math.pow((1-R)/(1+R),T),Math.tan(.5*(d-x))/R},De=function(_,x){for(var C=.5*_,R,T,D=d-2*Math.atan(x),B=0;B<=15;B++)if(R=_*Math.sin(D),T=d-2*Math.atan(x*Math.pow((1-R)/(1+R),C))-D,D+=T,Math.abs(T)<=1e-10)return D;return-9999};function Ct(){var _=this.b/this.a;this.es=1-_*_,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=Oe(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function Ft(_){var x=_.x,C=_.y;if(C*I>90&&C*I<-90&&x*I>180&&x*I<-180)return null;var R,T;if(Math.abs(Math.abs(C)-d)<=w)return null;if(this.sphere)R=this.x0+this.a*this.k0*ke(x-this.long0),T=this.y0+this.a*this.k0*Math.log(Math.tan(O+.5*C));else{var D=Math.sin(C),B=Pe(this.e,C,D);R=this.x0+this.a*this.k0*ke(x-this.long0),T=this.y0-this.a*this.k0*Math.log(B)}return _.x=R,_.y=T,_}function ft(_){var x=_.x-this.x0,C=_.y-this.y0,R,T;if(this.sphere)T=d-2*Math.atan(Math.exp(-C/(this.a*this.k0)));else{var D=Math.exp(-C/(this.a*this.k0));if(T=De(this.e,D),T===-9999)return null}return R=ke(this.long0+x/(this.a*this.k0)),_.x=R,_.y=T,_}var Sn=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],xt={init:Ct,forward:Ft,inverse:ft,names:Sn};function Yr(){}function On(_){return _}var Mi=["longlat","identity"],cr={init:Yr,forward:On,inverse:On,names:Mi},$t=[xt,cr],li={},pn=[];function Ss(_,x){var C=pn.length;return _.names?(pn[C]=_,_.names.forEach(function(R){li[R.toLowerCase()]=C}),this):(console.log(x),!0)}function Dt(_){if(!_)return!1;var x=_.toLowerCase();if(typeof li[x]<"u"&&pn[li[x]])return pn[li[x]]}function Bn(){$t.forEach(Ss)}var Bt={start:Bn,add:Ss,get:Dt},pt={};pt.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},pt.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},pt.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},pt.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},pt.airy={a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},pt.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},pt.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},pt.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},pt.andrae={a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},pt.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},pt.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},pt.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},pt.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},pt.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},pt.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},pt.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},pt.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},pt.CPM={a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},pt.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},pt.engelis={a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},pt.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},pt.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},pt.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},pt.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},pt.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},pt.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},pt.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},pt.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},pt.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},pt.hough={a:6378270,rf:297,ellipseName:"Hough"},pt.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},pt.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},pt.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},pt.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},pt.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},pt.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},pt.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},pt.SEasia={a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},pt.walbeck={a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},pt.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},pt.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},pt.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var jt=pt.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};pt.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function gl(_,x,C,R){var T=_*_,D=x*x,B=(T-D)/T,j=0;R?(_*=1-B*(v+B*(y+B*S)),T=_*_,B=0):j=Math.sqrt(B);var ne=(T-D)/D;return{es:B,e:j,ep2:ne}}function Dd(_,x,C,R,T){if(!_){var D=te(pt,R);D||(D=jt),_=D.a,x=D.b,C=D.rf}return C&&!x&&(x=(1-1/C)*_),(C===0||Math.abs(_-x)3&&(j.datum_params[3]!==0||j.datum_params[4]!==0||j.datum_params[5]!==0||j.datum_params[6]!==0)&&(j.datum_type=i,j.datum_params[3]*=g,j.datum_params[4]*=g,j.datum_params[5]*=g,j.datum_params[6]=j.datum_params[6]/1e6+1)),B&&(j.datum_type=r,j.grids=B),j.a=C,j.b=R,j.es=T,j.ep2=D,j}var xo={};function Nr(_,x){var C=new DataView(x),R=qd(C),T=zd(C,R),D=kc(C,T,R),B={header:T,subgrids:D};return xo[_]=B,B}function Xr(_){if(_===void 0)return null;var x=_.split(",");return x.map(Ic)}function Ic(_){if(_.length===0)return null;var x=_[0]==="@";return x&&(_=_.slice(1)),_==="null"?{name:"null",mandatory:!x,grid:null,isNull:!0}:{name:_,mandatory:!x,grid:xo[_]||null,isNull:!1}}function Ai(_){return _/3600*Math.PI/180}function qd(_){var x=_.getInt32(8,!1);return x===11?!1:(x=_.getInt32(8,!0),x!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function zd(_,x){return{nFields:_.getInt32(8,x),nSubgridFields:_.getInt32(24,x),nSubgrids:_.getInt32(40,x),shiftType:_l(_,56,64).trim(),fromSemiMajorAxis:_.getFloat64(120,x),fromSemiMinorAxis:_.getFloat64(136,x),toSemiMajorAxis:_.getFloat64(152,x),toSemiMinorAxis:_.getFloat64(168,x)}}function _l(_,x,C){return String.fromCharCode.apply(null,new Uint8Array(_.buffer.slice(x,C)))}function kc(_,x,C){for(var R=176,T=[],D=0;D5e-11?!1:_.datum_type===n?_.datum_params[0]===x.datum_params[0]&&_.datum_params[1]===x.datum_params[1]&&_.datum_params[2]===x.datum_params[2]:_.datum_type===i?_.datum_params[0]===x.datum_params[0]&&_.datum_params[1]===x.datum_params[1]&&_.datum_params[2]===x.datum_params[2]&&_.datum_params[3]===x.datum_params[3]&&_.datum_params[4]===x.datum_params[4]&&_.datum_params[5]===x.datum_params[5]&&_.datum_params[6]===x.datum_params[6]:!0}function En(_,x,C){var R=_.x,T=_.y,D=_.z?_.z:0,B,j,ne,ce;if(T<-d&&T>-1.001*d)T=-d;else if(T>d&&T<1.001*d)T=d;else{if(T<-d)return{x:-1/0,y:-1/0,z:_.z};if(T>d)return{x:1/0,y:1/0,z:_.z}}return R>Math.PI&&(R-=2*Math.PI),j=Math.sin(T),ce=Math.cos(T),ne=j*j,B=C/Math.sqrt(1-x*ne),{x:(B+D)*ce*Math.cos(R),y:(B+D)*ce*Math.sin(R),z:(B*(1-x)+D)*j}}function Kt(_,x,C,R){var T=1e-12,D=T*T,B=30,j,ne,ce,Ie,_e,Re,Be,$e,Xe,Ze,gt,St,It,Jt=_.x,Xt=_.y,Zt=_.z?_.z:0,ti,an,ir;if(j=Math.sqrt(Jt*Jt+Xt*Xt),ne=Math.sqrt(Jt*Jt+Xt*Xt+Zt*Zt),j/CD&&ItR.y||Be>R.x||Zej&&Math.abs(ne.y)>j);if(B<0)return console.log("Inverse grid shift iterator failed to converge."),R;R.x=ke(D.x+C.ll[0]),R.y=D.y+C.ll[1]}else isNaN(D.x)||(R.x=_.x+D.x,R.y=_.y+D.y);return R}function Ei(_,x){var C={x:_.x/x.del[0],y:_.y/x.del[1]},R={x:Math.floor(C.x),y:Math.floor(C.y)},T={x:C.x-1*R.x,y:C.y-1*R.y},D={x:Number.NaN,y:Number.NaN},B;if(R.x<0||R.x>=x.lim[0]||R.y<0||R.y>=x.lim[1])return D;B=R.y*x.lim[0]+R.x;var j={x:x.cvs[B][0],y:x.cvs[B][1]};B++;var ne={x:x.cvs[B][0],y:x.cvs[B][1]};B+=x.lim[0];var ce={x:x.cvs[B][0],y:x.cvs[B][1]};B--;var Ie={x:x.cvs[B][0],y:x.cvs[B][1]},_e=T.x*T.y,Re=T.x*(1-T.y),Be=(1-T.x)*(1-T.y),$e=(1-T.x)*T.y;return D.x=Be*j.x+Re*ne.x+$e*Ie.x+_e*ce.x,D.y=Be*j.y+Re*ne.y+$e*Ie.y+_e*ce.y,D}var rn=function(_,x,C){var R=C.x,T=C.y,D=C.z||0,B,j,ne,ce={};for(ne=0;ne<3;ne++)if(!(x&&ne===2&&C.z===void 0))switch(ne===0?(B=R,"ew".indexOf(_.axis[ne])!==-1?j="x":j="y"):ne===1?(B=T,"ns".indexOf(_.axis[ne])!==-1?j="y":j="x"):(B=D,j="z"),_.axis[ne]){case"e":ce[j]=B;break;case"w":ce[j]=-B;break;case"n":ce[j]=B;break;case"s":ce[j]=-B;break;case"u":C[j]!==void 0&&(ce.z=B);break;case"d":C[j]!==void 0&&(ce.z=-B);break;default:return null}return ce},xa=function(_){var x={x:_[0],y:_[1]};return _.length>2&&(x.z=_[2]),_.length>3&&(x.m=_[3]),x},qt=function(_){Es(_.x),Es(_.y)};function Es(_){if(typeof Number.isFinite=="function"){if(Number.isFinite(_))return;throw new TypeError("coordinates must be finite numbers")}if(typeof _!="number"||_!==_||!isFinite(_))throw new TypeError("coordinates must be finite numbers")}function wa(_,x){return(_.datum.datum_type===n||_.datum.datum_type===i||_.datum.datum_type===r)&&x.datumCode!=="WGS84"||(x.datum.datum_type===n||x.datum.datum_type===i||x.datum.datum_type===r)&&_.datumCode!=="WGS84"}function Zr(_,x,C,R){var T;Array.isArray(C)?C=xa(C):C={x:C.x,y:C.y,z:C.z,m:C.m};var D=C.z!==void 0;if(qt(C),_.datum&&x.datum&&wa(_,x)&&(T=new Yi("WGS84"),C=Zr(_,T,C,R),_=T),R&&_.axis!=="enu"&&(C=rn(_,!1,C)),_.projName==="longlat")C={x:C.x*E,y:C.y*E,z:C.z||0};else if(_.to_meter&&(C={x:C.x*_.to_meter,y:C.y*_.to_meter,z:C.z||0}),C=_.inverse(C),!C)return;if(_.from_greenwich&&(C.x+=_.from_greenwich),C=Ut(_.datum,x.datum,C),!!C)return x.from_greenwich&&(C={x:C.x-x.from_greenwich,y:C.y,z:C.z||0}),x.projName==="longlat"?C={x:C.x*I,y:C.y*I,z:C.z||0}:(C=x.forward(C),x.to_meter&&(C={x:C.x/x.to_meter,y:C.y/x.to_meter,z:C.z||0})),R&&x.axis!=="enu"?rn(x,!0,C):(C&&!D&&delete C.z,C)}var Cs=Yi("WGS84");function Is(_,x,C,R){var T,D,B;return Array.isArray(C)?(T=Zr(_,x,C,R)||{x:NaN,y:NaN},C.length>2?typeof _.name<"u"&&_.name==="geocent"||typeof x.name<"u"&&x.name==="geocent"?typeof T.z=="number"?[T.x,T.y,T.z].concat(C.slice(3)):[T.x,T.y,C[2]].concat(C.slice(3)):[T.x,T.y].concat(C.slice(2)):[T.x,T.y]):(D=Zr(_,x,C,R),B=Object.keys(C),B.length===2||B.forEach(function(j){if(typeof _.name<"u"&&_.name==="geocent"||typeof x.name<"u"&&x.name==="geocent"){if(j==="x"||j==="y"||j==="z")return}else if(j==="x"||j==="y")return;D[j]=C[j]}),D)}function Ci(_){return _ instanceof Yi?_:_.oProj?_.oProj:Yi(_)}function Y(_,x,C){_=Ci(_);var R=!1,T;return typeof x>"u"?(x=_,_=Cs,R=!0):(typeof x.x<"u"||Array.isArray(x))&&(C=x,x=_,_=Cs,R=!0),x=Ci(x),C?Is(_,x,C):(T={forward:function(D,B){return Is(_,x,D,B)},inverse:function(D,B){return Is(x,_,D,B)}},R&&(T.oProj=x),T)}var de=6,ie="AJSAJS",xe="AFAFAF",we=65,fe=73,Le=79,Fe=86,Ge=90,Ve={forward:Ye,inverse:at,toPoint:wt};function Ye(_,x){return x=x||5,gi(Pn({lat:_[1],lon:_[0]}),x)}function at(_){var x=gn($d(_.toUpperCase()));return x.lat&&x.lon?[x.lon,x.lat,x.lon,x.lat]:[x.left,x.bottom,x.right,x.top]}function wt(_){var x=gn($d(_.toUpperCase()));return x.lat&&x.lon?[x.lon,x.lat]:[(x.left+x.right)/2,(x.top+x.bottom)/2]}function Ot(_){return _*(Math.PI/180)}function Vt(_){return 180*(_/Math.PI)}function Pn(_){var x=_.lat,C=_.lon,R=6378137,T=.00669438,D=.9996,B,j,ne,ce,Ie,_e,Re,Be=Ot(x),$e=Ot(C),Xe,Ze;Ze=Math.floor((C+180)/6)+1,C===180&&(Ze=60),x>=56&&x<64&&C>=3&&C<12&&(Ze=32),x>=72&&x<84&&(C>=0&&C<9?Ze=31:C>=9&&C<21?Ze=33:C>=21&&C<33?Ze=35:C>=33&&C<42&&(Ze=37)),B=(Ze-1)*6-180+3,Xe=Ot(B),j=T/(1-T),ne=R/Math.sqrt(1-T*Math.sin(Be)*Math.sin(Be)),ce=Math.tan(Be)*Math.tan(Be),Ie=j*Math.cos(Be)*Math.cos(Be),_e=Math.cos(Be)*($e-Xe),Re=R*((1-T/4-3*T*T/64-5*T*T*T/256)*Be-(3*T/8+3*T*T/32+45*T*T*T/1024)*Math.sin(2*Be)+(15*T*T/256+45*T*T*T/1024)*Math.sin(4*Be)-35*T*T*T/3072*Math.sin(6*Be));var gt=D*ne*(_e+(1-ce+Ie)*_e*_e*_e/6+(5-18*ce+ce*ce+72*Ie-58*j)*_e*_e*_e*_e*_e/120)+5e5,St=D*(Re+ne*Math.tan(Be)*(_e*_e/2+(5-ce+9*Ie+4*Ie*Ie)*_e*_e*_e*_e/24+(61-58*ce+ce*ce+600*Ie-330*j)*_e*_e*_e*_e*_e*_e/720));return x<0&&(St+=1e7),{northing:Math.round(St),easting:Math.round(gt),zoneNumber:Ze,zoneLetter:mn(x)}}function gn(_){var x=_.northing,C=_.easting,R=_.zoneLetter,T=_.zoneNumber;if(T<0||T>60)return null;var D=.9996,B=6378137,j=.00669438,ne,ce=(1-Math.sqrt(1-j))/(1+Math.sqrt(1-j)),Ie,_e,Re,Be,$e,Xe,Ze,gt,St,It=C-5e5,Jt=x;R<"N"&&(Jt-=1e7),Ze=(T-1)*6-180+3,ne=j/(1-j),Xe=Jt/D,gt=Xe/(B*(1-j/4-3*j*j/64-5*j*j*j/256)),St=gt+(3*ce/2-27*ce*ce*ce/32)*Math.sin(2*gt)+(21*ce*ce/16-55*ce*ce*ce*ce/32)*Math.sin(4*gt)+151*ce*ce*ce/96*Math.sin(6*gt),Ie=B/Math.sqrt(1-j*Math.sin(St)*Math.sin(St)),_e=Math.tan(St)*Math.tan(St),Re=ne*Math.cos(St)*Math.cos(St),Be=B*(1-j)/Math.pow(1-j*Math.sin(St)*Math.sin(St),1.5),$e=It/(Ie*D);var Xt=St-Ie*Math.tan(St)/Be*($e*$e/2-(5+3*_e+10*Re-4*Re*Re-9*ne)*$e*$e*$e*$e/24+(61+90*_e+298*Re+45*_e*_e-252*ne-3*Re*Re)*$e*$e*$e*$e*$e*$e/720);Xt=Vt(Xt);var Zt=($e-(1+2*_e+Re)*$e*$e*$e/6+(5-2*Re+28*_e-3*Re*Re+8*ne+24*_e*_e)*$e*$e*$e*$e*$e/120)/Math.cos(St);Zt=Ze+Vt(Zt);var ti;if(_.accuracy){var an=gn({northing:_.northing+_.accuracy,easting:_.easting+_.accuracy,zoneLetter:_.zoneLetter,zoneNumber:_.zoneNumber});ti={top:an.lat,right:an.lon,bottom:Xt,left:Zt}}else ti={lat:Xt,lon:Zt};return ti}function mn(_){var x="Z";return 84>=_&&_>=72?x="X":72>_&&_>=64?x="W":64>_&&_>=56?x="V":56>_&&_>=48?x="U":48>_&&_>=40?x="T":40>_&&_>=32?x="S":32>_&&_>=24?x="R":24>_&&_>=16?x="Q":16>_&&_>=8?x="P":8>_&&_>=0?x="N":0>_&&_>=-8?x="M":-8>_&&_>=-16?x="L":-16>_&&_>=-24?x="K":-24>_&&_>=-32?x="J":-32>_&&_>=-40?x="H":-40>_&&_>=-48?x="G":-48>_&&_>=-56?x="F":-56>_&&_>=-64?x="E":-64>_&&_>=-72?x="D":-72>_&&_>=-80&&(x="C"),x}function gi(_,x){var C="00000"+_.easting,R="00000"+_.northing;return _.zoneNumber+_.zoneLetter+ur(_.easting,_.northing,_.zoneNumber)+C.substr(C.length-5,x)+R.substr(R.length-5,x)}function ur(_,x,C){var R=So(C),T=Math.floor(_/1e5),D=Math.floor(x/1e5)%20;return Vs(T,D,R)}function So(_){var x=_%de;return x===0&&(x=de),x}function Vs(_,x,C){var R=C-1,T=ie.charCodeAt(R),D=xe.charCodeAt(R),B=T+_-1,j=D+x,ne=!1;B>Ge&&(B=B-Ge+we-1,ne=!0),(B===fe||Tfe||(B>fe||TLe||(B>Le||TGe&&(B=B-Ge+we-1),j>Fe?(j=j-Fe+we-1,ne=!0):ne=!1,(j===fe||Dfe||(j>fe||DLe||(j>Le||DFe&&(j=j-Fe+we-1);var ce=String.fromCharCode(B)+String.fromCharCode(j);return ce}function $d(_){if(_&&_.length===0)throw"MGRSPoint coverting from nothing";for(var x=_.length,C=null,R="",T,D=0;!/[A-Z]/.test(T=_.charAt(D));){if(D>=2)throw"MGRSPoint bad conversion from: "+_;R+=T,D++}var B=parseInt(R,10);if(D===0||D+3>x)throw"MGRSPoint bad conversion from: "+_;var j=_.charAt(D++);if(j<="A"||j==="B"||j==="Y"||j>="Z"||j==="I"||j==="O")throw"MGRSPoint zone letter "+j+" not handled: "+_;C=_.substring(D,D+=2);for(var ne=So(B),ce=Eo(C.charAt(0),ne),Ie=yl(C.charAt(1),ne);Ie{var y3=Object.create;var Jp=Object.defineProperty;var v3=Object.getOwnPropertyDescriptor;var b3=Object.getOwnPropertyNames;var x3=Object.getPrototypeOf,w3=Object.prototype.hasOwnProperty;var ro=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,i)=>(typeof require<"u"?require:n)[i]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var W=(e,n)=>()=>(e&&(n=e(e=0)),n);var Qe=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),hi=(e,n)=>{for(var i in n)Jp(e,i,{get:n[i],enumerable:!0})},Z1=(e,n,i,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of b3(n))!w3.call(e,o)&&o!==i&&Jp(e,o,{get:()=>n[o],enumerable:!(r=v3(n,o))||r.enumerable});return e};var hn=(e,n,i)=>(i=e!=null?y3(x3(e)):{},Z1(n||!e||!e.__esModule?Jp(i,"default",{value:e,enumerable:!0}):i,e)),Wn=e=>Z1(Jp({},"__esModule",{value:!0}),e);var By,K1=W(()=>{By="4.0.0-alpha.0"});var E3,Cn,eg,Nh,so,ye,pu,ja,Di,ji,Ul,Uy,Fs,Rh,zo,Mh,ni,oo,gu,Nt=W(()=>{K1();E3=["add_feature","change_feature","change_attr_feature","delete_feature"],Cn="g3w_fid",eg={gte:">=",lte:"<=",NOT:"!=",eq:"=",gt:">",lt:"<",IN:"IN",LIKE:"LIKE",ILIKE:"ILIKE",AND:"AND",OR:"OR"},Nh={lte:"<=",ltgt:"!=",ilike:"ILIKE",like:"LIKE",...eg},so=["geometryProperty","boundedBy","geom","the_geom","geometry","bbox","GEOMETRY","geoemtria","geometria"],ye={POINT:"Point",POINTZ:"PointZ",POINTM:"PointM",POINTZM:"PointZM",POINT25D:"Point25D",MULTIPOINT:"MultiPoint",MULTIPOINTZ:"MultiPointZ",MULTIPOINTM:"MutliPointM",MULTIPOINTZM:"MultiPointZM",MULTIPOINT25D:"MultiPoint25D",LINESTRING:"LineString",LINESTRINGZ:"LineStringZ",LINESTRINGM:"LineStringM",LINESTRINGZM:"LineStringZM",LINESTRING25D:"LineString25D",LINE:"Line",LINEZ:"LineZ",LINEM:"LineM",LINEZM:"LineZM",LINE25D:"Line25D",MULTILINESTRING:"MultiLineString",MULTILINESTRINGZ:"MultiLineStringZ",MULTILINESTRINGM:"MultiLineStringM",MULTILINESTRINGZM:"MultiLineStringZM",MULTILINESTRING25D:"MultiLineString25D",MULTILINE:"MultiLine",MULTILINEZ:"MultiLineZ",MULTILINEM:"MultiLineM",MULTILINEZM:"MultiLineZM",MULTILINE25D:"MultiLine25D",POLYGON:"Polygon",POLYGONZ:"PolygonZ",POLYGONM:"PolygonM",POLYGONZM:"PolygonZM",POLYGON25D:"Polygon25D",MULTIPOLYGON:"MultiPolygon",MULTIPOLYGONZ:"MultiPolygonZ",MULTIPOLYGONM:"MultiPolygonM",MULTIPOLYGONZM:"MultiPolygonZM",MULTIPOLYGON25D:"MultiPolygon25D",GEOMETRYCOLLECTION:"GeometryCollection",GEOMETRYCOLLECTIONZ:"GeometryCollectionZ",GEOMETRYCOLLECTIONM:"GeometryCollectionM",GEOMETRYCOLLECTIONZM:"GeometryCollectionZM",GEOMETRYCOLLECTION25D:"GeometryCollection25D"},pu=[{value:100,label:"1:100"},{value:200,label:"1:200"},{value:500,label:"1:500"},{value:1e3,label:"1:1.000"},{value:2e3,label:"1:2.000"},{value:2500,label:"1:2.500"},{value:5e3,label:"1:5.000"},{value:1e4,label:"1:10.000"},{value:2e4,label:"1:20.000"},{value:25e3,label:"1:25.000"},{value:5e4,label:"1:50.000"},{value:1e5,label:"1:100.000"},{value:25e4,label:"1:250.000"},{value:5e5,label:"1:500.000"},{value:1e6,label:"1:1.000.000"},{value:25e5,label:"1:2.500.000"},{value:5e6,label:"1:5.000.000"},{value:1e7,label:"1:10.000.000"},{value:2e7,label:"1:20.000.000"},{value:5e7,label:"1:50.000.000"},{value:1e8,label:"1:100.000.000"},{value:25e7,label:"1:250.000.000"},{value:5e8,label:"1:500.000.000"}],ja={unit:"pixel",value:10},Di="__G3W_ALL__",ji=6e4,Ul={resize:{map:{min:200},content:{min:200}}},Uy={"change-map":"fas fa-map-signs",map:"far fa-map",file:"fas fa-file-code",marker:"fas fa-map-marker-alt",relation:"fas fa-sitemap",tools:"fas fa-cogs",tool:"fas fa-cog",search:"fas fa-search",print:"fas fa-print",info:"fas fa-info-circle","info-circle":"fas fa-info-circle",globe:"fas fa-globe",mail:"fas fa-envelope",mobile:"fas fa-mobile",fax:"fas fa-fax",user:"fas fa-user",bars:"fas fa-bars",uncheck:"far fa-square",check:"far fa-check-square",checkmark:"fa fa-check",filluncheck:"fas fa-square",table:"fas fa-table",trash:"fas fa-trash","trash-o":"far fa-trash-alt",pencil:"fas fa-pencil-alt","ellips-h":"fas fa-ellipsis-h","ellips-v":"fas fa-ellipsis-v","arrow-up":"fas fa-chevron-up","arrow-down":"fas fa-chevron-down","arrow-left":"fas fa-chevron-left","arrow-right":"fas fa-chevron-right","resize-h":"fas fa-arrows-alt-h","resize-v":"fas fa-arrows-alt-v","resize-default":"fas fa-compress","caret-up":"fas fa-caret-up","caret-down":"fas fa-caret-down","caret-left":"fas fa-caret-left","caret-right":"fas fa-caret-right","empty-circle":"far fa-circle","cloud-upload":"fas fa-cloud-upload-alt",spinner:"fas fa-spinner",minus:"fas fa-minus","minus-square":"far fa-minus-square",plus:"fas fa-plus","plus-circle":"fas fa-plus-circle","plus-square":"far fa-plus-square",grid:"fas fa-th",home:"fas fa-home",folder:"fas fa-folder","sign-out":"fas fa-sign-out-alt",close:"fas fa-times",time:"far fa-clock",calendar:"fas fa-calendar-alt",list:"fas fa-list-alt",link:"fas fa-link",unlink:"fas fa-unlink",eye:"far fa-eye","eye-close":"far fa-eye-slash",save:"far fa-save",pdf:"fas fa-file-pdf",image:"far fa-image",video:"far fa-file-video",unknow:"far fa-question-circle",zip:"far fa-file-archive",text:"far fa-file-alt",excel:"far fa-file-excel",xls:"far fa-file-excel",gpx:"fas fa-location-arrow",gpkg:"fas fa-box-open",shapefile:"fas fa-file-archive",csv:"fas fa-file-csv",geotiff:"fas fa-th",ppt:"far fa-file-powerpoint",circle:"fas fa-circle",calculator:"fas fa-calculator",picture:"far fa-image",keyboard:"far fa-keyboard","file-download":"fas fa-file-download",copy:"far fa-copy",draw:"fas fa-draw-polygon",chart:"fas fa-chart-bar","chart-line":"fas fa-chart-line","chart-area":"fas fa-chart-area","chart-pie":"fas fa-chart-pie",run:"fas fa-play",warning:"fas fa-exclamation-circle",alert:"fas fa-exclamation-triangle",crosshairs:"fas fa-crosshairs",success:"far fa-check-circle",back:"fas fa-chevron-circle-left","file-upload":"fas fa-file-upload",wifi:"fas fa-wifi",mouse:"fas fa-mouse","copy-paste":"far fa-copy","vector-square":"fas fa-vector-square",download:"fas fa-download",credits:"fas fa-euro-sign",filter:"fas fa-filter",plugin:"fas fa-plug",invert:"fas fa-exchange-alt",clear:"fas fa-broom",palette:"fas fa-palette",layers:"fas fa-layer-group","sign-in":"fas fa-sign-in-alt",language:"fas fa-language",target:"fas fa-bullseye",pin:"fas fa-map-pin",square:"far fa-square",move:"fas fa-arrows-alt",moon:"fas fa-moon",sun:"fas fa-sun",refresh:"fas fa-sync-alt",pause:"fas fa-pause","step-backward":"fas fa-step-backward","fast-backward":"fas fa-fast-backward","step-forward":"fas fa-step-forward","fast-forward":"fas fa-fast-forward",crop:"fas fa-crop-alt",exit:"fas fa-door-open",slider:"fas fa-sliders-h",bookmark:"fas fa-bookmark",reply:"fas fa-reply",share:"fas fa-share","share-alt":"fa fa-share-alt","external-link":"fa fa-external-link-alt",pointer:"fa fa-hand-pointer",camera:"fas fa-camera-retro",measure:"fas fa-ruler-horizontal",tint:"fa fa-tint",sort:"fa fa-sort",copyright:"fa fa-copyright",forward:"fas fa-angle-double-right",backward:"fas fa-angle-double-left"},Fs={MESSAGES:{id:"MESSAGES",value:{}},SPATIALBOOKMARKS:{id:"SPATIALBOOKMARKS",value:{}}},Rh=["intersects","within"],zo=96,Mh={m:39.37,degrees:4374754},ni={ALL:"__ALL__",EXCLUDE:"__EXCLUDE__"},oo=[10,25,50,100],gu={DEFAULT_EDITING_CAPABILITIES:E3,DOTS_PER_INCH:zo,FILTER_OPERATORS:eg,FILTER_EXPRESSION_OPERATORS:Nh,FONT_AWESOME_ICONS:Uy,G3W_FID:Cn,GEOMETRY_FIELDS:so,GEOMETRY_TYPES:ye,INCHES_PER_UNIT:Mh,LOCAL_ITEM_IDS:Fs,PRINT_SCALES:pu,QUERY_POINT_TOLERANCE:ja,SEARCH_ALLVALUE:Di,SPATIAL_METHODS:Rh,TIMEOUT:ji,VIEWPORT:Ul,PAGELENGTHS:oo}});function qi(){}var mu=W(()=>{});function Li(e,n=500){let i;return function(...r){clearTimeout(i),i=setTimeout(()=>e(...r),n)}}var Go=W(()=>{});function Hn(e,n=500){let i;return function(...r){let o=i;i=Date.now(),(o===void 0||i-o>n)&&e(...r)}}var $o=W(()=>{});var J1=Qe((Q1,tg)=>{(function(e){"use strict";function n(){}var i=n.prototype,r=e.EventEmitter;function o(f,p){for(var g=f.length;g--;)if(f[g].listener===p)return g;return-1}function u(f){return function(){return this[f].apply(this,arguments)}}i.getListeners=function(p){var g=this._getEvents(),d,v;if(p instanceof RegExp){d={};for(v in g)g.hasOwnProperty(v)&&p.test(v)&&(d[v]=g[v])}else d=g[p]||(g[p]=[]);return d},i.flattenListeners=function(p){var g=[],d;for(d=0;d{mu();Go();$o();eS=hn(J1()),Et=class extends eS.default{___setters;___throttles;___debounces;___listeners;get setters(){return this.___setters}set setters(n){if(this.___setters=n,n){this.___listeners={after:{},before:{}};for(let i in this.___setters)this.___listeners.after[i]=[],this.___listeners.before[i]=[],this[i]=function(...r){return $.Deferred(o=>{let u=0,c=f=>{let p=f===!0||f===!1?!f:!1,g=this.___listeners.before[i].length;if(p){(this.___setters[i]instanceof Function?qi:this.___setters[i].fallback||qi).apply(this,r),o.reject();return}if(u===g){o.resolve((this.___setters[i]instanceof Function?this.___setters[i]:this.___setters[i].fnc).apply(this,r));let d=[];this.___listeners.after[i].forEach(v=>{v.fnc.apply(this,r),v.once&&d.push(v.key)}),d.forEach(v=>this.un(i,v)),this.emitEvent(`set:${i}`,r)}if(u{i===void 0?o[n].splice(0):o[n].forEach((u,c)=>{u.key===i&&o[n].splice(c,1)})})}_onsetter(n,i,r,o,u=0,c=!1){let f;return this.___listeners&&this.___listeners[n][i]!==void 0&&(f=`${Math.floor(Math.random()*1e6)+Date.now()}`,this.___listeners[n][i].push({key:f,fnc:r,async:o,priority:u,once:c}),this.___listeners[n][i]=this.___listeners[n][i].sort((p,g)=>g.priority-p.priority)),f}get(n){return this[n]&&!(this[n]instanceof Function)?this[n]:null}set(n,i){this[n]=i}}});var C3,V,vt=W(()=>{Yn();C3=Vue.observable({ready:!1,iframe:window.top!==window.self,online:navigator.onLine,ismobile:isMobile.any,download:!1,upload:!1,baseLayerId:null,language:"en",lng:"en",plugins:[],pluginsConfigs:{},configurationPlugins:[],user:null,map:{epsg:"",unit:"metric"},gui:{app:{disabled:!1},sidebar:{disabled:!1,open:!0},layout:{__current:"app",app:{}}},keys:{vendorkeys:{google:void 0,bing:void 0}},tokens:{filtertoken:void 0},querybuilder:{cache:{},searches:JSON.parse(window.localStorage.getItem("QUERYBUILDERSEARCHES")||"{}")},navbaritems:[],sidebar:{title:"",components:[],parent:null,contentsdata:[]},contentsdata:[],viewport:{primaryView:"map",secondaryPerc:0,resized:{start:!1,h:!1,v:!1},split:"h",map:{sizes:{width:0,height:0},aside:!1},content:{loading:!1,disabled:!1,sizes:{width:0,height:0},resize:{h:{perc:0},v:{perc:0}},aside:!0,showgoback:!0,stack:[],closable:!0,backonclose:!1,contentsdata:[]},usermessage:{id:null,show:!1,title:null,message:null,position:null,type:null,draggable:null,cloasable:null,autoclose:null,textMessage:!1,hooks:{header:null,body:null,footer:null}},components:{map:null,content:null}},sizes:{sidebar:{width:0}},i18n:{plugins:{}},project:new Et,catalog:{},highlightlayers:!1}),V=C3});var tS,bi,Ah=W(()=>{Nt();Yn();tS=new Et({setters:{online(){},offline(){}}});tS.version=By;bi=tS});function Vl(e){return[ye.POINTZ,ye.POINTM,ye.POINTZM,ye.POINT25D,ye.MULTIPOINTZ,ye.MULTIPOINTM,ye.MULTIPOINTZM,ye.MULTIPOINT25D,ye.LINESTRINGZ,ye.LINESTRINGM,ye.LINESTRINGZM,ye.LINESTRING25D,ye.MULTILINESTRINGZ,ye.MULTILINESTRINGM,ye.MULTILINESTRINGZM,ye.MULTILINESTRING25D,ye.LINEZ,ye.LINEM,ye.LINEZM,ye.LINE25D,ye.MULTILINEZ,ye.MULTILINEM,ye.MULTILINEZM,ye.MULTILINE25D,ye.POLYGONZ,ye.POLYGONM,ye.POLYGONZM,ye.POLYGON25D,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D].find(n=>n===e)}var ng=W(()=>{Nt()});function Oh(e){return e.length===2&&e.push(0),e}function ig({feature:e,geometryType:n}={}){if(!Vl(n))return console.warn("Invalid 3D Geometry Type:",n),e;let i=e.getGeometry(),r=i.getCoordinates();switch(n||i.getType()){case ye.POINTZ:case ye.POINTM:case ye.POINTZM:case ye.POINT25D:e.getGeometry().setCoordinates(Oh(r));break;case ye.MULTIPOINTZ:case ye.MULTIPOINTM:case ye.MULTIPOINTZM:case ye.MULTIPOINT25D:case ye.LINESTRINGZ:case ye.LINESTRINGM:case ye.LINESTRINGZM:case ye.LINESTRING25D:case ye.LINEZ:case ye.LINEM:case ye.LINEZM:case ye.LINE25D:r.forEach(o=>Oh(o)),e.getGeometry().setCoordinates(r);break;case ye.MULTILINESTRINGZ:case ye.MULTILINESTRINGM:case ye.MULTILINESTRINGZM:case ye.MULTILINESTRING25D:case ye.MULTILINEZ:case ye.MULTILINEM:case ye.MULTILINEZM:case ye.MULTILINE25D:r.forEach(o=>o.forEach(u=>Oh(u))),e.getGeometry().setCoordinates(r);break;case ye.POLYGONZ:case ye.POLYGONM:case ye.POLYGONZM:case ye.POLYGON25D:r[0].forEach(o=>Oh(o)),e.getGeometry().setCoordinates(r);break;case ye.MULTIPOLYGONZ:case ye.MULTIPOLYGONM:case ye.MULTIPOLYGOZM:case ye.MULTIPOLYGON25D:r.forEach(o=>o[0].forEach(u=>Oh(u))),e.getGeometry().setCoordinates(r);break;default:console.warn("invalid geometry type:",n||i.getType())}return e}var Vy=W(()=>{Nt();ng()});function Ph({feature:e}={}){let n=e.getGeometry();if(!n)return e;let i=n.getCoordinates();switch(n.getType()){case ye.POINT:i.splice(2),n.setCoordinates(i);break;case ye.MULTIPOINT:case ye.LINESTRING:case ye.LINE:i.forEach(r=>r.splice(2)),n.setCoordinates(i);break;case ye.MULTILINESTRING:case ye.MULTILINE:i.forEach(r=>r.forEach(o=>o.splice(2))),n.setCoordinates(i);break;case ye.POLYGON:i[0].forEach(r=>r.splice(2)),n.setCoordinates(i);break;case ye.MULTIPOLYGON:i.forEach(r=>r[0].forEach(o=>o.splice(2))),n.setCoordinates(i);break;default:console.warn("unsupported geometry type: "+n.getType())}return e}var Wy=W(()=>{Nt()});function Ds(e){return[ye.MULTIPOINT,ye.MULTIPOINTZ,ye.MULTIPOINTZM,ye.MULTIPOINTM,ye.MULTIPOINT25D,ye.MULTILINESTRING,ye.MULTILINESTRINGZ,ye.MULTILINESTRINGM,ye.MULTILINESTRINGZM,ye.MULTILINESTRING25D,ye.MULTILINE,ye.MULTILINEZ,ye.MULTILINEM,ye.MULTILINEZM,ye.MULTILINE25D,ye.MULTIPOLYGON,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D].includes(e)}var Fh=W(()=>{Nt()});function qa(e){return[ye.POINT,ye.POINTZ,ye.POINTM,ye.POINTZM,ye.POINT25D,ye.MULTIPOINT,ye.MULTIPOINTZ,ye.MULTIPOINTM,ye.MULTIPOINTZM,ye.MULTIPOINT25D].includes(e)}var Dh=W(()=>{Nt()});function ao(e){return[ye.LINESTRING,ye.LINESTRINGZ,ye.LINESTRINGM,ye.LINESTRINGZM,ye.LINESTRING25D,ye.MULTILINESTRING,ye.MULTILINESTRINGZ,ye.MULTILINESTRINGM,ye.MULTILINESTRINGZM,ye.MULTILINESTRING25D,ye.LINE,ye.LINEZ,ye.LINEM,ye.LINEZM,ye.LINE25D,ye.MULTILINE,ye.MULTILINEZ,ye.MULTILINEM,ye.MULTILINEZM,ye.MULTILINE25D].includes(e)}var _u=W(()=>{Nt()});function lo(e){return[ye.POLYGON,ye.POLYGONZ,ye.POLYGONM,ye.POLYGONZM,ye.POLYGON25D,ye.MULTIPOLYGON,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D].includes(e)}var yu=W(()=>{Nt()});var rg=Qe((iS,Hy)=>{(function(e){typeof iS=="object"&&typeof Hy<"u"?Hy.exports=e():typeof define=="function"&&define.amd?define([],e):(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:this).JSZip=e()})(function(){return function e(n,i,r){function o(f,p){if(!i[f]){if(!n[f]){var g=typeof ro=="function"&&ro;if(!p&&g)return g(f,!0);if(u)return u(f,!0);var d=new Error("Cannot find module '"+f+"'");throw d.code="MODULE_NOT_FOUND",d}var v=i[f]={exports:{}};n[f][0].call(v.exports,function(y){var S=n[f][1][y];return o(S||y)},v,v.exports,e,n,i,r)}return i[f].exports}for(var u=typeof ro=="function"&&ro,c=0;c>2,v=(3&f)<<4|p>>4,y=1>6:64,S=2>4,p=(15&d)<<4|(v=u.indexOf(c.charAt(S++)))>>2,g=(3&v)<<6|(y=u.indexOf(c.charAt(S++))),I[w++]=f,v!==64&&(I[w++]=p),y!==64&&(I[w++]=g);return I}},{"./support":30,"./utils":32}],2:[function(e,n,i){"use strict";var r=e("./external"),o=e("./stream/DataWorker"),u=e("./stream/Crc32Probe"),c=e("./stream/DataLengthProbe");function f(p,g,d,v,y){this.compressedSize=p,this.uncompressedSize=g,this.crc32=d,this.compression=v,this.compressedContent=y}f.prototype={getContentWorker:function(){var p=new o(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),g=this;return p.on("end",function(){if(this.streamInfo.data_length!==g.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),p},getCompressedWorker:function(){return new o(r.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},f.createWorkerFrom=function(p,g,d){return p.pipe(new u).pipe(new c("uncompressedSize")).pipe(g.compressWorker(d)).pipe(new c("compressedSize")).withStreamInfo("compression",g)},n.exports=f},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,n,i){"use strict";var r=e("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},i.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,n,i){"use strict";var r=e("./utils"),o=function(){for(var u,c=[],f=0;f<256;f++){u=f;for(var p=0;p<8;p++)u=1&u?3988292384^u>>>1:u>>>1;c[f]=u}return c}();n.exports=function(u,c){return u!==void 0&&u.length?r.getTypeOf(u)!=="string"?function(f,p,g,d){var v=o,y=d+g;f^=-1;for(var S=d;S>>8^v[255&(f^p[S])];return-1^f}(0|c,u,u.length,0):function(f,p,g,d){var v=o,y=d+g;f^=-1;for(var S=d;S>>8^v[255&(f^p.charCodeAt(S))];return-1^f}(0|c,u,u.length,0):0}},{"./utils":32}],5:[function(e,n,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(e,n,i){"use strict";var r=null;r=typeof Promise<"u"?Promise:e("lie"),n.exports={Promise:r}},{lie:37}],7:[function(e,n,i){"use strict";var r=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=e("pako"),u=e("./utils"),c=e("./stream/GenericWorker"),f=r?"uint8array":"array";function p(g,d){c.call(this,"FlateWorker/"+g),this._pako=null,this._pakoAction=g,this._pakoOptions=d,this.meta={}}i.magic="\b\0",u.inherits(p,c),p.prototype.processChunk=function(g){this.meta=g.meta,this._pako===null&&this._createPako(),this._pako.push(u.transformTo(f,g.data),!1)},p.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},p.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},p.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var g=this;this._pako.onData=function(d){g.push({data:d,meta:g.meta})}},i.compressWorker=function(g){return new p("Deflate",g)},i.uncompressWorker=function(){return new p("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,n,i){"use strict";function r(v,y){var S,w="";for(S=0;S>>=8;return w}function o(v,y,S,w,E,I){var O,H,X=v.file,re=v.compression,z=I!==f.utf8encode,Z=u.transformTo("string",I(X.name)),te=u.transformTo("string",f.utf8encode(X.name)),ee=X.comment,ve=u.transformTo("string",I(ee)),F=u.transformTo("string",f.utf8encode(ee)),me=te.length!==X.name.length,L=F.length!==ee.length,se="",le="",he="",Ke=X.dir,Te=X.date,We={crc32:0,compressedSize:0,uncompressedSize:0};y&&!S||(We.crc32=v.crc32,We.compressedSize=v.compressedSize,We.uncompressedSize=v.uncompressedSize);var Q=0;y&&(Q|=8),z||!me&&!L||(Q|=2048);var ge=0,je=0;Ke&&(ge|=16),E==="UNIX"?(je=798,ge|=function(ze,Je){var kt=ze;return ze||(kt=Je?16893:33204),(65535&kt)<<16}(X.unixPermissions,Ke)):(je=20,ge|=function(ze){return 63&(ze||0)}(X.dosPermissions)),O=Te.getUTCHours(),O<<=6,O|=Te.getUTCMinutes(),O<<=5,O|=Te.getUTCSeconds()/2,H=Te.getUTCFullYear()-1980,H<<=4,H|=Te.getUTCMonth()+1,H<<=5,H|=Te.getUTCDate(),me&&(le=r(1,1)+r(p(Z),4)+te,se+="up"+r(le.length,2)+le),L&&(he=r(1,1)+r(p(ve),4)+F,se+="uc"+r(he.length,2)+he);var Se="";return Se+=` +\0`,Se+=r(Q,2),Se+=re.magic,Se+=r(O,2),Se+=r(H,2),Se+=r(We.crc32,4),Se+=r(We.compressedSize,4),Se+=r(We.uncompressedSize,4),Se+=r(Z.length,2),Se+=r(se.length,2),{fileRecord:g.LOCAL_FILE_HEADER+Se+Z+se,dirRecord:g.CENTRAL_FILE_HEADER+r(je,2)+Se+r(ve.length,2)+"\0\0\0\0"+r(ge,4)+r(w,4)+Z+se+ve}}var u=e("../utils"),c=e("../stream/GenericWorker"),f=e("../utf8"),p=e("../crc32"),g=e("../signature");function d(v,y,S,w){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=y,this.zipPlatform=S,this.encodeFileName=w,this.streamFiles=v,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}u.inherits(d,c),d.prototype.push=function(v){var y=v.meta.percent||0,S=this.entriesCount,w=this._sources.length;this.accumulate?this.contentBuffer.push(v):(this.bytesWritten+=v.data.length,c.prototype.push.call(this,{data:v.data,meta:{currentFile:this.currentFile,percent:S?(y+100*(S-w-1))/S:100}}))},d.prototype.openedSource=function(v){this.currentSourceOffset=this.bytesWritten,this.currentFile=v.file.name;var y=this.streamFiles&&!v.file.dir;if(y){var S=o(v,y,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:S.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(v){this.accumulate=!1;var y=this.streamFiles&&!v.file.dir,S=o(v,y,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(S.dirRecord),y)this.push({data:function(w){return g.DATA_DESCRIPTOR+r(w.crc32,4)+r(w.compressedSize,4)+r(w.uncompressedSize,4)}(v),meta:{percent:100}});else for(this.push({data:S.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var v=this.bytesWritten,y=0;y=this.index;c--)f=(f<<8)+this.byteAt(c);return this.index+=u,f},readString:function(u){return r.transformTo("string",this.readData(u))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var u=this.readInt(4);return new Date(Date.UTC(1980+(u>>25&127),(u>>21&15)-1,u>>16&31,u>>11&31,u>>5&63,(31&u)<<1))}},n.exports=o},{"../utils":32}],19:[function(e,n,i){"use strict";var r=e("./Uint8ArrayReader");function o(u){r.call(this,u)}e("../utils").inherits(o,r),o.prototype.readData=function(u){this.checkOffset(u);var c=this.data.slice(this.zero+this.index,this.zero+this.index+u);return this.index+=u,c},n.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,n,i){"use strict";var r=e("./DataReader");function o(u){r.call(this,u)}e("../utils").inherits(o,r),o.prototype.byteAt=function(u){return this.data.charCodeAt(this.zero+u)},o.prototype.lastIndexOfSignature=function(u){return this.data.lastIndexOf(u)-this.zero},o.prototype.readAndCheckSignature=function(u){return u===this.readData(4)},o.prototype.readData=function(u){this.checkOffset(u);var c=this.data.slice(this.zero+this.index,this.zero+this.index+u);return this.index+=u,c},n.exports=o},{"../utils":32,"./DataReader":18}],21:[function(e,n,i){"use strict";var r=e("./ArrayReader");function o(u){r.call(this,u)}e("../utils").inherits(o,r),o.prototype.readData=function(u){if(this.checkOffset(u),u===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+u);return this.index+=u,c},n.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(e,n,i){"use strict";var r=e("../utils"),o=e("../support"),u=e("./ArrayReader"),c=e("./StringReader"),f=e("./NodeBufferReader"),p=e("./Uint8ArrayReader");n.exports=function(g){var d=r.getTypeOf(g);return r.checkSupport(d),d!=="string"||o.uint8array?d==="nodebuffer"?new f(g):o.uint8array?new p(r.transformTo("uint8array",g)):new u(r.transformTo("array",g)):new c(g)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,n,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,n,i){"use strict";var r=e("./GenericWorker"),o=e("../utils");function u(c){r.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(u,r),u.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},n.exports=u},{"../utils":32,"./GenericWorker":28}],25:[function(e,n,i){"use strict";var r=e("./GenericWorker"),o=e("../crc32");function u(){r.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(u,r),u.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},n.exports=u},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./GenericWorker");function u(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}r.inherits(u,o),u.prototype.processChunk=function(c){if(c){var f=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=f+c.data.length}o.prototype.processChunk.call(this,c)},n.exports=u},{"../utils":32,"./GenericWorker":28}],27:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./GenericWorker");function u(c){o.call(this,"DataWorker");var f=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(p){f.dataIsReady=!0,f.data=p,f.max=p&&p.length||0,f.type=r.getTypeOf(p),f.isPaused||f._tickAndRepeat()},function(p){f.error(p)})}r.inherits(u,o),u.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},u.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},u.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},u.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,f=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,f);break;case"uint8array":c=this.data.subarray(this.index,f);break;case"array":case"nodebuffer":c=this.data.slice(this.index,f)}return this.index=f,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},n.exports=u},{"../utils":32,"./GenericWorker":28}],28:[function(e,n,i){"use strict";function r(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,u){return this._listeners[o].push(u),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,u){if(this._listeners[o])for(var c=0;c "+o:o}},n.exports=r},{}],29:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./ConvertWorker"),u=e("./GenericWorker"),c=e("../base64"),f=e("../support"),p=e("../external"),g=null;if(f.nodestream)try{g=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function d(y,S){return new p.Promise(function(w,E){var I=[],O=y._internalType,H=y._outputType,X=y._mimeType;y.on("data",function(re,z){I.push(re),S&&S(z)}).on("error",function(re){I=[],E(re)}).on("end",function(){try{var re=function(z,Z,te){switch(z){case"blob":return r.newBlob(r.transformTo("arraybuffer",Z),te);case"base64":return c.encode(Z);default:return r.transformTo(z,Z)}}(H,function(z,Z){var te,ee=0,ve=null,F=0;for(te=0;te"u")i.blob=!1;else{var r=new ArrayBuffer(0);try{i.blob=new Blob([r],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(r),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!e("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(e,n,i){"use strict";for(var r=e("./utils"),o=e("./support"),u=e("./nodejsUtils"),c=e("./stream/GenericWorker"),f=new Array(256),p=0;p<256;p++)f[p]=252<=p?6:248<=p?5:240<=p?4:224<=p?3:192<=p?2:1;f[254]=f[254]=1;function g(){c.call(this,"utf-8 decode"),this.leftOver=null}function d(){c.call(this,"utf-8 encode")}i.utf8encode=function(v){return o.nodebuffer?u.newBufferFrom(v,"utf-8"):function(y){var S,w,E,I,O,H=y.length,X=0;for(I=0;I>>6:(w<65536?S[O++]=224|w>>>12:(S[O++]=240|w>>>18,S[O++]=128|w>>>12&63),S[O++]=128|w>>>6&63),S[O++]=128|63&w);return S}(v)},i.utf8decode=function(v){return o.nodebuffer?r.transformTo("nodebuffer",v).toString("utf-8"):function(y){var S,w,E,I,O=y.length,H=new Array(2*O);for(S=w=0;S>10&1023,H[w++]=56320|1023&E)}return H.length!==w&&(H.subarray?H=H.subarray(0,w):H.length=w),r.applyFromCharCode(H)}(v=r.transformTo(o.uint8array?"uint8array":"array",v))},r.inherits(g,c),g.prototype.processChunk=function(v){var y=r.transformTo(o.uint8array?"uint8array":"array",v.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var S=y;(y=new Uint8Array(S.length+this.leftOver.length)).set(this.leftOver,0),y.set(S,this.leftOver.length)}else y=this.leftOver.concat(y);this.leftOver=null}var w=function(I,O){var H;for((O=O||I.length)>I.length&&(O=I.length),H=O-1;0<=H&&(192&I[H])==128;)H--;return H<0||H===0?O:H+f[I[H]]>O?H:O}(y),E=y;w!==y.length&&(o.uint8array?(E=y.subarray(0,w),this.leftOver=y.subarray(w,y.length)):(E=y.slice(0,w),this.leftOver=y.slice(w,y.length))),this.push({data:i.utf8decode(E),meta:v.meta})},g.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=g,r.inherits(d,c),d.prototype.processChunk=function(v){this.push({data:i.utf8encode(v.data),meta:v.meta})},i.Utf8EncodeWorker=d},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,n,i){"use strict";var r=e("./support"),o=e("./base64"),u=e("./nodejsUtils"),c=e("./external");function f(S){return S}function p(S,w){for(var E=0;E>8;this.dir=!!(16&this.externalFileAttributes),v==0&&(this.dosPermissions=63&this.externalFileAttributes),v==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var v=r(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=v.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=v.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=v.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=v.readInt(4))}},readExtraFields:function(v){var y,S,w,E=v.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});v.index+4>>6:(v<65536?d[w++]=224|v>>>12:(d[w++]=240|v>>>18,d[w++]=128|v>>>12&63),d[w++]=128|v>>>6&63),d[w++]=128|63&v);return d},i.buf2binstring=function(g){return p(g,g.length)},i.binstring2buf=function(g){for(var d=new r.Buf8(g.length),v=0,y=d.length;v>10&1023,I[y++]=56320|1023&S)}return p(I,y)},i.utf8border=function(g,d){var v;for((d=d||g.length)>g.length&&(d=g.length),v=d-1;0<=v&&(192&g[v])==128;)v--;return v<0||v===0?d:v+c[g[v]]>d?v:d}},{"./common":41}],43:[function(e,n,i){"use strict";n.exports=function(r,o,u,c){for(var f=65535&r|0,p=r>>>16&65535|0,g=0;u!==0;){for(u-=g=2e3>>1:o>>>1;u[c]=o}return u}();n.exports=function(o,u,c,f){var p=r,g=f+c;o^=-1;for(var d=f;d>>8^p[255&(o^u[d])];return-1^o}},{}],46:[function(e,n,i){"use strict";var r,o=e("../utils/common"),u=e("./trees"),c=e("./adler32"),f=e("./crc32"),p=e("./messages"),g=0,d=4,v=0,y=-2,S=-1,w=4,E=2,I=8,O=9,H=286,X=30,re=19,z=2*H+1,Z=15,te=3,ee=258,ve=ee+te+1,F=42,me=113,L=1,se=2,le=3,he=4;function Ke(N,oe){return N.msg=p[oe],oe}function Te(N){return(N<<1)-(4N.avail_out&&(Ce=N.avail_out),Ce!==0&&(o.arraySet(N.output,oe.pending_buf,oe.pending_out,Ce,N.next_out),N.next_out+=Ce,oe.pending_out+=Ce,N.total_out+=Ce,N.avail_out-=Ce,oe.pending-=Ce,oe.pending===0&&(oe.pending_out=0))}function ge(N,oe){u._tr_flush_block(N,0<=N.block_start?N.block_start:-1,N.strstart-N.block_start,oe),N.block_start=N.strstart,Q(N.strm)}function je(N,oe){N.pending_buf[N.pending++]=oe}function Se(N,oe){N.pending_buf[N.pending++]=oe>>>8&255,N.pending_buf[N.pending++]=255&oe}function ze(N,oe){var Ce,A,P=N.max_chain_length,G=N.strstart,ae=N.prev_length,be=N.nice_match,ue=N.strstart>N.w_size-ve?N.strstart-(N.w_size-ve):0,Ne=N.window,Oe=N.w_mask,Me=N.prev,ke=N.strstart+ee,Pe=Ne[G+ae-1],De=Ne[G+ae];N.prev_length>=N.good_match&&(P>>=2),be>N.lookahead&&(be=N.lookahead);do if(Ne[(Ce=oe)+ae]===De&&Ne[Ce+ae-1]===Pe&&Ne[Ce]===Ne[G]&&Ne[++Ce]===Ne[G+1]){G+=2,Ce++;do;while(Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Ne[++G]===Ne[++Ce]&&Gue&&--P!=0);return ae<=N.lookahead?ae:N.lookahead}function Je(N){var oe,Ce,A,P,G,ae,be,ue,Ne,Oe,Me=N.w_size;do{if(P=N.window_size-N.lookahead-N.strstart,N.strstart>=Me+(Me-ve)){for(o.arraySet(N.window,N.window,Me,Me,0),N.match_start-=Me,N.strstart-=Me,N.block_start-=Me,oe=Ce=N.hash_size;A=N.head[--oe],N.head[oe]=Me<=A?A-Me:0,--Ce;);for(oe=Ce=Me;A=N.prev[--oe],N.prev[oe]=Me<=A?A-Me:0,--Ce;);P+=Me}if(N.strm.avail_in===0)break;if(ae=N.strm,be=N.window,ue=N.strstart+N.lookahead,Ne=P,Oe=void 0,Oe=ae.avail_in,Ne=te)for(G=N.strstart-N.insert,N.ins_h=N.window[G],N.ins_h=(N.ins_h<=te&&(N.ins_h=(N.ins_h<=te)if(A=u._tr_tally(N,N.strstart-N.match_start,N.match_length-te),N.lookahead-=N.match_length,N.match_length<=N.max_lazy_match&&N.lookahead>=te){for(N.match_length--;N.strstart++,N.ins_h=(N.ins_h<=te&&(N.ins_h=(N.ins_h<=te&&N.match_length<=N.prev_length){for(P=N.strstart+N.lookahead-te,A=u._tr_tally(N,N.strstart-1-N.prev_match,N.prev_length-te),N.lookahead-=N.prev_length-1,N.prev_length-=2;++N.strstart<=P&&(N.ins_h=(N.ins_h<N.pending_buf_size-5&&(Ce=N.pending_buf_size-5);;){if(N.lookahead<=1){if(Je(N),N.lookahead===0&&oe===g)return L;if(N.lookahead===0)break}N.strstart+=N.lookahead,N.lookahead=0;var A=N.block_start+Ce;if((N.strstart===0||N.strstart>=A)&&(N.lookahead=N.strstart-A,N.strstart=A,ge(N,!1),N.strm.avail_out===0)||N.strstart-N.block_start>=N.w_size-ve&&(ge(N,!1),N.strm.avail_out===0))return L}return N.insert=0,oe===d?(ge(N,!0),N.strm.avail_out===0?le:he):(N.strstart>N.block_start&&(ge(N,!1),N.strm.avail_out),L)}),new mt(4,4,8,4,kt),new mt(4,5,16,8,kt),new mt(4,6,32,32,kt),new mt(4,4,16,16,et),new mt(8,16,32,32,et),new mt(8,16,128,128,et),new mt(8,32,128,256,et),new mt(32,128,258,1024,et),new mt(32,258,258,4096,et)],i.deflateInit=function(N,oe){return nt(N,oe,I,15,8,0)},i.deflateInit2=nt,i.deflateReset=yt,i.deflateResetKeep=_t,i.deflateSetHeader=function(N,oe){return N&&N.state?N.state.wrap!==2?y:(N.state.gzhead=oe,v):y},i.deflate=function(N,oe){var Ce,A,P,G;if(!N||!N.state||5>8&255),je(A,A.gzhead.time>>16&255),je(A,A.gzhead.time>>24&255),je(A,A.level===9?2:2<=A.strategy||A.level<2?4:0),je(A,255&A.gzhead.os),A.gzhead.extra&&A.gzhead.extra.length&&(je(A,255&A.gzhead.extra.length),je(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(N.adler=f(N.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=69):(je(A,0),je(A,0),je(A,0),je(A,0),je(A,0),je(A,A.level===9?2:2<=A.strategy||A.level<2?4:0),je(A,3),A.status=me);else{var ae=I+(A.w_bits-8<<4)<<8;ae|=(2<=A.strategy||A.level<2?0:A.level<6?1:A.level===6?2:3)<<6,A.strstart!==0&&(ae|=32),ae+=31-ae%31,A.status=me,Se(A,ae),A.strstart!==0&&(Se(A,N.adler>>>16),Se(A,65535&N.adler)),N.adler=1}if(A.status===69)if(A.gzhead.extra){for(P=A.pending;A.gzindex<(65535&A.gzhead.extra.length)&&(A.pending!==A.pending_buf_size||(A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),Q(N),P=A.pending,A.pending!==A.pending_buf_size));)je(A,255&A.gzhead.extra[A.gzindex]),A.gzindex++;A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),A.gzindex===A.gzhead.extra.length&&(A.gzindex=0,A.status=73)}else A.status=73;if(A.status===73)if(A.gzhead.name){P=A.pending;do{if(A.pending===A.pending_buf_size&&(A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),Q(N),P=A.pending,A.pending===A.pending_buf_size)){G=1;break}G=A.gzindexP&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),G===0&&(A.gzindex=0,A.status=91)}else A.status=91;if(A.status===91)if(A.gzhead.comment){P=A.pending;do{if(A.pending===A.pending_buf_size&&(A.gzhead.hcrc&&A.pending>P&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),Q(N),P=A.pending,A.pending===A.pending_buf_size)){G=1;break}G=A.gzindexP&&(N.adler=f(N.adler,A.pending_buf,A.pending-P,P)),G===0&&(A.status=103)}else A.status=103;if(A.status===103&&(A.gzhead.hcrc?(A.pending+2>A.pending_buf_size&&Q(N),A.pending+2<=A.pending_buf_size&&(je(A,255&N.adler),je(A,N.adler>>8&255),N.adler=0,A.status=me)):A.status=me),A.pending!==0){if(Q(N),N.avail_out===0)return A.last_flush=-1,v}else if(N.avail_in===0&&Te(oe)<=Te(Ce)&&oe!==d)return Ke(N,-5);if(A.status===666&&N.avail_in!==0)return Ke(N,-5);if(N.avail_in!==0||A.lookahead!==0||oe!==g&&A.status!==666){var be=A.strategy===2?function(ue,Ne){for(var Oe;;){if(ue.lookahead===0&&(Je(ue),ue.lookahead===0)){if(Ne===g)return L;break}if(ue.match_length=0,Oe=u._tr_tally(ue,0,ue.window[ue.strstart]),ue.lookahead--,ue.strstart++,Oe&&(ge(ue,!1),ue.strm.avail_out===0))return L}return ue.insert=0,Ne===d?(ge(ue,!0),ue.strm.avail_out===0?le:he):ue.last_lit&&(ge(ue,!1),ue.strm.avail_out===0)?L:se}(A,oe):A.strategy===3?function(ue,Ne){for(var Oe,Me,ke,Pe,De=ue.window;;){if(ue.lookahead<=ee){if(Je(ue),ue.lookahead<=ee&&Ne===g)return L;if(ue.lookahead===0)break}if(ue.match_length=0,ue.lookahead>=te&&0ue.lookahead&&(ue.match_length=ue.lookahead)}if(ue.match_length>=te?(Oe=u._tr_tally(ue,1,ue.match_length-te),ue.lookahead-=ue.match_length,ue.strstart+=ue.match_length,ue.match_length=0):(Oe=u._tr_tally(ue,0,ue.window[ue.strstart]),ue.lookahead--,ue.strstart++),Oe&&(ge(ue,!1),ue.strm.avail_out===0))return L}return ue.insert=0,Ne===d?(ge(ue,!0),ue.strm.avail_out===0?le:he):ue.last_lit&&(ge(ue,!1),ue.strm.avail_out===0)?L:se}(A,oe):r[A.level].func(A,oe);if(be!==le&&be!==he||(A.status=666),be===L||be===le)return N.avail_out===0&&(A.last_flush=-1),v;if(be===se&&(oe===1?u._tr_align(A):oe!==5&&(u._tr_stored_block(A,0,0,!1),oe===3&&(We(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),Q(N),N.avail_out===0))return A.last_flush=-1,v}return oe!==d?v:A.wrap<=0?1:(A.wrap===2?(je(A,255&N.adler),je(A,N.adler>>8&255),je(A,N.adler>>16&255),je(A,N.adler>>24&255),je(A,255&N.total_in),je(A,N.total_in>>8&255),je(A,N.total_in>>16&255),je(A,N.total_in>>24&255)):(Se(A,N.adler>>>16),Se(A,65535&N.adler)),Q(N),0=Ce.w_size&&(G===0&&(We(Ce.head),Ce.strstart=0,Ce.block_start=0,Ce.insert=0),Ne=new o.Buf8(Ce.w_size),o.arraySet(Ne,oe,Oe-Ce.w_size,Ce.w_size,0),oe=Ne,Oe=Ce.w_size),ae=N.avail_in,be=N.next_in,ue=N.input,N.avail_in=Oe,N.next_in=0,N.input=oe,Je(Ce);Ce.lookahead>=te;){for(A=Ce.strstart,P=Ce.lookahead-(te-1);Ce.ins_h=(Ce.ins_h<>>=te=Z>>>24,O-=te,(te=Z>>>16&255)===0)se[p++]=65535&Z;else{if(!(16&te)){if(!(64&te)){Z=H[(65535&Z)+(I&(1<>>=te,O-=te),O<15&&(I+=L[c++]<>>=te=Z>>>24,O-=te,!(16&(te=Z>>>16&255))){if(!(64&te)){Z=X[(65535&Z)+(I&(1<>>=te,O-=te,(te=p-g)>3,I&=(1<<(O-=ee<<3))-1,r.next_in=c,r.next_out=p,r.avail_in=c>>24&255)+(F>>>8&65280)+((65280&F)<<8)+((255&F)<<24)}function I(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function O(F){var me;return F&&F.state?(me=F.state,F.total_in=F.total_out=me.total=0,F.msg="",me.wrap&&(F.adler=1&me.wrap),me.mode=y,me.last=0,me.havedict=0,me.dmax=32768,me.head=null,me.hold=0,me.bits=0,me.lencode=me.lendyn=new r.Buf32(S),me.distcode=me.distdyn=new r.Buf32(w),me.sane=1,me.back=-1,d):v}function H(F){var me;return F&&F.state?((me=F.state).wsize=0,me.whave=0,me.wnext=0,O(F)):v}function X(F,me){var L,se;return F&&F.state?(se=F.state,me<0?(L=0,me=-me):(L=1+(me>>4),me<48&&(me&=15)),me&&(me<8||15=he.wsize?(r.arraySet(he.window,me,L-he.wsize,he.wsize,0),he.wnext=0,he.whave=he.wsize):(se<(le=he.wsize-he.wnext)&&(le=se),r.arraySet(he.window,me,L-se,le,he.wnext),(se-=le)?(r.arraySet(he.window,me,L-se,se,0),he.wnext=se,he.whave=he.wsize):(he.wnext+=le,he.wnext===he.wsize&&(he.wnext=0),he.whave>>8&255,L.check=u(L.check,G,2,0),ge=Q=0,L.mode=2;break}if(L.flags=0,L.head&&(L.head.done=!1),!(1&L.wrap)||(((255&Q)<<8)+(Q>>8))%31){F.msg="incorrect header check",L.mode=30;break}if((15&Q)!=8){F.msg="unknown compression method",L.mode=30;break}if(ge-=4,N=8+(15&(Q>>>=4)),L.wbits===0)L.wbits=N;else if(N>L.wbits){F.msg="invalid window size",L.mode=30;break}L.dmax=1<>8&1),512&L.flags&&(G[0]=255&Q,G[1]=Q>>>8&255,L.check=u(L.check,G,2,0)),ge=Q=0,L.mode=3;case 3:for(;ge<32;){if(Te===0)break e;Te--,Q+=se[he++]<>>8&255,G[2]=Q>>>16&255,G[3]=Q>>>24&255,L.check=u(L.check,G,4,0)),ge=Q=0,L.mode=4;case 4:for(;ge<16;){if(Te===0)break e;Te--,Q+=se[he++]<>8),512&L.flags&&(G[0]=255&Q,G[1]=Q>>>8&255,L.check=u(L.check,G,2,0)),ge=Q=0,L.mode=5;case 5:if(1024&L.flags){for(;ge<16;){if(Te===0)break e;Te--,Q+=se[he++]<>>8&255,L.check=u(L.check,G,2,0)),ge=Q=0}else L.head&&(L.head.extra=null);L.mode=6;case 6:if(1024&L.flags&&(Te<(ze=L.length)&&(ze=Te),ze&&(L.head&&(N=L.head.extra_len-L.length,L.head.extra||(L.head.extra=new Array(L.head.extra_len)),r.arraySet(L.head.extra,se,he,ze,N)),512&L.flags&&(L.check=u(L.check,se,ze,he)),Te-=ze,he+=ze,L.length-=ze),L.length))break e;L.length=0,L.mode=7;case 7:if(2048&L.flags){if(Te===0)break e;for(ze=0;N=se[he+ze++],L.head&&N&&L.length<65536&&(L.head.name+=String.fromCharCode(N)),N&&ze>9&1,L.head.done=!0),F.adler=L.check=0,L.mode=12;break;case 10:for(;ge<32;){if(Te===0)break e;Te--,Q+=se[he++]<>>=7&ge,ge-=7&ge,L.mode=27;break}for(;ge<3;){if(Te===0)break e;Te--,Q+=se[he++]<>>=1)){case 0:L.mode=14;break;case 1:if(ee(L),L.mode=20,me!==6)break;Q>>>=2,ge-=2;break e;case 2:L.mode=17;break;case 3:F.msg="invalid block type",L.mode=30}Q>>>=2,ge-=2;break;case 14:for(Q>>>=7&ge,ge-=7≥ge<32;){if(Te===0)break e;Te--,Q+=se[he++]<>>16^65535)){F.msg="invalid stored block lengths",L.mode=30;break}if(L.length=65535&Q,ge=Q=0,L.mode=15,me===6)break e;case 15:L.mode=16;case 16:if(ze=L.length){if(Te>>=5,ge-=5,L.ndist=1+(31&Q),Q>>>=5,ge-=5,L.ncode=4+(15&Q),Q>>>=4,ge-=4,286>>=3,ge-=3}for(;L.have<19;)L.lens[ae[L.have++]]=0;if(L.lencode=L.lendyn,L.lenbits=7,Ce={bits:L.lenbits},oe=f(0,L.lens,0,19,L.lencode,0,L.work,Ce),L.lenbits=Ce.bits,oe){F.msg="invalid code lengths set",L.mode=30;break}L.have=0,L.mode=19;case 19:for(;L.have>>16&255,tt=65535&P,!((et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>>=et,ge-=et,L.lens[L.have++]=tt;else{if(tt===16){for(A=et+2;ge>>=et,ge-=et,L.have===0){F.msg="invalid bit length repeat",L.mode=30;break}N=L.lens[L.have-1],ze=3+(3&Q),Q>>>=2,ge-=2}else if(tt===17){for(A=et+3;ge>>=et)),Q>>>=3,ge-=3}else{for(A=et+7;ge>>=et)),Q>>>=7,ge-=7}if(L.have+ze>L.nlen+L.ndist){F.msg="invalid bit length repeat",L.mode=30;break}for(;ze--;)L.lens[L.have++]=N}}if(L.mode===30)break;if(L.lens[256]===0){F.msg="invalid code -- missing end-of-block",L.mode=30;break}if(L.lenbits=9,Ce={bits:L.lenbits},oe=f(p,L.lens,0,L.nlen,L.lencode,0,L.work,Ce),L.lenbits=Ce.bits,oe){F.msg="invalid literal/lengths set",L.mode=30;break}if(L.distbits=6,L.distcode=L.distdyn,Ce={bits:L.distbits},oe=f(g,L.lens,L.nlen,L.ndist,L.distcode,0,L.work,Ce),L.distbits=Ce.bits,oe){F.msg="invalid distances set",L.mode=30;break}if(L.mode=20,me===6)break e;case 20:L.mode=21;case 21:if(6<=Te&&258<=We){F.next_out=Ke,F.avail_out=We,F.next_in=he,F.avail_in=Te,L.hold=Q,L.bits=ge,c(F,Se),Ke=F.next_out,le=F.output,We=F.avail_out,he=F.next_in,se=F.input,Te=F.avail_in,Q=L.hold,ge=L.bits,L.mode===12&&(L.back=-1);break}for(L.back=0;mt=(P=L.lencode[Q&(1<>>16&255,tt=65535&P,!((et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>_t)])>>>16&255,tt=65535&P,!(_t+(et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>>=_t,ge-=_t,L.back+=_t}if(Q>>>=et,ge-=et,L.back+=et,L.length=tt,mt===0){L.mode=26;break}if(32&mt){L.back=-1,L.mode=12;break}if(64&mt){F.msg="invalid literal/length code",L.mode=30;break}L.extra=15&mt,L.mode=22;case 22:if(L.extra){for(A=L.extra;ge>>=L.extra,ge-=L.extra,L.back+=L.extra}L.was=L.length,L.mode=23;case 23:for(;mt=(P=L.distcode[Q&(1<>>16&255,tt=65535&P,!((et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>_t)])>>>16&255,tt=65535&P,!(_t+(et=P>>>24)<=ge);){if(Te===0)break e;Te--,Q+=se[he++]<>>=_t,ge-=_t,L.back+=_t}if(Q>>>=et,ge-=et,L.back+=et,64&mt){F.msg="invalid distance code",L.mode=30;break}L.offset=tt,L.extra=15&mt,L.mode=24;case 24:if(L.extra){for(A=L.extra;ge>>=L.extra,ge-=L.extra,L.back+=L.extra}if(L.offset>L.dmax){F.msg="invalid distance too far back",L.mode=30;break}L.mode=25;case 25:if(We===0)break e;if(ze=Se-We,L.offset>ze){if((ze=L.offset-ze)>L.whave&&L.sane){F.msg="invalid distance too far back",L.mode=30;break}Je=ze>L.wnext?(ze-=L.wnext,L.wsize-ze):L.wnext-ze,ze>L.length&&(ze=L.length),kt=L.window}else kt=le,Je=Ke-L.offset,ze=L.length;for(Wez?(te=Je[kt+w[me]],ge[je+w[me]]):(te=96,0),I=1<>Ke)+(O-=I)]=Z<<24|te<<16|ee|0,O!==0;);for(I=1<>=1;if(I!==0?(Q&=I-1,Q+=I):Q=0,me++,--Se[F]==0){if(F===se)break;F=g[d+w[me]]}if(le>>7)]}function je(P,G){P.pending_buf[P.pending++]=255&G,P.pending_buf[P.pending++]=G>>>8&255}function Se(P,G,ae){P.bi_valid>E-ae?(P.bi_buf|=G<>E-P.bi_valid,P.bi_valid+=ae-E):(P.bi_buf|=G<>>=1,ae<<=1,0<--G;);return ae>>>1}function kt(P,G,ae){var be,ue,Ne=new Array(w+1),Oe=0;for(be=1;be<=w;be++)Ne[be]=Oe=Oe+ae[be-1]<<1;for(ue=0;ue<=G;ue++){var Me=P[2*ue+1];Me!==0&&(P[2*ue]=Je(Ne[Me]++,Me))}}function et(P){var G;for(G=0;G>1;1<=ae;ae--)_t(P,Ne,ae);for(ue=ke;ae=P.heap[1],P.heap[1]=P.heap[P.heap_len--],_t(P,Ne,1),be=P.heap[1],P.heap[--P.heap_max]=ae,P.heap[--P.heap_max]=be,Ne[2*ue]=Ne[2*ae]+Ne[2*be],P.depth[ue]=(P.depth[ae]>=P.depth[be]?P.depth[ae]:P.depth[be])+1,Ne[2*ae+1]=Ne[2*be+1]=ue,P.heap[1]=ue++,_t(P,Ne,1),2<=P.heap_len;);P.heap[--P.heap_max]=P.heap[1],function(De,Ct){var Ft,ft,Sn,xt,Hr,On,Mi=Ct.dyn_tree,cr=Ct.max_code,$t=Ct.stat_desc.static_tree,li=Ct.stat_desc.has_stree,pn=Ct.stat_desc.extra_bits,ws=Ct.stat_desc.extra_base,Dt=Ct.stat_desc.max_length,$n=0;for(xt=0;xt<=w;xt++)De.bl_count[xt]=0;for(Mi[2*De.heap[De.heap_max]+1]=0,Ft=De.heap_max+1;Ft>=7;ue>>=1)if(1&Pe&&Me.dyn_ltree[2*ke]!==0)return o;if(Me.dyn_ltree[18]!==0||Me.dyn_ltree[20]!==0||Me.dyn_ltree[26]!==0)return u;for(ke=32;ke>>3,(Ne=P.static_len+3+7>>>3)<=ue&&(ue=Ne)):ue=Ne=ae+5,ae+4<=ue&&G!==-1?A(P,G,ae,be):P.strategy===4||Ne===ue?(Se(P,2+(be?1:0),3),yt(P,ve,F)):(Se(P,4+(be?1:0),3),function(Me,ke,Pe,De){var Ct;for(Se(Me,ke-257,5),Se(Me,Pe-1,5),Se(Me,De-4,4),Ct=0;Ct>>8&255,P.pending_buf[P.d_buf+2*P.last_lit+1]=255&G,P.pending_buf[P.l_buf+P.last_lit]=255&ae,P.last_lit++,G===0?P.dyn_ltree[2*ae]++:(P.matches++,G--,P.dyn_ltree[2*(L[ae]+g+1)]++,P.dyn_dtree[2*ge(G)]++),P.last_lit===P.lit_bufsize-1},i._tr_align=function(P){Se(P,2,3),ze(P,O,ve),function(G){G.bi_valid===16?(je(G,G.bi_buf),G.bi_buf=0,G.bi_valid=0):8<=G.bi_valid&&(G.pending_buf[G.pending++]=255&G.bi_buf,G.bi_buf>>=8,G.bi_valid-=8)}(P)}},{"../utils/common":41}],53:[function(e,n,i){"use strict";n.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,n,i){(function(r){(function(o,u){"use strict";if(!o.setImmediate){var c,f,p,g,d=1,v={},y=!1,S=o.document,w=Object.getPrototypeOf&&Object.getPrototypeOf(o);w=w&&w.setTimeout?w:o,c={}.toString.call(o.process)==="[object process]"?function(H){process.nextTick(function(){I(H)})}:function(){if(o.postMessage&&!o.importScripts){var H=!0,X=o.onmessage;return o.onmessage=function(){H=!1},o.postMessage("","*"),o.onmessage=X,H}}()?(g="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",O,!1):o.attachEvent("onmessage",O),function(H){o.postMessage(g+H,"*")}):o.MessageChannel?((p=new MessageChannel).port1.onmessage=function(H){I(H.data)},function(H){p.port2.postMessage(H)}):S&&"onreadystatechange"in S.createElement("script")?(f=S.documentElement,function(H){var X=S.createElement("script");X.onreadystatechange=function(){I(H),X.onreadystatechange=null,f.removeChild(X),X=null},f.appendChild(X)}):function(H){setTimeout(I,0,H)},w.setImmediate=function(H){typeof H!="function"&&(H=new Function(""+H));for(var X=new Array(arguments.length-1),re=0;re"u"?r===void 0?this:r:self)}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})});var Zy=Qe((Yy,Xy)=>{(function(e,n){typeof Yy=="object"&&typeof Xy<"u"?Xy.exports=n():typeof define=="function"&&define.amd?define(n):e.proj4=n()})(Yy,function(){"use strict";var e=function(_){_("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),_("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),_("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var x=1;x<=60;++x)_("EPSG:"+(32600+x),"+proj=utm +zone="+x+" +datum=WGS84 +units=m"),_("EPSG:"+(32700+x),"+proj=utm +zone="+x+" +south +datum=WGS84 +units=m");_.WGS84=_["EPSG:4326"],_["EPSG:3785"]=_["EPSG:3857"],_.GOOGLE=_["EPSG:3857"],_["EPSG:900913"]=_["EPSG:3857"],_["EPSG:102113"]=_["EPSG:3857"]},n=1,i=2,r=3,o=4,u=5,c=6378137,f=6356752314e-3,p=.0066943799901413165,g=484813681109536e-20,d=Math.PI/2,v=.16666666666666666,y=.04722222222222222,S=.022156084656084655,w=1e-10,E=.017453292519943295,I=57.29577951308232,O=Math.PI/4,H=Math.PI*2,X=3.14159265359,re={};re.greenwich=0,re.lisbon=-9.131906111111,re.paris=2.337229166667,re.bogota=-74.080916666667,re.madrid=-3.687938888889,re.rome=12.452333333333,re.bern=7.439583333333,re.jakarta=106.807719444444,re.ferro=-17.666666666667,re.brussels=4.367975,re.stockholm=18.058277777778,re.athens=23.7163375,re.oslo=10.722916666667;var z={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.01},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}},Z=/[\s_\-\/\(\)]/g;function te(_,x){if(_[x])return _[x];for(var C=Object.keys(_),R=x.toLowerCase().replace(Z,""),T=-1,D,B;++T=this.text.length)return;_=this.text[this.place++]}switch(this.state){case ve:return this.neutral(_);case F:return this.keyword(_);case L:return this.quoted(_);case se:return this.afterquote(_);case me:return this.number(_);case le:return}},ge.prototype.afterquote=function(_){if(_==='"'){this.word+='"',this.state=L;return}if(We.test(_)){this.word=this.word.trim(),this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in afterquote yet, index '+this.place)},ge.prototype.afterItem=function(_){if(_===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=ve;return}if(_==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=ve,this.currentObject=this.stack.pop(),this.currentObject||(this.state=le);return}},ge.prototype.number=function(_){if(Q.test(_)){this.word+=_;return}if(We.test(_)){this.word=parseFloat(this.word),this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in number yet, index '+this.place)},ge.prototype.quoted=function(_){if(_==='"'){this.state=se;return}this.word+=_},ge.prototype.keyword=function(_){if(Te.test(_)){this.word+=_;return}if(_==="["){var x=[];x.push(this.word),this.level++,this.root===null?this.root=x:this.currentObject.push(x),this.stack.push(this.currentObject),this.currentObject=x,this.state=ve;return}if(We.test(_)){this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in keyword yet, index '+this.place)},ge.prototype.neutral=function(_){if(Ke.test(_)){this.word=_,this.state=F;return}if(_==='"'){this.word="",this.state=L;return}if(Q.test(_)){this.word=_,this.state=me;return}if(We.test(_)){this.afterItem(_);return}throw new Error(`havn't handled "`+_+'" in neutral yet, index '+this.place)},ge.prototype.output=function(){for(;this.place0?90:-90),_.lat_ts=_.lat1):!_.lat_ts&&_.lat0&&_.projName==="Polar_Stereographic"&&(_.lat_ts=_.lat0,_.lat0=mt(_.lat0>0?90:-90))}var yt=function(_){var x=je(_),C=x[0],R={};return ze(x,R),tt(R),R[C]};function nt(_){var x=this;if(arguments.length===2){var C=arguments[1];typeof C=="string"?C.charAt(0)==="+"?nt[_]=ee(arguments[1]):nt[_]=yt(arguments[1]):nt[_]=C}else if(arguments.length===1){if(Array.isArray(_))return _.map(function(R){Array.isArray(R)?nt.apply(x,R):nt(R)});if(typeof _=="string"){if(_ in nt)return nt[_]}else"EPSG"in _?nt["EPSG:"+_.EPSG]=_:"ESRI"in _?nt["ESRI:"+_.ESRI]=_:"IAU2000"in _?nt["IAU2000:"+_.IAU2000]=_:console.log(_);return}}e(nt);function N(_){return typeof _=="string"}function oe(_){return _ in nt}var Ce=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function A(_){return Ce.some(function(x){return _.indexOf(x)>-1})}var P=["3857","900913","3785","102113"];function G(_){var x=te(_,"authority");if(x){var C=te(x,"epsg");return C&&P.indexOf(C)>-1}}function ae(_){var x=te(_,"extension");if(x)return te(x,"proj4")}function be(_){return _[0]==="+"}function ue(_){if(N(_)){if(oe(_))return nt[_];if(A(_)){var x=yt(_);if(G(x))return nt["EPSG:3857"];var C=ae(x);return C?ee(C):x}if(be(_))return ee(_)}else return _}var Ne=function(_,x){_=_||{};var C,R;if(!x)return _;for(R in x)C=x[R],C!==void 0&&(_[R]=C);return _},Oe=function(_,x,C){var R=_*x;return C/Math.sqrt(1-R*R)},Me=function(_){return _<0?-1:1},ke=function(_){return Math.abs(_)<=X?_:_-Me(_)*H},Pe=function(_,x,C){var R=_*C,T=.5*_;return R=Math.pow((1-R)/(1+R),T),Math.tan(.5*(d-x))/R},De=function(_,x){for(var C=.5*_,R,T,D=d-2*Math.atan(x),B=0;B<=15;B++)if(R=_*Math.sin(D),T=d-2*Math.atan(x*Math.pow((1-R)/(1+R),C))-D,D+=T,Math.abs(T)<=1e-10)return D;return-9999};function Ct(){var _=this.b/this.a;this.es=1-_*_,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=Oe(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function Ft(_){var x=_.x,C=_.y;if(C*I>90&&C*I<-90&&x*I>180&&x*I<-180)return null;var R,T;if(Math.abs(Math.abs(C)-d)<=w)return null;if(this.sphere)R=this.x0+this.a*this.k0*ke(x-this.long0),T=this.y0+this.a*this.k0*Math.log(Math.tan(O+.5*C));else{var D=Math.sin(C),B=Pe(this.e,C,D);R=this.x0+this.a*this.k0*ke(x-this.long0),T=this.y0-this.a*this.k0*Math.log(B)}return _.x=R,_.y=T,_}function ft(_){var x=_.x-this.x0,C=_.y-this.y0,R,T;if(this.sphere)T=d-2*Math.atan(Math.exp(-C/(this.a*this.k0)));else{var D=Math.exp(-C/(this.a*this.k0));if(T=De(this.e,D),T===-9999)return null}return R=ke(this.long0+x/(this.a*this.k0)),_.x=R,_.y=T,_}var Sn=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],xt={init:Ct,forward:Ft,inverse:ft,names:Sn};function Hr(){}function On(_){return _}var Mi=["longlat","identity"],cr={init:Hr,forward:On,inverse:On,names:Mi},$t=[xt,cr],li={},pn=[];function ws(_,x){var C=pn.length;return _.names?(pn[C]=_,_.names.forEach(function(R){li[R.toLowerCase()]=C}),this):(console.log(x),!0)}function Dt(_){if(!_)return!1;var x=_.toLowerCase();if(typeof li[x]<"u"&&pn[li[x]])return pn[li[x]]}function $n(){$t.forEach(ws)}var Bt={start:$n,add:ws,get:Dt},pt={};pt.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},pt.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},pt.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},pt.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},pt.airy={a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},pt.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},pt.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},pt.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},pt.andrae={a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},pt.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},pt.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},pt.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},pt.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},pt.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},pt.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},pt.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},pt.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},pt.CPM={a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},pt.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},pt.engelis={a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},pt.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},pt.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},pt.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},pt.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},pt.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},pt.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},pt.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},pt.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},pt.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},pt.hough={a:6378270,rf:297,ellipseName:"Hough"},pt.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},pt.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},pt.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},pt.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},pt.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},pt.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},pt.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},pt.SEasia={a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},pt.walbeck={a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},pt.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},pt.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},pt.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var jt=pt.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};pt.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function gl(_,x,C,R){var T=_*_,D=x*x,B=(T-D)/T,j=0;R?(_*=1-B*(v+B*(y+B*S)),T=_*_,B=0):j=Math.sqrt(B);var ne=(T-D)/D;return{es:B,e:j,ep2:ne}}function Dd(_,x,C,R,T){if(!_){var D=te(pt,R);D||(D=jt),_=D.a,x=D.b,C=D.rf}return C&&!x&&(x=(1-1/C)*_),(C===0||Math.abs(_-x)3&&(j.datum_params[3]!==0||j.datum_params[4]!==0||j.datum_params[5]!==0||j.datum_params[6]!==0)&&(j.datum_type=i,j.datum_params[3]*=g,j.datum_params[4]*=g,j.datum_params[5]*=g,j.datum_params[6]=j.datum_params[6]/1e6+1)),B&&(j.datum_type=r,j.grids=B),j.a=C,j.b=R,j.es=T,j.ep2=D,j}var xo={};function Tr(_,x){var C=new DataView(x),R=qd(C),T=zd(C,R),D=kc(C,T,R),B={header:T,subgrids:D};return xo[_]=B,B}function Yr(_){if(_===void 0)return null;var x=_.split(",");return x.map(Ic)}function Ic(_){if(_.length===0)return null;var x=_[0]==="@";return x&&(_=_.slice(1)),_==="null"?{name:"null",mandatory:!x,grid:null,isNull:!0}:{name:_,mandatory:!x,grid:xo[_]||null,isNull:!1}}function Ai(_){return _/3600*Math.PI/180}function qd(_){var x=_.getInt32(8,!1);return x===11?!1:(x=_.getInt32(8,!0),x!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function zd(_,x){return{nFields:_.getInt32(8,x),nSubgridFields:_.getInt32(24,x),nSubgrids:_.getInt32(40,x),shiftType:_l(_,56,64).trim(),fromSemiMajorAxis:_.getFloat64(120,x),fromSemiMinorAxis:_.getFloat64(136,x),toSemiMajorAxis:_.getFloat64(152,x),toSemiMinorAxis:_.getFloat64(168,x)}}function _l(_,x,C){return String.fromCharCode.apply(null,new Uint8Array(_.buffer.slice(x,C)))}function kc(_,x,C){for(var R=176,T=[],D=0;D5e-11?!1:_.datum_type===n?_.datum_params[0]===x.datum_params[0]&&_.datum_params[1]===x.datum_params[1]&&_.datum_params[2]===x.datum_params[2]:_.datum_type===i?_.datum_params[0]===x.datum_params[0]&&_.datum_params[1]===x.datum_params[1]&&_.datum_params[2]===x.datum_params[2]&&_.datum_params[3]===x.datum_params[3]&&_.datum_params[4]===x.datum_params[4]&&_.datum_params[5]===x.datum_params[5]&&_.datum_params[6]===x.datum_params[6]:!0}function En(_,x,C){var R=_.x,T=_.y,D=_.z?_.z:0,B,j,ne,ce;if(T<-d&&T>-1.001*d)T=-d;else if(T>d&&T<1.001*d)T=d;else{if(T<-d)return{x:-1/0,y:-1/0,z:_.z};if(T>d)return{x:1/0,y:1/0,z:_.z}}return R>Math.PI&&(R-=2*Math.PI),j=Math.sin(T),ce=Math.cos(T),ne=j*j,B=C/Math.sqrt(1-x*ne),{x:(B+D)*ce*Math.cos(R),y:(B+D)*ce*Math.sin(R),z:(B*(1-x)+D)*j}}function Kt(_,x,C,R){var T=1e-12,D=T*T,B=30,j,ne,ce,Ie,_e,Re,Be,$e,Xe,Ze,gt,St,It,Jt=_.x,Xt=_.y,Zt=_.z?_.z:0,ti,an,ir;if(j=Math.sqrt(Jt*Jt+Xt*Xt),ne=Math.sqrt(Jt*Jt+Xt*Xt+Zt*Zt),j/CD&&ItR.y||Be>R.x||Zej&&Math.abs(ne.y)>j);if(B<0)return console.log("Inverse grid shift iterator failed to converge."),R;R.x=ke(D.x+C.ll[0]),R.y=D.y+C.ll[1]}else isNaN(D.x)||(R.x=_.x+D.x,R.y=_.y+D.y);return R}function Ei(_,x){var C={x:_.x/x.del[0],y:_.y/x.del[1]},R={x:Math.floor(C.x),y:Math.floor(C.y)},T={x:C.x-1*R.x,y:C.y-1*R.y},D={x:Number.NaN,y:Number.NaN},B;if(R.x<0||R.x>=x.lim[0]||R.y<0||R.y>=x.lim[1])return D;B=R.y*x.lim[0]+R.x;var j={x:x.cvs[B][0],y:x.cvs[B][1]};B++;var ne={x:x.cvs[B][0],y:x.cvs[B][1]};B+=x.lim[0];var ce={x:x.cvs[B][0],y:x.cvs[B][1]};B--;var Ie={x:x.cvs[B][0],y:x.cvs[B][1]},_e=T.x*T.y,Re=T.x*(1-T.y),Be=(1-T.x)*(1-T.y),$e=(1-T.x)*T.y;return D.x=Be*j.x+Re*ne.x+$e*Ie.x+_e*ce.x,D.y=Be*j.y+Re*ne.y+$e*Ie.y+_e*ce.y,D}var rn=function(_,x,C){var R=C.x,T=C.y,D=C.z||0,B,j,ne,ce={};for(ne=0;ne<3;ne++)if(!(x&&ne===2&&C.z===void 0))switch(ne===0?(B=R,"ew".indexOf(_.axis[ne])!==-1?j="x":j="y"):ne===1?(B=T,"ns".indexOf(_.axis[ne])!==-1?j="y":j="x"):(B=D,j="z"),_.axis[ne]){case"e":ce[j]=B;break;case"w":ce[j]=-B;break;case"n":ce[j]=B;break;case"s":ce[j]=-B;break;case"u":C[j]!==void 0&&(ce.z=B);break;case"d":C[j]!==void 0&&(ce.z=-B);break;default:return null}return ce},xa=function(_){var x={x:_[0],y:_[1]};return _.length>2&&(x.z=_[2]),_.length>3&&(x.m=_[3]),x},qt=function(_){Ss(_.x),Ss(_.y)};function Ss(_){if(typeof Number.isFinite=="function"){if(Number.isFinite(_))return;throw new TypeError("coordinates must be finite numbers")}if(typeof _!="number"||_!==_||!isFinite(_))throw new TypeError("coordinates must be finite numbers")}function wa(_,x){return(_.datum.datum_type===n||_.datum.datum_type===i||_.datum.datum_type===r)&&x.datumCode!=="WGS84"||(x.datum.datum_type===n||x.datum.datum_type===i||x.datum.datum_type===r)&&_.datumCode!=="WGS84"}function Xr(_,x,C,R){var T;Array.isArray(C)?C=xa(C):C={x:C.x,y:C.y,z:C.z,m:C.m};var D=C.z!==void 0;if(qt(C),_.datum&&x.datum&&wa(_,x)&&(T=new Yi("WGS84"),C=Xr(_,T,C,R),_=T),R&&_.axis!=="enu"&&(C=rn(_,!1,C)),_.projName==="longlat")C={x:C.x*E,y:C.y*E,z:C.z||0};else if(_.to_meter&&(C={x:C.x*_.to_meter,y:C.y*_.to_meter,z:C.z||0}),C=_.inverse(C),!C)return;if(_.from_greenwich&&(C.x+=_.from_greenwich),C=Ut(_.datum,x.datum,C),!!C)return x.from_greenwich&&(C={x:C.x-x.from_greenwich,y:C.y,z:C.z||0}),x.projName==="longlat"?C={x:C.x*I,y:C.y*I,z:C.z||0}:(C=x.forward(C),x.to_meter&&(C={x:C.x/x.to_meter,y:C.y/x.to_meter,z:C.z||0})),R&&x.axis!=="enu"?rn(x,!0,C):(C&&!D&&delete C.z,C)}var Es=Yi("WGS84");function Cs(_,x,C,R){var T,D,B;return Array.isArray(C)?(T=Xr(_,x,C,R)||{x:NaN,y:NaN},C.length>2?typeof _.name<"u"&&_.name==="geocent"||typeof x.name<"u"&&x.name==="geocent"?typeof T.z=="number"?[T.x,T.y,T.z].concat(C.slice(3)):[T.x,T.y,C[2]].concat(C.slice(3)):[T.x,T.y].concat(C.slice(2)):[T.x,T.y]):(D=Xr(_,x,C,R),B=Object.keys(C),B.length===2||B.forEach(function(j){if(typeof _.name<"u"&&_.name==="geocent"||typeof x.name<"u"&&x.name==="geocent"){if(j==="x"||j==="y"||j==="z")return}else if(j==="x"||j==="y")return;D[j]=C[j]}),D)}function Ci(_){return _ instanceof Yi?_:_.oProj?_.oProj:Yi(_)}function Y(_,x,C){_=Ci(_);var R=!1,T;return typeof x>"u"?(x=_,_=Es,R=!0):(typeof x.x<"u"||Array.isArray(x))&&(C=x,x=_,_=Es,R=!0),x=Ci(x),C?Cs(_,x,C):(T={forward:function(D,B){return Cs(_,x,D,B)},inverse:function(D,B){return Cs(x,_,D,B)}},R&&(T.oProj=x),T)}var de=6,ie="AJSAJS",xe="AFAFAF",we=65,fe=73,Le=79,Fe=86,Ge=90,Ve={forward:Ye,inverse:at,toPoint:wt};function Ye(_,x){return x=x||5,mi(Pn({lat:_[1],lon:_[0]}),x)}function at(_){var x=gn($d(_.toUpperCase()));return x.lat&&x.lon?[x.lon,x.lat,x.lon,x.lat]:[x.left,x.bottom,x.right,x.top]}function wt(_){var x=gn($d(_.toUpperCase()));return x.lat&&x.lon?[x.lon,x.lat]:[(x.left+x.right)/2,(x.top+x.bottom)/2]}function Ot(_){return _*(Math.PI/180)}function Vt(_){return 180*(_/Math.PI)}function Pn(_){var x=_.lat,C=_.lon,R=6378137,T=.00669438,D=.9996,B,j,ne,ce,Ie,_e,Re,Be=Ot(x),$e=Ot(C),Xe,Ze;Ze=Math.floor((C+180)/6)+1,C===180&&(Ze=60),x>=56&&x<64&&C>=3&&C<12&&(Ze=32),x>=72&&x<84&&(C>=0&&C<9?Ze=31:C>=9&&C<21?Ze=33:C>=21&&C<33?Ze=35:C>=33&&C<42&&(Ze=37)),B=(Ze-1)*6-180+3,Xe=Ot(B),j=T/(1-T),ne=R/Math.sqrt(1-T*Math.sin(Be)*Math.sin(Be)),ce=Math.tan(Be)*Math.tan(Be),Ie=j*Math.cos(Be)*Math.cos(Be),_e=Math.cos(Be)*($e-Xe),Re=R*((1-T/4-3*T*T/64-5*T*T*T/256)*Be-(3*T/8+3*T*T/32+45*T*T*T/1024)*Math.sin(2*Be)+(15*T*T/256+45*T*T*T/1024)*Math.sin(4*Be)-35*T*T*T/3072*Math.sin(6*Be));var gt=D*ne*(_e+(1-ce+Ie)*_e*_e*_e/6+(5-18*ce+ce*ce+72*Ie-58*j)*_e*_e*_e*_e*_e/120)+5e5,St=D*(Re+ne*Math.tan(Be)*(_e*_e/2+(5-ce+9*Ie+4*Ie*Ie)*_e*_e*_e*_e/24+(61-58*ce+ce*ce+600*Ie-330*j)*_e*_e*_e*_e*_e*_e/720));return x<0&&(St+=1e7),{northing:Math.round(St),easting:Math.round(gt),zoneNumber:Ze,zoneLetter:mn(x)}}function gn(_){var x=_.northing,C=_.easting,R=_.zoneLetter,T=_.zoneNumber;if(T<0||T>60)return null;var D=.9996,B=6378137,j=.00669438,ne,ce=(1-Math.sqrt(1-j))/(1+Math.sqrt(1-j)),Ie,_e,Re,Be,$e,Xe,Ze,gt,St,It=C-5e5,Jt=x;R<"N"&&(Jt-=1e7),Ze=(T-1)*6-180+3,ne=j/(1-j),Xe=Jt/D,gt=Xe/(B*(1-j/4-3*j*j/64-5*j*j*j/256)),St=gt+(3*ce/2-27*ce*ce*ce/32)*Math.sin(2*gt)+(21*ce*ce/16-55*ce*ce*ce*ce/32)*Math.sin(4*gt)+151*ce*ce*ce/96*Math.sin(6*gt),Ie=B/Math.sqrt(1-j*Math.sin(St)*Math.sin(St)),_e=Math.tan(St)*Math.tan(St),Re=ne*Math.cos(St)*Math.cos(St),Be=B*(1-j)/Math.pow(1-j*Math.sin(St)*Math.sin(St),1.5),$e=It/(Ie*D);var Xt=St-Ie*Math.tan(St)/Be*($e*$e/2-(5+3*_e+10*Re-4*Re*Re-9*ne)*$e*$e*$e*$e/24+(61+90*_e+298*Re+45*_e*_e-252*ne-3*Re*Re)*$e*$e*$e*$e*$e*$e/720);Xt=Vt(Xt);var Zt=($e-(1+2*_e+Re)*$e*$e*$e/6+(5-2*Re+28*_e-3*Re*Re+8*ne+24*_e*_e)*$e*$e*$e*$e*$e/120)/Math.cos(St);Zt=Ze+Vt(Zt);var ti;if(_.accuracy){var an=gn({northing:_.northing+_.accuracy,easting:_.easting+_.accuracy,zoneLetter:_.zoneLetter,zoneNumber:_.zoneNumber});ti={top:an.lat,right:an.lon,bottom:Xt,left:Zt}}else ti={lat:Xt,lon:Zt};return ti}function mn(_){var x="Z";return 84>=_&&_>=72?x="X":72>_&&_>=64?x="W":64>_&&_>=56?x="V":56>_&&_>=48?x="U":48>_&&_>=40?x="T":40>_&&_>=32?x="S":32>_&&_>=24?x="R":24>_&&_>=16?x="Q":16>_&&_>=8?x="P":8>_&&_>=0?x="N":0>_&&_>=-8?x="M":-8>_&&_>=-16?x="L":-16>_&&_>=-24?x="K":-24>_&&_>=-32?x="J":-32>_&&_>=-40?x="H":-40>_&&_>=-48?x="G":-48>_&&_>=-56?x="F":-56>_&&_>=-64?x="E":-64>_&&_>=-72?x="D":-72>_&&_>=-80&&(x="C"),x}function mi(_,x){var C="00000"+_.easting,R="00000"+_.northing;return _.zoneNumber+_.zoneLetter+ur(_.easting,_.northing,_.zoneNumber)+C.substr(C.length-5,x)+R.substr(R.length-5,x)}function ur(_,x,C){var R=So(C),T=Math.floor(_/1e5),D=Math.floor(x/1e5)%20;return Us(T,D,R)}function So(_){var x=_%de;return x===0&&(x=de),x}function Us(_,x,C){var R=C-1,T=ie.charCodeAt(R),D=xe.charCodeAt(R),B=T+_-1,j=D+x,ne=!1;B>Ge&&(B=B-Ge+we-1,ne=!0),(B===fe||Tfe||(B>fe||TLe||(B>Le||TGe&&(B=B-Ge+we-1),j>Fe?(j=j-Fe+we-1,ne=!0):ne=!1,(j===fe||Dfe||(j>fe||DLe||(j>Le||DFe&&(j=j-Fe+we-1);var ce=String.fromCharCode(B)+String.fromCharCode(j);return ce}function $d(_){if(_&&_.length===0)throw"MGRSPoint coverting from nothing";for(var x=_.length,C=null,R="",T,D=0;!/[A-Z]/.test(T=_.charAt(D));){if(D>=2)throw"MGRSPoint bad conversion from: "+_;R+=T,D++}var B=parseInt(R,10);if(D===0||D+3>x)throw"MGRSPoint bad conversion from: "+_;var j=_.charAt(D++);if(j<="A"||j==="B"||j==="Y"||j>="Z"||j==="I"||j==="O")throw"MGRSPoint zone letter "+j+" not handled: "+_;C=_.substring(D,D+=2);for(var ne=So(B),ce=Eo(C.charAt(0),ne),Ie=yl(C.charAt(1),ne);Ie0&&(Xe=1e5/Math.pow(10,Re),Ze=_.substring(D,D+Re),Be=parseFloat(Ze)*Xe,gt=_.substring(D+Re),$e=parseFloat(gt)*Xe),St=Be+ce,It=$e+Ie,{easting:St,northing:It,zoneLetter:j,zoneNumber:B,accuracy:Xe}}function Eo(_,x){for(var C=ie.charCodeAt(x-1),R=1e5,T=!1;C!==_.charCodeAt(0);){if(C++,C===fe&&C++,C===Le&&C++,C>Ge){if(T)throw"Bad character: "+_;C=we,T=!0}R+=1e5}return R}function yl(_,x){if(_>"V")throw"MGRSPoint given invalid Northing "+_;for(var C=xe.charCodeAt(x-1),R=0,T=!1;C!==_.charCodeAt(0);){if(C++,C===fe&&C++,C===Le&&C++,C>Fe){if(T)throw"Bad character: "+_;C=we,T=!0}R+=1e5}return R}function ks(_){var x;switch(_){case"C":x=11e5;break;case"D":x=2e6;break;case"E":x=28e5;break;case"F":x=37e5;break;case"G":x=46e5;break;case"H":x=55e5;break;case"J":x=64e5;break;case"K":x=73e5;break;case"L":x=82e5;break;case"M":x=91e5;break;case"N":x=0;break;case"P":x=8e5;break;case"Q":x=17e5;break;case"R":x=26e5;break;case"S":x=35e5;break;case"T":x=44e5;break;case"U":x=53e5;break;case"V":x=62e5;break;case"W":x=7e6;break;case"X":x=79e5;break;default:x=-1}if(x>=0)return x;throw"Invalid zone letter: "+_}function Ws(_,x,C){if(!(this instanceof Ws))return new Ws(_,x,C);if(Array.isArray(_))this.x=_[0],this.y=_[1],this.z=_[2]||0;else if(typeof _=="object")this.x=_.x,this.y=_.y,this.z=_.z||0;else if(typeof _=="string"&&typeof x>"u"){var R=_.split(",");this.x=parseFloat(R[0],10),this.y=parseFloat(R[1],10),this.z=parseFloat(R[2],10)||0}else this.x=_,this.y=x,this.z=C||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Ws.fromMGRS=function(_){return new Ws(wt(_))},Ws.prototype.toMGRS=function(_){return Ye([this.x,this.y],_)};var Bd=1,Ud=.25,vl=.046875,Co=.01953125,Ls=.01068115234375,Nc=.75,Rc=.46875,Xi=.013020833333333334,ay=.007120768229166667,Sa=.3645833333333333,Zi=.005696614583333333,ly=.3076171875,bl=function(_){var x=[];x[0]=Bd-_*(Ud+_*(vl+_*(Co+_*Ls))),x[1]=_*(Nc-_*(vl+_*(Co+_*Ls)));var C=_*_;return x[2]=C*(Rc-_*(Xi+_*ay)),C*=_,x[3]=C*(Sa-_*Zi),x[4]=C*_*ly,x},Tt=function(_,x,C,R){return C*=x,x*=x,R[0]*_-C*(R[1]+x*(R[2]+x*(R[3]+x*R[4])))},dr=20,xl=function(_,x,C){for(var R=1/(1-x),T=_,D=dr;D;--D){var B=Math.sin(T),j=1-x*B*B;if(j=(Tt(T,B,Math.cos(T),C)-_)*(j*Math.sqrt(j))*R,T-=j,Math.abs(j)w?Math.tan(C):0,Xe=Math.pow($e,2),Ze=Math.pow(Xe,2);T=1-this.es*Math.pow(j,2),Ie=Ie/Math.sqrt(T);var gt=Tt(C,j,ne,this.en);D=this.a*(this.k0*Ie*(1+_e/6*(1-Xe+Re+_e/20*(5-18*Xe+Ze+14*Re-58*Xe*Re+_e/42*(61+179*Ze-Ze*Xe-479*Xe)))))+this.x0,B=this.a*(this.k0*(gt-this.ml0+j*R*Ie/2*(1+_e/12*(5-Xe+9*Re+4*Be+_e/30*(61+Ze-58*Xe+270*Re-330*Xe*Re+_e/56*(1385+543*Ze-Ze*Xe-3111*Xe))))))+this.y0}else{var ce=ne*Math.sin(R);if(Math.abs(Math.abs(ce)-1)=1){if(ce-1>w)return 93;B=0}else B=Math.acos(B);C<0&&(B=-B),B=this.a*this.k0*(B-this.lat0)+this.y0}return _.x=D,_.y=B,_}function tn(_){var x,C,R,T,D=(_.x-this.x0)*(1/this.a),B=(_.y-this.y0)*(1/this.a);if(this.es)if(x=this.ml0+B/this.k0,C=xl(x,this.es,this.en),Math.abs(C)w?Math.tan(C):0,$e=this.ep2*Math.pow(Re,2),Xe=Math.pow($e,2),Ze=Math.pow(Be,2),gt=Math.pow(Ze,2);x=1-this.es*Math.pow(_e,2);var St=D*Math.sqrt(x)/this.k0,It=Math.pow(St,2);x=x*Be,R=C-x*It/(1-this.es)*.5*(1-It/12*(5+3*Ze-9*$e*Ze+$e-4*Xe-It/30*(61+90*Ze-252*$e*Ze+45*gt+46*$e-It/56*(1385+3633*Ze+4095*gt+1574*gt*Ze)))),T=ke(this.long0+St*(1-It/6*(1+2*Ze+$e-It/20*(5+28*Ze+24*gt+8*$e*Ze+6*$e-It/42*(61+662*Ze+1320*gt+720*gt*Ze))))/Re)}else R=d*Me(B),T=0;else{var j=Math.exp(D/this.k0),ne=.5*(j-1/j),ce=this.lat0+B/this.k0,Ie=Math.cos(ce);x=Math.sqrt((1-Math.pow(Ie,2))/(1+Math.pow(ne,2))),R=Math.asin(x),B<0&&(R=-R),ne===0&&Ie===0?T=0:T=ke(Math.atan2(ne,Ie)+this.long0)}return _.x=T,_.y=R,_}var Kr=["Fast_Transverse_Mercator","Fast Transverse Mercator"],Ea={init:cy,forward:Cp,inverse:tn,names:Kr},Vd=function(_){var x=Math.exp(_);return x=(x-1/x)/2,x},_n=function(_,x){_=Math.abs(_),x=Math.abs(x);var C=Math.max(_,x),R=Math.min(_,x)/(C||1);return C*Math.sqrt(1+Math.pow(R,2))},Wd=function(_){var x=1+_,C=x-1;return C===0?_:_*Math.log(x)/C},Mc=function(_){var x=Math.abs(_);return x=Wd(x*(1+x/(_n(1,x)+1))),_<0?-x:x},wl=function(_,x){for(var C=2*Math.cos(2*x),R=_.length-1,T=_[R],D=0,B;--R>=0;)B=-D+C*T+_[R],D=T,T=B;return x+B*Math.sin(2*x)},uy=function(_,x){for(var C=2*Math.cos(x),R=_.length-1,T=_[R],D=0,B;--R>=0;)B=-D+C*T+_[R],D=T,T=B;return Math.sin(x)*B},Qr=function(_){var x=Math.exp(_);return x=(x+1/x)/2,x},Ac=function(_,x,C){for(var R=Math.sin(x),T=Math.cos(x),D=Vd(C),B=Qr(C),j=2*T*B,ne=-2*R*D,ce=_.length-1,Ie=_[ce],_e=0,Re=0,Be=0,$e,Xe;--ce>=0;)$e=Re,Xe=_e,Re=Ie,_e=Be,Ie=-$e+j*Re-ne*_e+_[ce],Be=-Xe+ne*Re+j*_e;return j=R*B,ne=T*D,[j*Ie-ne*Be,j*Be+ne*Ie]};function Sl(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Ea.init.apply(this),this.forward=Ea.forward,this.inverse=Ea.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var _=this.es/(1+Math.sqrt(1-this.es)),x=_/(2-_),C=x;this.cgb[0]=x*(2+x*(-2/3+x*(-2+x*(116/45+x*(26/45+x*(-2854/675)))))),this.cbg[0]=x*(-2+x*(2/3+x*(4/3+x*(-82/45+x*(32/45+x*(4642/4725)))))),C=C*x,this.cgb[1]=C*(7/3+x*(-8/5+x*(-227/45+x*(2704/315+x*(2323/945))))),this.cbg[1]=C*(5/3+x*(-16/15+x*(-13/9+x*(904/315+x*(-1522/945))))),C=C*x,this.cgb[2]=C*(56/15+x*(-136/35+x*(-1262/105+x*(73814/2835)))),this.cbg[2]=C*(-26/15+x*(34/21+x*(8/5+x*(-12686/2835)))),C=C*x,this.cgb[3]=C*(4279/630+x*(-332/35+x*(-399572/14175))),this.cbg[3]=C*(1237/630+x*(-12/5+x*(-24832/14175))),C=C*x,this.cgb[4]=C*(4174/315+x*(-144838/6237)),this.cbg[4]=C*(-734/315+x*(109598/31185)),C=C*x,this.cgb[5]=C*(601676/22275),this.cbg[5]=C*(444337/155925),C=Math.pow(x,2),this.Qn=this.k0/(1+x)*(1+C*(1/4+C*(1/64+C/256))),this.utg[0]=x*(-.5+x*(2/3+x*(-37/96+x*(1/360+x*(81/512+x*(-96199/604800)))))),this.gtu[0]=x*(.5+x*(-2/3+x*(5/16+x*(41/180+x*(-127/288+x*(7891/37800)))))),this.utg[1]=C*(-1/48+x*(-1/15+x*(437/1440+x*(-46/105+x*(1118711/3870720))))),this.gtu[1]=C*(13/48+x*(-3/5+x*(557/1440+x*(281/630+x*(-1983433/1935360))))),C=C*x,this.utg[2]=C*(-17/480+x*(37/840+x*(209/4480+x*(-5569/90720)))),this.gtu[2]=C*(61/240+x*(-103/140+x*(15061/26880+x*(167603/181440)))),C=C*x,this.utg[3]=C*(-4397/161280+x*(11/504+x*(830251/7257600))),this.gtu[3]=C*(49561/161280+x*(-179/168+x*(6601661/7257600))),C=C*x,this.utg[4]=C*(-4583/161280+x*(108847/3991680)),this.gtu[4]=C*(34729/80640+x*(-3418889/1995840)),C=C*x,this.utg[5]=C*(-20648693/638668800),this.gtu[5]=C*(212378941/319334400);var R=wl(this.cbg,this.lat0);this.Zb=-this.Qn*(R+uy(this.gtu,2*R))}function Ki(_){var x=ke(_.x-this.long0),C=_.y;C=wl(this.cbg,C);var R=Math.sin(C),T=Math.cos(C),D=Math.sin(x),B=Math.cos(x);C=Math.atan2(R,B*T),x=Math.atan2(D*T,_n(R,T*B)),x=Mc(Math.tan(x));var j=Ac(this.gtu,2*C,2*x);C=C+j[0],x=x+j[1];var ne,ce;return Math.abs(x)<=2.623395162778?(ne=this.a*(this.Qn*x)+this.x0,ce=this.a*(this.Qn*C+this.Zb)+this.y0):(ne=1/0,ce=1/0),_.x=ne,_.y=ce,_}function El(_){var x=(_.x-this.x0)*(1/this.a),C=(_.y-this.y0)*(1/this.a);C=(C-this.Zb)/this.Qn,x=x/this.Qn;var R,T;if(Math.abs(x)<=2.623395162778){var D=Ac(this.utg,2*C,2*x);C=C+D[0],x=x+D[1],x=Math.atan(Vd(x));var B=Math.sin(C),j=Math.cos(C),ne=Math.sin(x),ce=Math.cos(x);C=Math.atan2(B*ce,_n(ne,ce*j)),x=Math.atan2(ne,ce*j),R=ke(x+this.long0),T=wl(this.cgb,C)}else R=1/0,T=1/0;return _.x=R,_.y=T,_}var Ip=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"],mi={init:Sl,forward:Ki,inverse:El,names:Ip},dy=function(_,x){if(_===void 0){if(_=Math.floor((ke(x)+Math.PI)*30/Math.PI)+1,_<0)return 0;if(_>60)return 60}return _},kp="etmerc";function Lp(){var _=dy(this.zone,this.long0);if(_===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(_)-183)*E,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,mi.init.apply(this),this.forward=mi.forward,this.inverse=mi.inverse}var hy=["Universal Transverse Mercator System","utm"],Tp={init:Lp,names:hy,dependsOn:kp},Ca=function(_,x){return Math.pow((1-_)/(1+_),x)},Np=20;function Oi(){var _=Math.sin(this.lat0),x=Math.cos(this.lat0);x*=x,this.rc=Math.sqrt(1-this.es)/(1-this.es*_*_),this.C=Math.sqrt(1+this.es*x*x/(1-this.es)),this.phic0=Math.asin(_/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+O)/(Math.pow(Math.tan(.5*this.lat0+O),this.C)*Ca(this.e*_,this.ratexp))}function Ln(_){var x=_.x,C=_.y;return _.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*C+O),this.C)*Ca(this.e*Math.sin(C),this.ratexp))-d,_.x=this.C*x,_}function _i(_){for(var x=1e-14,C=_.x/this.C,R=_.y,T=Math.pow(Math.tan(.5*R+O)/this.K,1/this.C),D=Np;D>0&&(R=2*Math.atan(T*Ca(this.e*Math.sin(_.y),-.5*this.e))-d,!(Math.abs(R-_.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=w&&Math.abs(Math.cos(this.lat_ts))>w&&(this.k0=.5*this.cons*Oe(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Pe(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=Oe(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function Io(_){var x=_.x,C=_.y,R=Math.sin(C),T=Math.cos(C),D,B,j,ne,ce,Ie,_e=ke(x-this.long0);return Math.abs(Math.abs(x-this.long0)-Math.PI)<=w&&Math.abs(C+this.lat0)<=w?(_.x=NaN,_.y=NaN,_):this.sphere?(D=2*this.k0/(1+this.sinlat0*R+this.coslat0*T*Math.cos(_e)),_.x=this.a*D*T*Math.sin(_e)+this.x0,_.y=this.a*D*(this.coslat0*R-this.sinlat0*T*Math.cos(_e))+this.y0,_):(B=2*Math.atan(this.ssfn_(C,R,this.e))-d,ne=Math.cos(B),j=Math.sin(B),Math.abs(this.coslat0)<=w?(ce=Pe(this.e,C*this.con,this.con*R),Ie=2*this.a*this.k0*ce/this.cons,_.x=this.x0+Ie*Math.sin(x-this.long0),_.y=this.y0-this.con*Ie*Math.cos(x-this.long0),_):(Math.abs(this.sinlat0)0?x=ke(this.long0+Math.atan2(_.x,-1*_.y)):x=ke(this.long0+Math.atan2(_.x,_.y)):x=ke(this.long0+Math.atan2(_.x*Math.sin(j),B*this.coslat0*Math.cos(j)-_.y*this.sinlat0*Math.sin(j))),_.x=x,_.y=C,_)}else if(Math.abs(this.coslat0)<=w){if(B<=w)return C=this.lat0,x=this.long0,_.x=x,_.y=C,_;_.x*=this.con,_.y*=this.con,R=B*this.cons/(2*this.a*this.k0),C=this.con*De(this.e,R),x=this.con*ke(this.con*this.long0+Math.atan2(_.x,-1*_.y))}else T=2*Math.atan(B*this.cosX0/(2*this.a*this.k0*this.ms1)),x=this.long0,B<=w?D=this.X0:(D=Math.asin(Math.cos(T)*this.sinX0+_.y*Math.sin(T)*this.cosX0/B),x=ke(this.long0+Math.atan2(_.x*Math.sin(T),B*this.cosX0*Math.cos(T)-_.y*this.sinX0*Math.sin(T)))),C=-1*De(this.e,Math.tan(.5*(d+D)));return _.x=x,_.y=C,_}var Ia=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)","Polar_Stereographic"],Yd={init:Dc,forward:Io,inverse:jc,names:Ia,ssfn_:Fc};function qc(){var _=this.lat0;this.lambda0=this.long0;var x=Math.sin(_),C=this.a,R=this.rf,T=1/R,D=2*T-Math.pow(T,2),B=this.e=Math.sqrt(D);this.R=this.k0*C*Math.sqrt(1-D)/(1-D*Math.pow(x,2)),this.alpha=Math.sqrt(1+D/(1-D)*Math.pow(Math.cos(_),4)),this.b0=Math.asin(x/this.alpha);var j=Math.log(Math.tan(Math.PI/4+this.b0/2)),ne=Math.log(Math.tan(Math.PI/4+_/2)),ce=Math.log((1+B*x)/(1-B*x));this.K=j-this.alpha*ne+this.alpha*B/2*ce}function zc(_){var x=Math.log(Math.tan(Math.PI/4-_.y/2)),C=this.e/2*Math.log((1+this.e*Math.sin(_.y))/(1-this.e*Math.sin(_.y))),R=-this.alpha*(x+C)+this.K,T=2*(Math.atan(Math.exp(R))-Math.PI/4),D=this.alpha*(_.x-this.lambda0),B=Math.atan(Math.sin(D)/(Math.sin(this.b0)*Math.tan(T)+Math.cos(this.b0)*Math.cos(D))),j=Math.asin(Math.cos(this.b0)*Math.sin(T)-Math.sin(this.b0)*Math.cos(T)*Math.cos(D));return _.y=this.R/2*Math.log((1+Math.sin(j))/(1-Math.sin(j)))+this.y0,_.x=this.R*B+this.x0,_}function Xd(_){for(var x=_.x-this.x0,C=_.y-this.y0,R=x/this.R,T=2*(Math.atan(Math.exp(C/this.R))-Math.PI/4),D=Math.asin(Math.cos(this.b0)*Math.sin(T)+Math.sin(this.b0)*Math.cos(T)*Math.cos(R)),B=Math.atan(Math.sin(R)/(Math.cos(this.b0)*Math.cos(R)-Math.sin(this.b0)*Math.tan(T))),j=this.lambda0+B/this.alpha,ne=0,ce=D,Ie=-1e3,_e=0;Math.abs(ce-Ie)>1e-7;){if(++_e>20)return;ne=1/this.alpha*(Math.log(Math.tan(Math.PI/4+D/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(ce))/2)),Ie=ce,ce=2*Math.atan(Math.exp(ne))-Math.PI/2}return _.x=j,_.y=ce,_}var Zd=["somerc"],Kd={init:qc,forward:zc,inverse:Xd,names:Zd},qe=1e-7;function Gc(_){var x=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],C=typeof _.PROJECTION=="object"?Object.keys(_.PROJECTION)[0]:_.PROJECTION;return"no_uoff"in _||"no_off"in _||x.indexOf(C)!==-1}function ko(){var _,x,C,R,T,D,B,j,ne,ce,Ie=0,_e,Re=0,Be=0,$e=0,Xe=0,Ze=0,gt=0;this.no_off=Gc(this),this.no_rot="no_rot"in this;var St=!1;"alpha"in this&&(St=!0);var It=!1;if("rectified_grid_angle"in this&&(It=!0),St&&(gt=this.alpha),It&&(Ie=this.rectified_grid_angle*E),St||It)Re=this.longc;else if(Be=this.long1,Xe=this.lat1,$e=this.long2,Ze=this.lat2,Math.abs(Xe-Ze)<=qe||(_=Math.abs(Xe))<=qe||Math.abs(_-d)<=qe||Math.abs(Math.abs(this.lat0)-d)<=qe||Math.abs(Math.abs(Ze)-d)<=qe)throw new Error;var Jt=1-this.es;x=Math.sqrt(Jt),Math.abs(this.lat0)>w?(j=Math.sin(this.lat0),C=Math.cos(this.lat0),_=1-this.es*j*j,this.B=C*C,this.B=Math.sqrt(1+this.es*this.B*this.B/Jt),this.A=this.B*this.k0*x/_,R=this.B*x/(C*Math.sqrt(_)),T=R*R-1,T<=0?T=0:(T=Math.sqrt(T),this.lat0<0&&(T=-T)),this.E=T+=R,this.E*=Math.pow(Pe(this.e,this.lat0,j),this.B)):(this.B=1/x,this.A=this.k0,this.E=R=T=1),St||It?(St?(_e=Math.asin(Math.sin(gt)/R),It||(Ie=gt)):(_e=Ie,gt=Math.asin(R*Math.sin(_e))),this.lam0=Re-Math.asin(.5*(T-1/T)*Math.tan(_e))/this.B):(D=Math.pow(Pe(this.e,Xe,Math.sin(Xe)),this.B),B=Math.pow(Pe(this.e,Ze,Math.sin(Ze)),this.B),T=this.E/D,ne=(B-D)/(B+D),ce=this.E*this.E,ce=(ce-B*D)/(ce+B*D),_=Be-$e,_<-Math.pi?$e-=H:_>Math.pi&&($e+=H),this.lam0=ke(.5*(Be+$e)-Math.atan(ce*Math.tan(.5*this.B*(Be-$e))/ne)/this.B),_e=Math.atan(2*Math.sin(this.B*ke(Be-this.lam0))/(T-1/T)),Ie=gt=Math.asin(R*Math.sin(_e))),this.singam=Math.sin(_e),this.cosgam=Math.cos(_e),this.sinrot=Math.sin(Ie),this.cosrot=Math.cos(Ie),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(R*R-1)/Math.cos(gt))),this.lat0<0&&(this.u_0=-this.u_0)),T=.5*_e,this.v_pole_n=this.ArB*Math.log(Math.tan(O-T)),this.v_pole_s=this.ArB*Math.log(Math.tan(O+T))}function Qd(_){var x={},C,R,T,D,B,j,ne,ce;if(_.x=_.x-this.lam0,Math.abs(Math.abs(_.y)-d)>w){if(B=this.E/Math.pow(Pe(this.e,_.y,Math.sin(_.y)),this.B),j=1/B,C=.5*(B-j),R=.5*(B+j),D=Math.sin(this.B*_.x),T=(C*this.singam-D*this.cosgam)/R,Math.abs(Math.abs(T)-1)0?this.v_pole_n:this.v_pole_s,ne=this.ArB*_.y;return this.no_rot?(x.x=ne,x.y=ce):(ne-=this.u_0,x.x=ce*this.cosrot+ne*this.sinrot,x.y=ne*this.cosrot-ce*this.sinrot),x.x=this.a*x.x+this.x0,x.y=this.a*x.y+this.y0,x}function Jd(_){var x,C,R,T,D,B,j,ne={};if(_.x=(_.x-this.x0)*(1/this.a),_.y=(_.y-this.y0)*(1/this.a),this.no_rot?(C=_.y,x=_.x):(C=_.x*this.cosrot-_.y*this.sinrot,x=_.y*this.cosrot+_.x*this.sinrot+this.u_0),R=Math.exp(-this.BrA*C),T=.5*(R-1/R),D=.5*(R+1/R),B=Math.sin(this.BrA*x),j=(B*this.cosgam+T*this.singam)/D,Math.abs(Math.abs(j)-1)w?this.ns=Math.log(R/j)/Math.log(T/ne):this.ns=x,isNaN(this.ns)&&(this.ns=x),this.f0=R/(this.ns*Math.pow(T,this.ns)),this.rh=this.a*this.f0*Math.pow(ce,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function Mr(_){var x=_.x,C=_.y;Math.abs(2*Math.abs(C)-Math.PI)<=w&&(C=Me(C)*(d-2*w));var R=Math.abs(Math.abs(C)-d),T,D;if(R>w)T=Pe(this.e,C,Math.sin(C)),D=this.a*this.f0*Math.pow(T,this.ns);else{if(R=C*this.ns,R<=0)return null;D=0}var B=this.ns*ke(x-this.long0);return _.x=this.k0*(D*Math.sin(B))+this.x0,_.y=this.k0*(this.rh-D*Math.cos(B))+this.y0,_}function $c(_){var x,C,R,T,D,B=(_.x-this.x0)/this.k0,j=this.rh-(_.y-this.y0)/this.k0;this.ns>0?(x=Math.sqrt(B*B+j*j),C=1):(x=-Math.sqrt(B*B+j*j),C=-1);var ne=0;if(x!==0&&(ne=Math.atan2(C*B,C*j)),x!==0||this.ns>0){if(C=1/this.ns,R=Math.pow(x/(this.a*this.f0),C),T=De(this.e,R),T===-9999)return null}else T=-d;return D=ke(ne/this.ns+this.long0),_.x=D,_.y=T,_}var Ii=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"],vn={init:Cl,forward:Mr,inverse:$c,names:Ii};function Mp(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function ka(_){var x,C,R,T,D,B,j,ne=_.x,ce=_.y,Ie=ke(ne-this.long0);return x=Math.pow((1+this.e*Math.sin(ce))/(1-this.e*Math.sin(ce)),this.alfa*this.e/2),C=2*(Math.atan(this.k*Math.pow(Math.tan(ce/2+this.s45),this.alfa)/x)-this.s45),R=-Ie*this.alfa,T=Math.asin(Math.cos(this.ad)*Math.sin(C)+Math.sin(this.ad)*Math.cos(C)*Math.cos(R)),D=Math.asin(Math.cos(C)*Math.sin(R)/Math.cos(T)),B=this.n*D,j=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(T/2+this.s45),this.n),_.y=j*Math.cos(B)/1,_.x=j*Math.sin(B)/1,this.czech||(_.y*=-1,_.x*=-1),_}function Bc(_){var x,C,R,T,D,B,j,ne,ce=_.x;_.x=_.y,_.y=ce,this.czech||(_.y*=-1,_.x*=-1),B=Math.sqrt(_.x*_.x+_.y*_.y),D=Math.atan2(_.y,_.x),T=D/Math.sin(this.s0),R=2*(Math.atan(Math.pow(this.ro0/B,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),x=Math.asin(Math.cos(this.ad)*Math.sin(R)-Math.sin(this.ad)*Math.cos(R)*Math.cos(T)),C=Math.asin(Math.cos(R)*Math.sin(T)/Math.cos(x)),_.x=this.long0-C/this.alfa,j=x,ne=0;var Ie=0;do _.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(x/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(j))/(1-this.e*Math.sin(j)),this.e/2))-this.s45),Math.abs(j-_.y)<1e-10&&(ne=1),j=_.y,Ie+=1;while(ne===0&&Ie<15);return Ie>=15?null:_}var th=["Krovak","krovak"],es={init:Mp,forward:ka,inverse:Bc,names:th},ci=function(_,x,C,R,T){return _*T-x*Math.sin(2*T)+C*Math.sin(4*T)-R*Math.sin(6*T)},Ts=function(_){return 1-.25*_*(1+_/16*(3+1.25*_))},Hs=function(_){return .375*_*(1+.25*_*(1+.46875*_))},Lo=function(_){return .05859375*_*_*(1+.75*_)},Ys=function(_){return _*_*_*(35/3072)},ts=function(_,x,C){var R=x*C;return _/Math.sqrt(1-R*R)},Ar=function(_){return Math.abs(_)1e-7?(C=_*x,(1-_*_)*(x/(1-C*C)-.5/_*Math.log((1-C)/(1+C)))):2*x},Vc=1,rh=2,sh=3,Pr=4;function Wc(){var _=Math.abs(this.lat0);if(Math.abs(_-d)0){var x;switch(this.qp=Or(this.e,1),this.mmf=.5/(1-this.es),this.apa=Fr(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),x=Math.sin(this.lat0),this.sinb1=Or(this.e,x)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*x*x)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function oh(_){var x,C,R,T,D,B,j,ne,ce,Ie,_e=_.x,Re=_.y;if(_e=ke(_e-this.long0),this.sphere){if(D=Math.sin(Re),Ie=Math.cos(Re),R=Math.cos(_e),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(C=this.mode===this.EQUIT?1+Ie*R:1+this.sinph0*D+this.cosph0*Ie*R,C<=w)return null;C=Math.sqrt(2/C),x=C*Ie*Math.sin(_e),C*=this.mode===this.EQUIT?D:this.cosph0*D-this.sinph0*Ie*R}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(R=-R),Math.abs(Re+this.lat0)=0?(x=(ce=Math.sqrt(B))*T,C=R*(this.mode===this.S_POLE?ce:-ce)):x=C=0;break}}return _.x=this.a*x+this.x0,_.y=this.a*C+this.y0,_}function ah(_){_.x-=this.x0,_.y-=this.y0;var x=_.x/this.a,C=_.y/this.a,R,T,D,B,j,ne,ce;if(this.sphere){var Ie=0,_e,Re=0;if(_e=Math.sqrt(x*x+C*C),T=_e*.5,T>1)return null;switch(T=2*Math.asin(T),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(Re=Math.sin(T),Ie=Math.cos(T)),this.mode){case this.EQUIT:T=Math.abs(_e)<=w?0:Math.asin(C*Re/_e),x*=Re,C=Ie*_e;break;case this.OBLIQ:T=Math.abs(_e)<=w?this.lat0:Math.asin(Ie*this.sinph0+C*Re*this.cosph0/_e),x*=Re*this.cosph0,C=(Ie-Math.sin(T)*this.sinph0)*_e;break;case this.N_POLE:C=-C,T=d-T;break;case this.S_POLE:T-=d;break}R=C===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(x,C)}else{if(ce=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(x/=this.dd,C*=this.dd,ne=Math.sqrt(x*x+C*C),ne1&&(_=_>1?1:-1),Math.asin(_)};function lh(){Math.abs(this.lat1+this.lat2)w?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function ei(_){var x=_.x,C=_.y;this.sin_phi=Math.sin(C),this.cos_phi=Math.cos(C);var R=Or(this.e3,this.sin_phi),T=this.a*Math.sqrt(this.c-this.ns0*R)/this.ns0,D=this.ns0*ke(x-this.long0),B=T*Math.sin(D)+this.x0,j=this.rh-T*Math.cos(D)+this.y0;return _.x=B,_.y=j,_}function Ap(_){var x,C,R,T,D,B;return _.x-=this.x0,_.y=this.rh-_.y+this.y0,this.ns0>=0?(x=Math.sqrt(_.x*_.x+_.y*_.y),R=1):(x=-Math.sqrt(_.x*_.x+_.y*_.y),R=-1),T=0,x!==0&&(T=Math.atan2(R*_.x,R*_.y)),R=x*this.ns0/this.a,this.sphere?B=Math.asin((this.c-R*R)/(2*this.ns0)):(C=(this.c-R*R)/this.ns0,B=this.phi1z(this.e3,C)),D=ke(T/this.ns0+this.long0),_.x=D,_.y=B,_}function Op(_,x){var C,R,T,D,B,j=ns(.5*x);if(_0||Math.abs(B)<=w?(j=this.x0+this.a*D*C*Math.sin(R)/B,ne=this.y0+this.a*D*(this.cos_p14*x-this.sin_p14*C*T)/B):(j=this.x0+this.infinity_dist*C*Math.sin(R),ne=this.y0+this.infinity_dist*(this.cos_p14*x-this.sin_p14*C*T)),_.x=j,_.y=ne,_}function ki(_){var x,C,R,T,D,B;return _.x=(_.x-this.x0)/this.a,_.y=(_.y-this.y0)/this.a,_.x/=this.k0,_.y/=this.k0,(x=Math.sqrt(_.x*_.x+_.y*_.y))?(T=Math.atan2(x,this.rc),C=Math.sin(T),R=Math.cos(T),B=ns(R*this.sin_p14+_.y*C*this.cos_p14/x),D=Math.atan2(_.x*C,x*this.cos_p14*R-_.y*this.sin_p14*C),D=ke(this.long0+D)):(B=this.phic0,D=0),_.x=D,_.y=B,_}var Xc=["gnom"],Ll={init:Zs,forward:ch,inverse:ki,names:Xc},py=function(_,x){var C=1-(1-_*_)/(2*_)*Math.log((1-_)/(1+_));if(Math.abs(Math.abs(x)-C)<1e-6)return x<0?-1*d:d;for(var R=Math.asin(.5*x),T,D,B,j,ne=0;ne<30;ne++)if(D=Math.sin(R),B=Math.cos(R),j=_*D,T=Math.pow(1-j*j,2)/(2*B)*(x/(1-_*_)-D/(1-j*j)+.5/_*Math.log((1-j)/(1+j))),R+=T,Math.abs(T)<=1e-10)return R;return NaN};function No(){this.sphere||(this.k0=Oe(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function uh(_){var x=_.x,C=_.y,R,T,D=ke(x-this.long0);if(this.sphere)R=this.x0+this.a*D*Math.cos(this.lat_ts),T=this.y0+this.a*Math.sin(C)/Math.cos(this.lat_ts);else{var B=Or(this.e,Math.sin(C));R=this.x0+this.a*this.k0*D,T=this.y0+this.a*B*.5/this.k0}return _.x=R,_.y=T,_}function is(_){_.x-=this.x0,_.y-=this.y0;var x,C;return this.sphere?(x=ke(this.long0+_.x/this.a/Math.cos(this.lat_ts)),C=Math.asin(_.y/this.a*Math.cos(this.lat_ts))):(C=py(this.e,2*_.y*this.k0/this.a),x=ke(this.long0+_.x/(this.a*this.k0))),_.x=x,_.y=C,_}var dh=["cea"],Fi={init:No,forward:uh,inverse:is,names:dh};function Ks(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function ct(_){var x=_.x,C=_.y,R=ke(x-this.long0),T=Ar(C-this.lat0);return _.x=this.x0+this.a*R*this.rc,_.y=this.y0+this.a*T,_}function Qs(_){var x=_.x,C=_.y;return _.x=ke(this.long0+(x-this.x0)/(this.a*this.rc)),_.y=Ar(this.lat0+(C-this.y0)/this.a),_}var Qi=["Equirectangular","Equidistant_Cylindrical","eqc"],Tl={init:Ks,forward:ct,inverse:Qs,names:Qi},Ra=20;function gy(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ts(this.es),this.e1=Hs(this.es),this.e2=Lo(this.es),this.e3=Ys(this.es),this.ml0=this.a*ci(this.e0,this.e1,this.e2,this.e3,this.lat0)}function Ns(_){var x=_.x,C=_.y,R,T,D,B=ke(x-this.long0);if(D=B*Math.sin(C),this.sphere)Math.abs(C)<=w?(R=this.a*B,T=-1*this.a*this.lat0):(R=this.a*Math.sin(D)/Math.tan(C),T=this.a*(Ar(C-this.lat0)+(1-Math.cos(D))/Math.tan(C)));else if(Math.abs(C)<=w)R=this.a*B,T=-1*this.ml0;else{var j=ts(this.a,this.e,Math.sin(C))/Math.tan(C);R=j*Math.sin(D),T=this.a*ci(this.e0,this.e1,this.e2,this.e3,C)-this.ml0+j*(1-Math.cos(D))}return _.x=R+this.x0,_.y=T+this.y0,_}function Ma(_){var x,C,R,T,D,B,j,ne,ce;if(R=_.x-this.x0,T=_.y-this.y0,this.sphere)if(Math.abs(T+this.a*this.lat0)<=w)x=ke(R/this.a+this.long0),C=0;else{B=this.lat0+T/this.a,j=R*R/this.a/this.a+B*B,ne=B;var Ie;for(D=Ra;D;--D)if(Ie=Math.tan(ne),ce=-1*(B*(ne*Ie+1)-ne-.5*(ne*ne+j)*Ie)/((ne-B)/Ie-1),ne+=ce,Math.abs(ce)<=w){C=ne;break}x=ke(this.long0+Math.asin(R*Math.tan(ne)/this.a)/Math.sin(C))}else if(Math.abs(T+this.ml0)<=w)C=0,x=ke(this.long0+R/this.a);else{B=(this.ml0+T)/this.a,j=R*R/this.a/this.a+B*B,ne=B;var _e,Re,Be,$e,Xe;for(D=Ra;D;--D)if(Xe=this.e*Math.sin(ne),_e=Math.sqrt(1-Xe*Xe)*Math.tan(ne),Re=this.a*ci(this.e0,this.e1,this.e2,this.e3,ne),Be=this.e0-2*this.e1*Math.cos(2*ne)+4*this.e2*Math.cos(4*ne)-6*this.e3*Math.cos(6*ne),$e=Re/this.a,ce=(B*(_e*$e+1)-$e-.5*_e*($e*$e+j))/(this.es*Math.sin(2*ne)*($e*$e+j-2*B*$e)/(4*_e)+(B-$e)*(_e*Be-2/Math.sin(2*ne))-Be),ne-=ce,Math.abs(ce)<=w){C=ne;break}_e=Math.sqrt(1-this.es*Math.pow(Math.sin(C),2))*Math.tan(C),x=ke(this.long0+Math.asin(R*_e/this.a)/Math.sin(C))}return _.x=x,_.y=C,_}var Rs=["Polyconic","poly"],Nl={init:gy,forward:Ns,inverse:Ma,names:Rs};function rs(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function Ms(_){var x,C=_.x,R=_.y,T=R-this.lat0,D=C-this.long0,B=T/g*1e-5,j=D,ne=1,ce=0;for(x=1;x<=10;x++)ne=ne*B,ce=ce+this.A[x]*ne;var Ie=ce,_e=j,Re=1,Be=0,$e,Xe,Ze=0,gt=0;for(x=1;x<=6;x++)$e=Re*Ie-Be*_e,Xe=Be*Ie+Re*_e,Re=$e,Be=Xe,Ze=Ze+this.B_re[x]*Re-this.B_im[x]*Be,gt=gt+this.B_im[x]*Re+this.B_re[x]*Be;return _.x=gt*this.a+this.x0,_.y=Ze*this.a+this.y0,_}function Dp(_){var x,C=_.x,R=_.y,T=C-this.x0,D=R-this.y0,B=D/this.a,j=T/this.a,ne=1,ce=0,Ie,_e,Re=0,Be=0;for(x=1;x<=6;x++)Ie=ne*B-ce*j,_e=ce*B+ne*j,ne=Ie,ce=_e,Re=Re+this.C_re[x]*ne-this.C_im[x]*ce,Be=Be+this.C_im[x]*ne+this.C_re[x]*ce;for(var $e=0;$e.999999999999&&(C=.999999999999),x=Math.asin(C);var R=ke(this.long0+_.x/(.900316316158*this.a*Math.cos(x)));R<-Math.PI&&(R=-Math.PI),R>Math.PI&&(R=Math.PI),C=(2*x+Math.sin(2*x))/Math.PI,Math.abs(C)>1&&(C=1);var T=Math.asin(C);return _.x=R,_.y=T,_}var by=["Mollweide","moll"],fh={init:yy,forward:Qc,inverse:vy,names:by};function Jc(){Math.abs(this.lat1+this.lat2)=0?(C=Math.sqrt(_.x*_.x+_.y*_.y),x=1):(C=-Math.sqrt(_.x*_.x+_.y*_.y),x=-1);var D=0;if(C!==0&&(D=Math.atan2(x*_.x,x*_.y)),this.sphere)return T=ke(this.long0+D/this.ns),R=Ar(this.g-C/this.a),_.x=T,_.y=R,_;var B=this.g-C/this.a;return R=To(B,this.e0,this.e1,this.e2,this.e3),T=ke(this.long0+D/this.ns),_.x=T,_.y=R,_}var xy=["Equidistant_Conic","eqdc"],Js={init:Jc,forward:Ao,inverse:eu,names:xy};function Ol(){this.R=this.a}function tu(_){var x=_.x,C=_.y,R=ke(x-this.long0),T,D;Math.abs(C)<=w&&(T=this.x0+this.R*R,D=this.y0);var B=ns(2*Math.abs(C/Math.PI));(Math.abs(R)<=w||Math.abs(Math.abs(C)-d)<=w)&&(T=this.x0,C>=0?D=this.y0+Math.PI*this.R*Math.tan(.5*B):D=this.y0+Math.PI*this.R*-Math.tan(.5*B));var j=.5*Math.abs(Math.PI/R-R/Math.PI),ne=j*j,ce=Math.sin(B),Ie=Math.cos(B),_e=Ie/(ce+Ie-1),Re=_e*_e,Be=_e*(2/ce-1),$e=Be*Be,Xe=Math.PI*this.R*(j*(_e-$e)+Math.sqrt(ne*(_e-$e)*(_e-$e)-($e+ne)*(Re-$e)))/($e+ne);R<0&&(Xe=-Xe),T=this.x0+Xe;var Ze=ne+_e;return Xe=Math.PI*this.R*(Be*Ze-j*Math.sqrt(($e+ne)*(ne+1)-Ze*Ze))/($e+ne),C>=0?D=this.y0+Xe:D=this.y0-Xe,_.x=T,_.y=D,_}function wy(_){var x,C,R,T,D,B,j,ne,ce,Ie,_e,Re,Be;return _.x-=this.x0,_.y-=this.y0,_e=Math.PI*this.R,R=_.x/_e,T=_.y/_e,D=R*R+T*T,B=-Math.abs(T)*(1+D),j=B-2*T*T+R*R,ne=-2*B+1+2*T*T+D*D,Be=T*T/ne+(2*j*j*j/ne/ne/ne-9*B*j/ne/ne)/27,ce=(B-j*j/3/ne)/ne,Ie=2*Math.sqrt(-ce/3),_e=3*Be/ce/Ie,Math.abs(_e)>1&&(_e>=0?_e=1:_e=-1),Re=Math.acos(_e)/3,_.y>=0?C=(-Ie*Math.cos(Re+Math.PI/3)-j/3/ne)*Math.PI:C=-(-Ie*Math.cos(Re+Math.PI/3)-j/3/ne)*Math.PI,Math.abs(R)2*d*this.a?void 0:(C=x/this.a,R=Math.sin(C),T=Math.cos(C),D=this.long0,Math.abs(x)<=w?B=this.lat0:(B=ns(T*this.sin_p12+_.y*R*this.cos_p12/x),j=Math.abs(this.lat0)-d,Math.abs(j)<=w?this.lat0>=0?D=ke(this.long0+Math.atan2(_.x,-_.y)):D=ke(this.long0-Math.atan2(-_.x,_.y)):D=ke(this.long0+Math.atan2(_.x*R,x*this.cos_p12*T-_.y*this.sin_p12*R))),_.x=D,_.y=B,_)):(ne=Ts(this.es),ce=Hs(this.es),Ie=Lo(this.es),_e=Ys(this.es),Math.abs(this.sin_p12-1)<=w?(Re=this.a*ci(ne,ce,Ie,_e,d),x=Math.sqrt(_.x*_.x+_.y*_.y),Be=Re-x,B=To(Be/this.a,ne,ce,Ie,_e),D=ke(this.long0+Math.atan2(_.x,-1*_.y)),_.x=D,_.y=B,_):Math.abs(this.sin_p12+1)<=w?(Re=this.a*ci(ne,ce,Ie,_e,d),x=Math.sqrt(_.x*_.x+_.y*_.y),Be=x-Re,B=To(Be/this.a,ne,ce,Ie,_e),D=ke(this.long0+Math.atan2(_.x,_.y)),_.x=D,_.y=B,_):(x=Math.sqrt(_.x*_.x+_.y*_.y),Ze=Math.atan2(_.x,_.y),$e=ts(this.a,this.e,this.sin_p12),gt=Math.cos(Ze),St=this.e*this.cos_p12*gt,It=-St*St/(1-this.es),Jt=3*this.es*(1-It)*this.sin_p12*this.cos_p12*gt/(1-this.es),Xt=x/$e,Zt=Xt-It*(1+It)*Math.pow(Xt,3)/6-Jt*(1+3*It)*Math.pow(Xt,4)/24,ti=1-It*Zt*Zt/2-Xt*Zt*Zt*Zt/6,Xe=Math.asin(this.sin_p12*Math.cos(Zt)+this.cos_p12*Math.sin(Zt)*gt),D=ke(this.long0+Math.asin(Math.sin(Ze)*Math.sin(Zt)/Math.cos(Xe))),an=Math.sin(Xe),B=Math.atan2((an-this.es*ti*this.sin_p12)*Math.tan(Xe),an*(1-this.es)),_.x=D,_.y=B,_))}var Cy=["Azimuthal_Equidistant","aeqd"],Iy={init:Oa,forward:Sy,inverse:Ey,names:Cy};function jp(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function hr(_){var x,C,R,T,D,B,j,ne,ce=_.x,Ie=_.y;return R=ke(ce-this.long0),x=Math.sin(Ie),C=Math.cos(Ie),T=Math.cos(R),B=this.sin_p14*x+this.cos_p14*C*T,D=1,(B>0||Math.abs(B)<=w)&&(j=this.a*D*C*Math.sin(R),ne=this.y0+this.a*D*(this.cos_p14*x-this.sin_p14*C*T)),_.x=j,_.y=ne,_}function ss(_){var x,C,R,T,D,B,j;return _.x-=this.x0,_.y-=this.y0,x=Math.sqrt(_.x*_.x+_.y*_.y),C=ns(x/this.a),R=Math.sin(C),T=Math.cos(C),B=this.long0,Math.abs(x)<=w?(j=this.lat0,_.x=B,_.y=j,_):(j=ns(T*this.sin_p14+_.y*R*this.cos_p14/x),D=Math.abs(this.lat0)-d,Math.abs(D)<=w?(this.lat0>=0?B=ke(this.long0+Math.atan2(_.x,-_.y)):B=ke(this.long0-Math.atan2(-_.x,_.y)),_.x=B,_.y=j,_):(B=ke(this.long0+Math.atan2(_.x*R,x*this.cos_p14*T-_.y*this.sin_p14*R)),_.x=B,_.y=j,_))}var Dl=["ortho"],ky={init:jp,forward:hr,inverse:ss,names:Dl},Tn={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},Pt={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Ly(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=d-O/2?this.face=Tn.TOP:this.lat0<=-(d-O/2)?this.face=Tn.BOTTOM:Math.abs(this.long0)<=O?this.face=Tn.FRONT:Math.abs(this.long0)<=d+O?this.face=this.long0>0?Tn.RIGHT:Tn.LEFT:this.face=Tn.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Oo(_){var x={x:0,y:0},C,R,T,D,B,j,ne={value:0};if(_.x-=this.long0,this.es!==0?C=Math.atan(this.one_minus_f_squared*Math.tan(_.y)):C=_.y,R=_.x,this.face===Tn.TOP)D=d-C,R>=O&&R<=d+O?(ne.value=Pt.AREA_0,T=R-d):R>d+O||R<=-(d+O)?(ne.value=Pt.AREA_1,T=R>0?R-X:R+X):R>-(d+O)&&R<=-O?(ne.value=Pt.AREA_2,T=R+d):(ne.value=Pt.AREA_3,T=R);else if(this.face===Tn.BOTTOM)D=d+C,R>=O&&R<=d+O?(ne.value=Pt.AREA_0,T=-R+d):R=-O?(ne.value=Pt.AREA_1,T=-R):R<-O&&R>=-(d+O)?(ne.value=Pt.AREA_2,T=-R-d):(ne.value=Pt.AREA_3,T=R>0?-R+X:-R-X);else{var ce,Ie,_e,Re,Be,$e,Xe;this.face===Tn.RIGHT?R=dn(R,+d):this.face===Tn.BACK?R=dn(R,+X):this.face===Tn.LEFT&&(R=dn(R,-d)),Re=Math.sin(C),Be=Math.cos(C),$e=Math.sin(R),Xe=Math.cos(R),ce=Be*Xe,Ie=Be*$e,_e=Re,this.face===Tn.FRONT?(D=Math.acos(ce),T=iu(D,_e,Ie,ne)):this.face===Tn.RIGHT?(D=Math.acos(Ie),T=iu(D,_e,-ce,ne)):this.face===Tn.BACK?(D=Math.acos(-ce),T=iu(D,_e,-Ie,ne)):this.face===Tn.LEFT?(D=Math.acos(-Ie),T=iu(D,_e,ce,ne)):(D=T=0,ne.value=Pt.AREA_0)}return j=Math.atan(12/X*(T+Math.acos(Math.sin(T)*Math.cos(O))-d)),B=Math.sqrt((1-Math.cos(D))/(Math.cos(j)*Math.cos(j))/(1-Math.cos(Math.atan(1/Math.cos(T))))),ne.value===Pt.AREA_1?j+=d:ne.value===Pt.AREA_2?j+=X:ne.value===Pt.AREA_3&&(j+=1.5*X),x.x=B*Math.cos(j),x.y=B*Math.sin(j),x.x=x.x*this.a+this.x0,x.y=x.y*this.a+this.y0,_.x=x.x,_.y=x.y,_}function nu(_){var x={lam:0,phi:0},C,R,T,D,B,j,ne,ce,Ie,_e={value:0};if(_.x=(_.x-this.x0)/this.a,_.y=(_.y-this.y0)/this.a,R=Math.atan(Math.sqrt(_.x*_.x+_.y*_.y)),C=Math.atan2(_.y,_.x),_.x>=0&&_.x>=Math.abs(_.y)?_e.value=Pt.AREA_0:_.y>=0&&_.y>=Math.abs(_.x)?(_e.value=Pt.AREA_1,C-=d):_.x<0&&-_.x>=Math.abs(_.y)?(_e.value=Pt.AREA_2,C=C<0?C+X:C-X):(_e.value=Pt.AREA_3,C+=d),Ie=X/12*Math.tan(C),B=Math.sin(Ie)/(Math.cos(Ie)-1/Math.sqrt(2)),j=Math.atan(B),T=Math.cos(C),D=Math.tan(R),ne=1-T*T*D*D*(1-Math.cos(Math.atan(1/Math.cos(j)))),ne<-1?ne=-1:ne>1&&(ne=1),this.face===Tn.TOP)ce=Math.acos(ne),x.phi=d-ce,_e.value===Pt.AREA_0?x.lam=j+d:_e.value===Pt.AREA_1?x.lam=j<0?j+X:j-X:_e.value===Pt.AREA_2?x.lam=j-d:x.lam=j;else if(this.face===Tn.BOTTOM)ce=Math.acos(ne),x.phi=ce-d,_e.value===Pt.AREA_0?x.lam=-j+d:_e.value===Pt.AREA_1?x.lam=-j:_e.value===Pt.AREA_2?x.lam=-j-d:x.lam=j<0?-j-X:-j+X;else{var Re,Be,$e;Re=ne,Ie=Re*Re,Ie>=1?$e=0:$e=Math.sqrt(1-Ie)*Math.sin(j),Ie+=$e*$e,Ie>=1?Be=0:Be=Math.sqrt(1-Ie),_e.value===Pt.AREA_1?(Ie=Be,Be=-$e,$e=Ie):_e.value===Pt.AREA_2?(Be=-Be,$e=-$e):_e.value===Pt.AREA_3&&(Ie=Be,Be=$e,$e=-Ie),this.face===Tn.RIGHT?(Ie=Re,Re=-Be,Be=Ie):this.face===Tn.BACK?(Re=-Re,Be=-Be):this.face===Tn.LEFT&&(Ie=Re,Re=Be,Be=-Ie),x.phi=Math.acos(-$e)-d,x.lam=Math.atan2(Be,Re),this.face===Tn.RIGHT?x.lam=dn(x.lam,-d):this.face===Tn.BACK?x.lam=dn(x.lam,-X):this.face===Tn.LEFT&&(x.lam=dn(x.lam,+d))}if(this.es!==0){var Xe,Ze,gt;Xe=x.phi<0?1:0,Ze=Math.tan(x.phi),gt=this.b/Math.sqrt(Ze*Ze+this.one_minus_f_squared),x.phi=Math.atan(Math.sqrt(this.a*this.a-gt*gt)/(this.one_minus_f*gt)),Xe&&(x.phi=-x.phi)}return x.lam+=this.long0,_.x=x.lam,_.y=x.phi,_}function iu(_,x,C,R){var T;return _O&&T<=d+O?(R.value=Pt.AREA_1,T-=d):T>d+O||T<=-(d+O)?(R.value=Pt.AREA_2,T=T>=0?T-X:T+X):(R.value=Pt.AREA_3,T+=d)),T}function dn(_,x){var C=_+x;return C<-X?C+=H:C>+X&&(C-=H),C}var ru=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],Os={init:Ly,forward:Oo,inverse:nu,names:ru},ph=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Po=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],os=.8487,er=1.3523,jl=I/5,eo=1/jl,to=18,Dr=function(_,x){return _[0]+x*(_[1]+x*(_[2]+x*_[3]))},gh=function(_,x){return _[1]+x*(2*_[2]+x*3*_[3])};function su(_,x,C,R){for(var T=x;R;--R){var D=_(T);if(T-=D,Math.abs(D)=to&&(R=to-1),C=I*(C-eo*R);var T={x:Dr(ph[R],C)*x,y:Dr(Po[R],C)};return _.y<0&&(T.y=-T.y),T.x=T.x*this.a*os+this.x0,T.y=T.y*this.a*er+this.y0,T}function mh(_){var x={x:(_.x-this.x0)/(this.a*os),y:Math.abs(_.y-this.y0)/(this.a*er)};if(x.y>=1)x.x/=ph[to][0],x.y=_.y<0?-d:d;else{var C=Math.floor(x.y*to);for(C<0?C=0:C>=to&&(C=to-1);;)if(Po[C][0]>x.y)--C;else if(Po[C+1][0]<=x.y)++C;else break;var R=Po[C],T=5*(x.y-R[0])/(Po[C+1][0]-R[0]);T=su(function(D){return(Dr(R,D)-x.y)/gh(R,D)},T,w,100),x.x/=Dr(ph[C],T),x.y=(5*C+T)*E,_.y<0&&(x.y=-x.y)}return x.x=ke(x.x+this.long0),x}var _h=["Robinson","robin"],yh={init:ou,forward:qp,inverse:mh,names:_h};function no(){this.name="geocent"}function Ty(_){var x=En(_,this.es,this.a);return x}function Ny(_){var x=Kt(_,this.es,this.a,this.b);return x}var Ry=["Geocentric","geocentric","geocent","Geocent"],au={init:no,forward:Ty,inverse:Ny,names:Ry},ui={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},io={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function My(){if(Object.keys(io).forEach(function(C){if(typeof this[C]>"u")this[C]=io[C].def;else{if(io[C].num&&isNaN(this[C]))throw new Error("Invalid parameter value, must be numeric "+C+" = "+this[C]);io[C].num&&(this[C]=parseFloat(this[C]))}io[C].degrees&&(this[C]=this[C]*E)}.bind(this)),Math.abs(Math.abs(this.lat0)-d)1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var _=this.tilt,x=this.azi;this.cg=Math.cos(x),this.sg=Math.sin(x),this.cw=Math.cos(_),this.sw=Math.sin(_)}function vh(_){_.x-=this.long0;var x=Math.sin(_.y),C=Math.cos(_.y),R=Math.cos(_.x),T,D;switch(this.mode){case ui.OBLIQ:D=this.sinph0*x+this.cosph0*C*R;break;case ui.EQUIT:D=C*R;break;case ui.S_POLE:D=-x;break;case ui.N_POLE:D=x;break}switch(D=this.pn1/(this.p-D),T=D*C*Math.sin(_.x),this.mode){case ui.OBLIQ:D*=this.cosph0*x-this.sinph0*C*R;break;case ui.EQUIT:D*=x;break;case ui.N_POLE:D*=-(C*R);break;case ui.S_POLE:D*=C*R;break}var B,j;return B=D*this.cg+T*this.sg,j=1/(B*this.sw*this.h1+this.cw),T=(T*this.cg-D*this.sg)*this.cw*j,D=B*j,_.x=T*this.a,_.y=D*this.a,_}function zp(_){_.x/=this.a,_.y/=this.a;var x={x:_.x,y:_.y},C,R,T;T=1/(this.pn1-_.y*this.sw),C=this.pn1*_.x*T,R=this.pn1*_.y*this.cw*T,_.x=C*this.cg+R*this.sg,_.y=R*this.cg-C*this.sg;var D=_n(_.x,_.y);if(Math.abs(D)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var _=1-this.es,x=1/_;this.radius_p=Math.sqrt(_),this.radius_p2=_,this.radius_p_inv2=x,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function Mt(_){var x=_.x,C=_.y,R,T,D,B;if(x=x-this.long0,this.shape==="ellipse"){C=Math.atan(this.radius_p2*Math.tan(C));var j=this.radius_p/_n(this.radius_p*Math.cos(C),Math.sin(C));if(T=j*Math.cos(x)*Math.cos(C),D=j*Math.sin(x)*Math.cos(C),B=j*Math.sin(C),(this.radius_g-T)*T-D*D-B*B*this.radius_p_inv2<0)return _.x=Number.NaN,_.y=Number.NaN,_;R=this.radius_g-T,this.flip_axis?(_.x=this.radius_g_1*Math.atan(D/_n(B,R)),_.y=this.radius_g_1*Math.atan(B/R)):(_.x=this.radius_g_1*Math.atan(D/R),_.y=this.radius_g_1*Math.atan(B/_n(D,R)))}else this.shape==="sphere"&&(R=Math.cos(C),T=Math.cos(x)*R,D=Math.sin(x)*R,B=Math.sin(C),R=this.radius_g-T,this.flip_axis?(_.x=this.radius_g_1*Math.atan(D/_n(B,R)),_.y=this.radius_g_1*Math.atan(B/R)):(_.x=this.radius_g_1*Math.atan(D/R),_.y=this.radius_g_1*Math.atan(B/_n(D,R))));return _.x=_.x*this.a,_.y=_.y*this.a,_}function tr(_){var x=-1,C=0,R=0,T,D,B,j;if(_.x=_.x/this.a,_.y=_.y/this.a,this.shape==="ellipse"){this.flip_axis?(R=Math.tan(_.y/this.radius_g_1),C=Math.tan(_.x/this.radius_g_1)*_n(1,R)):(C=Math.tan(_.x/this.radius_g_1),R=Math.tan(_.y/this.radius_g_1)*_n(1,C));var ne=R/this.radius_p;if(T=C*C+ne*ne+x*x,D=2*this.radius_g*x,B=D*D-4*T*this.C,B<0)return _.x=Number.NaN,_.y=Number.NaN,_;j=(-D-Math.sqrt(B))/(2*T),x=this.radius_g+j*x,C*=j,R*=j,_.x=Math.atan2(C,x),_.y=Math.atan(R*Math.cos(_.x)/x),_.y=Math.atan(this.radius_p_inv2*Math.tan(_.y))}else if(this.shape==="sphere"){if(this.flip_axis?(R=Math.tan(_.y/this.radius_g_1),C=Math.tan(_.x/this.radius_g_1)*Math.sqrt(1+R*R)):(C=Math.tan(_.x/this.radius_g_1),R=Math.tan(_.y/this.radius_g_1)*Math.sqrt(1+C*C)),T=C*C+R*R+x*x,D=2*this.radius_g*x,B=D*D-4*T*this.C,B<0)return _.x=Number.NaN,_.y=Number.NaN,_;j=(-D-Math.sqrt(B))/(2*T),x=this.radius_g+j*x,C*=j,R*=j,_.x=Math.atan2(C,x),_.y=Math.atan(R*Math.cos(_.x)/x)}return _.x=_.x+this.long0,_}var Ps=["Geostationary Satellite View","Geostationary_Satellite","geos"],cu={init:xh,forward:Mt,inverse:tr,names:Ps},ro=1.340264,Fo=-.081106,di=893e-6,fr=.003796,Do=Math.sqrt(3)/2;function Ay(){this.es=0,this.long0=this.long0!==void 0?this.long0:0}function uu(_){var x=ke(_.x-this.long0),C=_.y,R=Math.asin(Do*Math.sin(C)),T=R*R,D=T*T*T;return _.x=x*Math.cos(R)/(Do*(ro+3*Fo*T+D*(7*di+9*fr*T))),_.y=R*(ro+Fo*T+D*(di+fr*T)),_.x=this.a*_.x+this.x0,_.y=this.a*_.y+this.y0,_}function du(_){_.x=(_.x-this.x0)/this.a,_.y=(_.y-this.y0)/this.a;var x=1e-9,C=12,R=_.y,T,D,B,j,ne,ce;for(ce=0;ce=d?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=Pa,this.forward=Oy)}function Eh(_){var x=ke(_.x-(this.long0||0)),C=_.y,R,T,D;return R=this.am1+this.m1-Tt(C,T=Math.sin(C),D=Math.cos(C),this.en),T=D*x/(R*Math.sqrt(1-this.es*T*T)),_.x=R*Math.sin(T),_.y=this.am1-R*Math.cos(T),_.x=this.a*_.x+(this.x0||0),_.y=this.a*_.y+(this.y0||0),_}function on(_){_.x=(_.x-(this.x0||0))/this.a,_.y=(_.y-(this.y0||0))/this.a;var x,C,R,T;if(C=_n(_.x,_.y=this.am1-_.y),T=xl(this.am1+this.m1-C,this.es,this.en),(x=Math.abs(T))jo?(_.x=T*Math.sin(R=x*Math.cos(C)/T),_.y=this.cphi1-T*Math.cos(R)):_.x=_.y=0,_.x=this.a*_.x+(this.x0||0),_.y=this.a*_.y+(this.y0||0),_}function Pa(_){_.x=(_.x-(this.x0||0))/this.a,_.y=(_.y-(this.y0||0))/this.a;var x,C,R=_n(_.x,_.y=this.cphi1-_.y);if(C=this.cphi1+this.phi1-R,Math.abs(C)>d)throw new Error;return Math.abs(Math.abs(C)-d)<=jo?x=0:x=R*Math.atan2(_.x,_.y)/Math.cos(C),_.x=ke(x+(this.long0||0)),_.y=Ar(C),_}var hu=["bonne","Bonne (Werner lat_1=90)"],nr={init:Sh,names:hu},as=function(_){_.Proj.projections.add(Ea),_.Proj.projections.add(mi),_.Proj.projections.add(Tp),_.Proj.projections.add(Qt),_.Proj.projections.add(Yd),_.Proj.projections.add(Kd),_.Proj.projections.add(Jn),_.Proj.projections.add(vn),_.Proj.projections.add(es),_.Proj.projections.add(La),_.Proj.projections.add(kl),_.Proj.projections.add(Fp),_.Proj.projections.add(Ll),_.Proj.projections.add(Fi),_.Proj.projections.add(Tl),_.Proj.projections.add(Nl),_.Proj.projections.add(Ml),_.Proj.projections.add(Aa),_.Proj.projections.add(hh),_.Proj.projections.add(fh),_.Proj.projections.add(Js),_.Proj.projections.add(Fl),_.Proj.projections.add(Iy),_.Proj.projections.add(ky),_.Proj.projections.add(Os),_.Proj.projections.add(yh),_.Proj.projections.add(au),_.Proj.projections.add(lu),_.Proj.projections.add(cu),_.Proj.projections.add(ql),_.Proj.projections.add(nr)};return Y.defaultDatum="WGS84",Y.Proj=Yi,Y.WGS84=new Y.Proj("WGS84"),Y.Point=Ws,Y.toPoint=xa,Y.defs=nt,Y.nadgrid=Nr,Y.transform=Zr,Y.mgrs=Ve,Y.version="2.15.0",as(Y),Y})});function ut(){return`${++X3}_${Date.now()}`}var X3,bn=W(()=>{X3=0});function Hl({geometryType:e,color:n="rgb(255,255,0)",fill:i=!0}={}){switch(e){case"LineString":case"MultiLineString":return new ol.style.Style({stroke:new ol.style.Stroke({color:n,width:4})});case"Point":case"MultiPoint":return new ol.style.Style({image:new ol.style.Circle({radius:6,fill:i&&new ol.style.Fill({color:n}),stroke:!i&&new ol.style.Stroke({color:n,width:4})}),zIndex:1/0});case"MultiPolygon":case"Polygon":return new ol.style.Style({stroke:new ol.style.Stroke({color:n,width:4}),fill:i&&new ol.style.Fill({color:ol.color.asString([...ol.color.asArray(n)].splice(0,3).concat(.25))})});default:return console.warn("invalid geometry type",e),null}}var tv=W(()=>{});function co(e=[]){return(Array.isArray(e)?e:Object.keys(e)).filter(n=>!oo.includes(n))}var bu=W(()=>{Nt()});var vS=Qe((yS,nv)=>{(function(e){if(typeof yS=="object"&&typeof nv<"u")nv.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var n;typeof window<"u"?n=window:typeof global<"u"?n=global:typeof self<"u"?n=self:n=this,n.localforage=e()}})(function(){var e,n,i;return function r(o,u,c){function f(d,v){if(!u[d]){if(!o[d]){var y=typeof so=="function"&&so;if(!v&&y)return y(d,!0);if(p)return p(d,!0);var S=new Error("Cannot find module '"+d+"'");throw S.code="MODULE_NOT_FOUND",S}var w=u[d]={exports:{}};o[d][0].call(w.exports,function(E){var I=o[d][1][E];return f(I||E)},w,w.exports,r,o,u,c)}return u[d].exports}for(var p=typeof so=="function"&&so,g=0;g"u"&&r(3);var y=Promise;function S(Y,de){de&&Y.then(function(ie){de(null,ie)},function(ie){de(ie)})}function w(Y,de,ie){typeof de=="function"&&Y.then(de),typeof ie=="function"&&Y.catch(ie)}function E(Y){return typeof Y!="string"&&(console.warn(Y+" used as a key, but it is not a string."),Y=String(Y)),Y}function I(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var O="local-forage-detect-blob-support",H=void 0,X={},re=Object.prototype.toString,z="readonly",Z="readwrite";function te(Y){for(var de=Y.length,ie=new ArrayBuffer(de),xe=new Uint8Array(ie),we=0;we=43)}}).catch(function(){return!1})}function ve(Y){return typeof H=="boolean"?y.resolve(H):ee(Y).then(function(de){return H=de,H})}function F(Y){var de=X[Y.name],ie={};ie.promise=new y(function(xe,we){ie.resolve=xe,ie.reject=we}),de.deferredOperations.push(ie),de.dbReady?de.dbReady=de.dbReady.then(function(){return ie.promise}):de.dbReady=ie.promise}function me(Y){var de=X[Y.name],ie=de.deferredOperations.pop();if(ie)return ie.resolve(),ie.promise}function L(Y,de){var ie=X[Y.name],xe=ie.deferredOperations.pop();if(xe)return xe.reject(de),xe.promise}function se(Y,de){return new y(function(ie,xe){if(X[Y.name]=X[Y.name]||ze(),Y.db)if(de)F(Y),Y.db.close();else return ie(Y.db);var we=[Y.name];de&&we.push(Y.version);var fe=g.open.apply(g,we);de&&(fe.onupgradeneeded=function(Le){var Fe=fe.result;try{Fe.createObjectStore(Y.storeName),Le.oldVersion<=1&&Fe.createObjectStore(O)}catch(Ge){if(Ge.name==="ConstraintError")console.warn('The database "'+Y.name+'" has been upgraded from version '+Le.oldVersion+" to version "+Le.newVersion+', but the storage "'+Y.storeName+'" already exists.');else throw Ge}}),fe.onerror=function(Le){Le.preventDefault(),xe(fe.error)},fe.onsuccess=function(){var Le=fe.result;Le.onversionchange=function(Fe){Fe.target.close()},ie(Le),me(Y)}})}function le(Y){return se(Y,!1)}function he(Y){return se(Y,!0)}function Ke(Y,de){if(!Y.db)return!0;var ie=!Y.db.objectStoreNames.contains(Y.storeName),xe=Y.versionY.db.version;if(xe&&(Y.version!==de&&console.warn('The database "'+Y.name+`" can't be downgraded from version `+Y.db.version+" to version "+Y.version+"."),Y.version=Y.db.version),we||ie){if(ie){var fe=Y.db.version+1;fe>Y.version&&(Y.version=fe)}return!0}return!1}function Te(Y){return new y(function(de,ie){var xe=new FileReader;xe.onerror=ie,xe.onloadend=function(we){var fe=btoa(we.target.result||"");de({__local_forage_encoded_blob:!0,data:fe,type:Y.type})},xe.readAsBinaryString(Y)})}function We(Y){var de=te(atob(Y.data));return v([de],{type:Y.type})}function Q(Y){return Y&&Y.__local_forage_encoded_blob}function ge(Y){var de=this,ie=de._initReady().then(function(){var xe=X[de._dbInfo.name];if(xe&&xe.dbReady)return xe.dbReady});return w(ie,Y,Y),ie}function je(Y){F(Y);for(var de=X[Y.name],ie=de.forages,xe=0;xe0&&(!Y.db||fe.name==="InvalidStateError"||fe.name==="NotFoundError"))return y.resolve().then(function(){if(!Y.db||fe.name==="NotFoundError"&&!Y.db.objectStoreNames.contains(Y.storeName)&&Y.version<=Y.db.version)return Y.db&&(Y.version=Y.db.version+1),he(Y)}).then(function(){return je(Y).then(function(){Se(Y,de,ie,xe-1)})}).catch(ie);ie(fe)}}function ze(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Je(Y){var de=this,ie={db:null};if(Y)for(var xe in Y)ie[xe]=Y[xe];var we=X[ie.name];we||(we=ze(),X[ie.name]=we),we.forages.push(de),de._initReady||(de._initReady=de.ready,de.ready=ge);var fe=[];function Le(){return y.resolve()}for(var Fe=0;Fe>4,Ye[we++]=(Le&15)<<4|Fe>>2,Ye[we++]=(Fe&3)<<6|Ge&63;return Ve}function cr(Y){var de=new Uint8Array(Y),ie="",xe;for(xe=0;xe>2],ie+=P[(de[xe]&3)<<4|de[xe+1]>>4],ie+=P[(de[xe+1]&15)<<2|de[xe+2]>>6],ie+=P[de[xe+2]&63];return de.length%3===2?ie=ie.substring(0,ie.length-1)+"=":de.length%3===1&&(ie=ie.substring(0,ie.length-2)+"=="),ie}function $t(Y,de){var ie="";if(Y&&(ie=On.call(Y)),Y&&(ie==="[object ArrayBuffer]"||Y.buffer&&On.call(Y.buffer)==="[object ArrayBuffer]")){var xe,we=be;Y instanceof ArrayBuffer?(xe=Y,we+=Ne):(xe=Y.buffer,ie==="[object Int8Array]"?we+=Me:ie==="[object Uint8Array]"?we+=ke:ie==="[object Uint8ClampedArray]"?we+=Pe:ie==="[object Int16Array]"?we+=De:ie==="[object Uint16Array]"?we+=Ft:ie==="[object Int32Array]"?we+=Ct:ie==="[object Uint32Array]"?we+=ft:ie==="[object Float32Array]"?we+=Sn:ie==="[object Float64Array]"?we+=xt:de(new Error("Failed to get type for BinaryArray"))),de(we+cr(xe))}else if(ie==="[object Blob]"){var fe=new FileReader;fe.onload=function(){var Le=G+Y.type+"~"+cr(this.result);de(be+Oe+Le)},fe.readAsArrayBuffer(Y)}else try{de(JSON.stringify(Y))}catch(Le){console.error("Couldn't convert value into a JSON string: ",Y),de(null,Le)}}function li(Y){if(Y.substring(0,ue)!==be)return JSON.parse(Y);var de=Y.substring(Yr),ie=Y.substring(ue,Yr),xe;if(ie===Oe&&ae.test(de)){var we=de.match(ae);xe=we[1],de=de.substring(we[0].length)}var fe=Mi(de);switch(ie){case Ne:return fe;case Oe:return v([fe],{type:xe});case Me:return new Int8Array(fe);case ke:return new Uint8Array(fe);case Pe:return new Uint8ClampedArray(fe);case De:return new Int16Array(fe);case Ft:return new Uint16Array(fe);case Ct:return new Int32Array(fe);case ft:return new Uint32Array(fe);case Sn:return new Float32Array(fe);case xt:return new Float64Array(fe);default:throw new Error("Unkown type: "+ie)}}var pn={serialize:$t,deserialize:li,stringToBuffer:Mi,bufferToString:cr};function Ss(Y,de,ie,xe){Y.executeSql("CREATE TABLE IF NOT EXISTS "+de.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],ie,xe)}function Dt(Y){var de=this,ie={db:null};if(Y)for(var xe in Y)ie[xe]=typeof Y[xe]!="string"?Y[xe].toString():Y[xe];var we=new y(function(fe,Le){try{ie.db=openDatabase(ie.name,String(ie.version),ie.description,ie.size)}catch(Fe){return Le(Fe)}ie.db.transaction(function(Fe){Ss(Fe,ie,function(){de._dbInfo=ie,fe()},function(Ge,Ve){Le(Ve)})},Le)});return ie.serializer=pn,we}function Bn(Y,de,ie,xe,we,fe){Y.executeSql(ie,xe,we,function(Le,Fe){Fe.code===Fe.SYNTAX_ERR?Le.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[de.storeName],function(Ge,Ve){Ve.rows.length?fe(Ge,Fe):Ss(Ge,de,function(){Ge.executeSql(ie,xe,we,fe)},fe)},fe):fe(Le,Fe)},fe)}function Bt(Y,de){var ie=this;Y=E(Y);var xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){Bn(Fe,Le,"SELECT * FROM "+Le.storeName+" WHERE key = ? LIMIT 1",[Y],function(Ge,Ve){var Ye=Ve.rows.length?Ve.rows.item(0).value:null;Ye&&(Ye=Le.serializer.deserialize(Ye)),we(Ye)},function(Ge,Ve){fe(Ve)})})}).catch(fe)});return S(xe,de),xe}function pt(Y,de){var ie=this,xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){Bn(Fe,Le,"SELECT * FROM "+Le.storeName,[],function(Ge,Ve){for(var Ye=Ve.rows,at=Ye.length,wt=0;wt0){Le(jt.apply(we,[Y,Ge,ie,xe-1]));return}Fe(wt)}})})}).catch(Fe)});return S(fe,ie),fe}function gl(Y,de,ie){return jt.apply(this,[Y,de,ie,1])}function Dd(Y,de){var ie=this;Y=E(Y);var xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){Bn(Fe,Le,"DELETE FROM "+Le.storeName+" WHERE key = ?",[Y],function(){we()},function(Ge,Ve){fe(Ve)})})}).catch(fe)});return S(xe,de),xe}function ba(Y){var de=this,ie=new y(function(xe,we){de.ready().then(function(){var fe=de._dbInfo;fe.db.transaction(function(Le){Bn(Le,fe,"DELETE FROM "+fe.storeName,[],function(){xe()},function(Fe,Ge){we(Ge)})})}).catch(we)});return S(ie,Y),ie}function jd(Y){var de=this,ie=new y(function(xe,we){de.ready().then(function(){var fe=de._dbInfo;fe.db.transaction(function(Le){Bn(Le,fe,"SELECT COUNT(key) as c FROM "+fe.storeName,[],function(Fe,Ge){var Ve=Ge.rows.item(0).c;xe(Ve)},function(Fe,Ge){we(Ge)})})}).catch(we)});return S(ie,Y),ie}function ml(Y,de){var ie=this,xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){Bn(Fe,Le,"SELECT key FROM "+Le.storeName+" WHERE id = ? LIMIT 1",[Y+1],function(Ge,Ve){var Ye=Ve.rows.length?Ve.rows.item(0).key:null;we(Ye)},function(Ge,Ve){fe(Ve)})})}).catch(fe)});return S(xe,de),xe}function Cc(Y){var de=this,ie=new y(function(xe,we){de.ready().then(function(){var fe=de._dbInfo;fe.db.transaction(function(Le){Bn(Le,fe,"SELECT key FROM "+fe.storeName,[],function(Fe,Ge){for(var Ve=[],Ye=0;Ye '__WebKitDatabaseInfoTable__'",[],function(we,fe){for(var Le=[],Fe=0;Fe0}function _l(Y){var de=this,ie={};if(Y)for(var xe in Y)ie[xe]=Y[xe];return ie.keyPrefix=Ai(Y,de._defaultConfig),zd()?(de._dbInfo=ie,ie.serializer=pn,y.resolve()):y.reject()}function kc(Y){var de=this,ie=de.ready().then(function(){for(var xe=de._dbInfo.keyPrefix,we=localStorage.length-1;we>=0;we--){var fe=localStorage.key(we);fe.indexOf(xe)===0&&localStorage.removeItem(fe)}});return S(ie,Y),ie}function wo(Y,de){var ie=this;Y=E(Y);var xe=ie.ready().then(function(){var we=ie._dbInfo,fe=localStorage.getItem(we.keyPrefix+Y);return fe&&(fe=we.serializer.deserialize(fe)),fe});return S(xe,de),xe}function Lc(Y,de){var ie=this,xe=ie.ready().then(function(){for(var we=ie._dbInfo,fe=we.keyPrefix,Le=fe.length,Fe=localStorage.length,Ge=1,Ve=0;Ve=0;Le--){var Fe=localStorage.key(Le);Fe.indexOf(fe)===0&&localStorage.removeItem(Fe)}}):we=y.reject("Invalid arguments"),S(we,de),we}var dt={_driver:"localStorageWrapper",_initStorage:_l,_support:Ic(),iterate:Lc,getItem:wo,setItem:Kt,removeItem:En,clear:kc,length:Tc,key:Gd,keys:Yi,dropInstance:Fn},K=function(de,ie){return de===ie||typeof de=="number"&&typeof ie=="number"&&isNaN(de)&&isNaN(ie)},Ut=function(de,ie){for(var xe=de.length,we=0;we"u"?"undefined":c(ie))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var xe in ie){if(xe==="storeName"&&(ie[xe]=ie[xe].replace(/\W/g,"_")),xe==="version"&&typeof ie[xe]!="number")return new Error("Database version must be a number.");this._config[xe]=ie[xe]}return"driver"in ie&&ie.driver?this.setDriver(this._config.driver):!0}else return typeof ie=="string"?this._config[ie]:this._config},Y.prototype.defineDriver=function(ie,xe,we){var fe=new y(function(Le,Fe){try{var Ge=ie._driver,Ve=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!ie._driver){Fe(Ve);return}for(var Ye=Es.concat("_initStorage"),at=0,wt=Ye.length;at{Yn();iv={},_r=Object.assign(new Et,{setters:{registerPlugin(e){iv[e.name]=iv[e.name]||e}},getPlugin(e){return iv[e]}})});function Yl(e){if(typeof e=="number")return`EPSG:${e}`;if(e=e.replace(/[^\d\.\-]/g,""),e!=="")return`EPSG:${parseInt(e)}`}var cg=W(()=>{});var ug,Zn,uo=W(()=>{cg();ug=hn(Zy()),Zn={get(e={}){let n=ol.proj.get(e.epsg);if(!n){e.proj4&&ug.default.defs(e.epsg,e.proj4);let i={code:e.epsg,extent:e.extent,axisOrientation:e.axisinverted?"neu":"enu",units:e.geographic?"degrees":"m"};n=new ol.proj.Projection(i),n.getAxisOrientation=()=>i.axisOrientation,ol.proj.addProjection(n),ol.proj.proj4.register(ug.default)}return n},async registerProjection(e){let n=ol.proj.get(e)||void 0;if(!n){let{result:i,data:r}=await(await fetch(`/crs/${e.split(":")[1]}/`)).json();if(i)return r.epsg=Yl(r.epsg),n=this.get(r),ol.proj.proj4.register(ug.default),n}return n}}});function qs(e,n="m"){return Math.round(e*Mh[n]*zo)}var wu=W(()=>{Nt()});function za(e,n="m"){return 1/((e>=1?1/e:e)*Mh[n]*zo)}var jh=W(()=>{Nt()});function Su({filter:e=""}){return e=bS.reduce((n,[i,r])=>n.replace(new RegExp(`\\s+${r}\\s+`,"g"),`${r}`).replace(new RegExp(`'${r}`,"g"),`${r}`).replace(new RegExp(`${r}'`,"g"),`${r}`),e).replace(/'$/g,"").replace(/"/g,""),e=bS.reduce((n,[i,r])=>n.replace(new RegExp(r,"g"),["AND","OR"].includes(r)?`|${i},`:`|${i}|`),e).split("|").map((n,i)=>(i+1)%3===0?encodeURIComponent(n):n).join("|"),e}var bS,dg=W(()=>{Nt();bS=Object.entries(Nh)});function sn(e){return e instanceof Promise?e:!e||!e.then?(console.trace(e),Promise.reject("not a promise")):new Promise((n,i)=>{e.then(n).fail(i)})}function Wt(e){return e===void 0?(console.trace(),$.Deferred(n=>n.reject("not a promise")).promise()):e.always?e:$.Deferred(async n=>{try{n.resolve(await(e instanceof Promise?e:e()))}catch(i){console.trace(i),n.reject(i)}}).promise()}var yr=W(()=>{});var Ql=Qe((qh,Eu)=>{var Z3=200,MS="__lodash_hash_undefined__",AS=9007199254740991,dv="[object Arguments]",K3="[object Array]",OS="[object Boolean]",PS="[object Date]",Q3="[object Error]",hv="[object Function]",FS="[object GeneratorFunction]",hg="[object Map]",DS="[object Number]",fv="[object Object]",xS="[object Promise]",jS="[object RegExp]",fg="[object Set]",qS="[object String]",zS="[object Symbol]",sv="[object WeakMap]",GS="[object ArrayBuffer]",pg="[object DataView]",$S="[object Float32Array]",BS="[object Float64Array]",US="[object Int8Array]",VS="[object Int16Array]",WS="[object Int32Array]",HS="[object Uint8Array]",YS="[object Uint8ClampedArray]",XS="[object Uint16Array]",ZS="[object Uint32Array]",J3=/[\\^$.*+?()[\]{}|]/g,eP=/\w*$/,tP=/^\[object .+?Constructor\]$/,nP=/^(?:0|[1-9]\d*)$/,In={};In[dv]=In[K3]=In[GS]=In[pg]=In[OS]=In[PS]=In[$S]=In[BS]=In[US]=In[VS]=In[WS]=In[hg]=In[DS]=In[fv]=In[jS]=In[fg]=In[qS]=In[zS]=In[HS]=In[YS]=In[XS]=In[ZS]=!0;In[Q3]=In[hv]=In[sv]=!1;var iP=typeof global=="object"&&global&&global.Object===Object&&global,rP=typeof self=="object"&&self&&self.Object===Object&&self,Bo=iP||rP||Function("return this")(),KS=typeof qh=="object"&&qh&&!qh.nodeType&&qh,wS=KS&&typeof Eu=="object"&&Eu&&!Eu.nodeType&&Eu,sP=wS&&wS.exports===KS;function oP(e,n){return e.set(n[0],n[1]),e}function aP(e,n){return e.add(n),e}function lP(e,n){for(var i=-1,r=e?e.length:0;++i-1}function PP(e,n){var i=this.__data__,r=_g(i,e);return r<0?i.push([e,n]):i[r][1]=n,this}Uo.prototype.clear=RP;Uo.prototype.delete=MP;Uo.prototype.get=AP;Uo.prototype.has=OP;Uo.prototype.set=PP;function Cu(e){var n=-1,i=e?e.length:0;for(this.clear();++n-1&&e%1==0&&e-1&&e%1==0&&e<=AS}function vg(e){var n=typeof e;return!!e&&(n=="object"||n=="function")}function bF(e){return!!e&&typeof e=="object"}function _v(e){return oE(e)?WP(e):QP(e)}function xF(){return[]}function wF(){return!1}Eu.exports=gF});var vv=Qe((Xne,lE)=>{lE.exports=SF;function SF(e,n){if(yv("noDeprecation"))return e;var i=!1;function r(){if(!i){if(yv("throwDeprecation"))throw new Error(n);yv("traceDeprecation")?console.trace(n):console.warn(n),i=!0}return e.apply(this,arguments)}return r}function yv(e){try{if(!global.localStorage)return!1}catch{return!1}var n=global.localStorage[e];return n==null?!1:String(n).toLowerCase()==="true"}});function xv(e,n){for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}var cE,bv,zt,zs=W(()=>{Yn();mu();yr();bt();cE=hn(Ql()),bv=hn(vv());zt=class extends Et{constructor(n={}){if(n.iconConfig&&(console.warn("[G3W-CLIENT] iconConfig is deprecated"),console.trace(),n.iconColor=n.iconConfig.color,n.icon=n.iconConfig.icon,delete n.iconConfig),n.icon=U.getFontClass(n.icon)||n.icon,n.open=n.open??!1,n.mobile=n.mobile??!0,n.collapsible=n.collapsible??!0,super({setters:{setOpen(i){this.state.open=i,this._setOpen&&this._setOpen(i)},setVisible(i){this.state.visible=i,this._setVisible&&this._setVisible(i)},setLoading(i=!1){this.state.loading=i},setDisabled(i=!1){this.state.disabled=i},reload(){console.warn("[G3W-CLIENT] reloading of components will be discontinued, please update your code as soon as possible",this.getId()),this._reload&&this._reload()}}}),this._firstLayout=!0,this.internalComponent=n.internalComponent??null,this._components=[],this.id=n.id??Math.random()*1e3,this.title=n.title??"",this.state={sizes:{width:0,height:0},info:n.info??null,open:n.open??!1,visible:n.visible??!0,loading:n.loading??!1,disabled:n.disabled??!1,resizable:n.resizable??!1,closewhenshowviewportcontent:n.closewhenshowviewportcontent??!0},this.setService(n.service||this),n.internalComponent&&this.setInternalComponent(n.internalComponent),xv(this,n),this.events=n.events??{},this.events.open){let{when:i="after",cb:r=()=>{}}=this.events.open;this[`on${i}`]("setOpen",o=>r(o))}n.vueComponentObject&&this.init(n)}init(n={}){return this.vueComponent=(0,cE.default)(n.vueComponentObject),this._components=n.components||[],this.setService(n.service||this._service||qi),this._service.init&&this.init!==this._service.init&&this._service.init(n),n.template&&(this.vueComponent.template=n.template),this.setInternalComponent=function(){this.internalComponent=new(Vue.extend(this.vueComponent))({service:this._service,template:n.template,propsData:n.propsData}),this.internalComponent.state=this.getService().state},this.setInternalComponent(),this}getId(){return this.id}setId(n){this.id=n}getOpen(){return this.state.open}getVisible(){return this.state.visible}getTitle(){return this.state.title}setTitle(n){this.state.title=n}getService(){return this._service}setService(n){this._service=n}addComponent(n){this._components.push(n)}removeComponent(n){this._components.find((i,r)=>{if(i===n)return this.splice(r,1),!0})}getInternalComponent(){return this.internalComponent}setInternalComponent(n,i={}){this.internalComponent=n===void 0&&this.internalComponentClass?new this.internalComponentClass:n,(i.events||[]).forEach(r=>this.internalComponent.$on(r.name,o=>r.handler&&r.handler(o)||this[`set${r.name[0].toUpperCase()}${r.name.slice(1)}`](o))),this._service&&this._service.state&&(this.internalComponent.state=this._service.state)}mount(n,i){return Wt(new Promise(r=>{this.internalComponent||this.setInternalComponent(),i&&$(n).append(this.internalComponent.$mount().$el),i||this.internalComponent.$mount(n),this.internalComponent.$nextTick(()=>{this.emit("ready"),r(!0)}),this.emit("mount")}))}unmount(){return Wt(async()=>{this.internalComponent&&(this.state.resizable&&this.internalComponent.$off("resize-component",this.internalComponent.layout),this.state.open=!1,this.internalComponent.$destroy(!0),$(this.internalComponent.$el).remove(),this.internalComponent=null,this.emit("unmount"))})}ismount(){return this.internalComponent&&this.internalComponent.$el}layout(n,i){this.state.resizable&&this._firstLayout&&(this.internalComponent.$on("resize-component",this.internalComponent.layout),this._firstLayout=!1),this.internalComponent.$nextTick(()=>{this.internalComponent.$emit("resize-component",{width:n,height:i})}),this.emit("layout")}};Object.assign(zt.prototype,{destroy:qi,click:qi,show:qi,overwriteServiceMethods:(0,bv.default)(function(e){Object.entries(e).forEach(([n,i])=>this._service[n]=i)},"[G3W-CLIENT] Component::overwriteServiceMethods(methodsOptions) is deprecated"),extendInternalComponent:(0,bv.default)(function(e){this.vueComponent?Object.entries(e).forEach(([n,i])=>{switch(n){case"methods":this.extendInternalComponentMethods(i);break;case"components":this.extendInternalComponentComponents(i);break;case"computed":xv(this.vueComponent[n],i);break;case"data":xv(this.vueComponent[n],i);break}}):this.vueComponent=e},"[G3W-CLIENT] Component::extendInternalComponent(internalComponentOptions) is deprecated")})});var hi,Jl=W(()=>{bt();Yn();yr();hi=class extends Et{constructor(n={}){super(),this.id=n.id||null,this.title=n.title||"",this.service=n.service,n.vueComponentObject?this.internalPanel=new(Vue.extend(n.vueComponentObject))({service:this.service}):this.internalPanel=n.panel||n.internalPanel||null,n.show===!0&&this.internalPanel&&this.show()}getId(){return this.id}getTitle(){return this.title}getService(){return this.service}setService(n){this.service=n}getInternalPanel(){return this.internalPanel}setInternalPanel(n){this.internalPanel=n}show(){U.showPanel(this)}close(){U.closePanel()}mount(n){let i=this.internalPanel,r=i.$mount();return $(n).append(r.$el),r.$nextTick(()=>{i.onShow&&i.onShow()}),Wt(Promise.resolve(!0))}unmount(){let n=this.internalPanel;return n.$destroy(!0),$(n.$el).remove(),n.onClose&&n.onClose(),this.internalComponent=null,this.service&&this.service.clear&&this.service.clear(),Wt(Promise.resolve())}}});function ec(e,n){return e.reduce((i,r)=>{let o=n(r);return i[o]||(i[o]=[]),i[o].push(r),i},{})}var bg=W(()=>{});var ht,xi=W(()=>{ht={async get({url:e,params:n={},signal:i}={}){if(!e)return Promise.reject("No url");n=new URLSearchParams(JSON.parse(JSON.stringify(n||{}))).toString();let r=await(await fetch(e+(n?"?":"")+n,{signal:i})).text();try{return JSON.parse(r)}catch{return r}},async put({url:e,data:n,formdata:i=!1,contentType:r,signal:o}={}){i?(i=new FormData,Object.entries(n).forEach(([c,f])=>i.append(c,f))):r?i=typeof n=="string"?n:JSON.stringify(n||{}):i=new URLSearchParams(JSON.parse(JSON.stringify(n||{}))).toString();let u=await(await fetch(e,{method:"PUT",body:i,headers:{"Content-Type":r||"application/x-www-form-urlencoded"},signal:o})).text();try{return JSON.parse(u)}catch{return u}},async post({url:e,data:n,formdata:i=!1,contentType:r,signal:o}={}){i?(i=new FormData,Object.entries(n).forEach(([c,f])=>i.append(c,f))):r?i=typeof n=="string"?n:JSON.stringify(n||{}):i=new URLSearchParams(JSON.parse(JSON.stringify(n||{}))).toString();let u=await(await fetch(e,{method:"POST",body:i,headers:{"Content-Type":r||"application/x-www-form-urlencoded"},signal:o})).text();try{return JSON.parse(u)}catch{return u}}}});var $h=Qe((aie,Vo)=>{function wv(e){"@babel/helpers - typeof";return Vo.exports=wv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Vo.exports.__esModule=!0,Vo.exports.default=Vo.exports,wv(e)}Vo.exports=wv,Vo.exports.__esModule=!0,Vo.exports.default=Vo.exports});var dE=Qe((lie,Bh)=>{var uE=$h().default;function EF(e,n){if(uE(e)!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var r=i.call(e,n||"default");if(uE(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}Bh.exports=EF,Bh.exports.__esModule=!0,Bh.exports.default=Bh.exports});var Sv=Qe((cie,Uh)=>{var CF=$h().default,IF=dE();function kF(e){var n=IF(e,"string");return CF(n)=="symbol"?n:n+""}Uh.exports=kF,Uh.exports.__esModule=!0,Uh.exports.default=Uh.exports});var hE=Qe((uie,Vh)=>{var LF=Sv();function TF(e,n,i){return(n=LF(n))in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}Vh.exports=TF,Vh.exports.__esModule=!0,Vh.exports.default=Vh.exports});var fE=Qe((die,Wh)=>{var NF=hE();function RF(e){for(var n=1;n{function MF(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Hh.exports=MF,Hh.exports.__esModule=!0,Hh.exports.default=Hh.exports});var mE=Qe((fie,Yh)=>{var AF=Sv();function gE(e,n){for(var i=0;i{function PF(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}Xh.exports=PF,Xh.exports.__esModule=!0,Xh.exports.default=Xh.exports});var _E=Qe((gie,Zh)=>{var FF=$h().default,DF=Ev();function jF(e,n){if(n&&(FF(n)=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return DF(e)}Zh.exports=jF,Zh.exports.__esModule=!0,Zh.exports.default=Zh.exports});var yE=Qe((mie,Wo)=>{function Cv(e){return Wo.exports=Cv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Wo.exports.__esModule=!0,Wo.exports.default=Wo.exports,Cv(e)}Wo.exports=Cv,Wo.exports.__esModule=!0,Wo.exports.default=Wo.exports});var vE=Qe((_ie,Ho)=>{function Iv(e,n){return Ho.exports=Iv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,r){return i.__proto__=r,i},Ho.exports.__esModule=!0,Ho.exports.default=Ho.exports,Iv(e,n)}Ho.exports=Iv,Ho.exports.__esModule=!0,Ho.exports.default=Ho.exports});var bE=Qe((yie,Kh)=>{var qF=vE();function zF(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&qF(e,n)}Kh.exports=zF,Kh.exports.__esModule=!0,Kh.exports.default=Kh.exports});var kv=Qe((vie,Qh)=>{function GF(e,n){(n==null||n>e.length)&&(n=e.length);for(var i=0,r=Array(n);i{var $F=kv();function BF(e){if(Array.isArray(e))return $F(e)}Jh.exports=BF,Jh.exports.__esModule=!0,Jh.exports.default=Jh.exports});var wE=Qe((xie,ef)=>{function UF(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}ef.exports=UF,ef.exports.__esModule=!0,ef.exports.default=ef.exports});var Lv=Qe((wie,tf)=>{var SE=kv();function VF(e,n){if(e){if(typeof e=="string")return SE(e,n);var i={}.toString.call(e).slice(8,-1);return i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set"?Array.from(e):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?SE(e,n):void 0}}tf.exports=VF,tf.exports.__esModule=!0,tf.exports.default=tf.exports});var EE=Qe((Sie,nf)=>{function WF(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +northing meters`+_;var Re=_e/2,Be=0,$e=0,Xe,Ze,gt,St,It;return Re>0&&(Xe=1e5/Math.pow(10,Re),Ze=_.substring(D,D+Re),Be=parseFloat(Ze)*Xe,gt=_.substring(D+Re),$e=parseFloat(gt)*Xe),St=Be+ce,It=$e+Ie,{easting:St,northing:It,zoneLetter:j,zoneNumber:B,accuracy:Xe}}function Eo(_,x){for(var C=ie.charCodeAt(x-1),R=1e5,T=!1;C!==_.charCodeAt(0);){if(C++,C===fe&&C++,C===Le&&C++,C>Ge){if(T)throw"Bad character: "+_;C=we,T=!0}R+=1e5}return R}function yl(_,x){if(_>"V")throw"MGRSPoint given invalid Northing "+_;for(var C=xe.charCodeAt(x-1),R=0,T=!1;C!==_.charCodeAt(0);){if(C++,C===fe&&C++,C===Le&&C++,C>Fe){if(T)throw"Bad character: "+_;C=we,T=!0}R+=1e5}return R}function Is(_){var x;switch(_){case"C":x=11e5;break;case"D":x=2e6;break;case"E":x=28e5;break;case"F":x=37e5;break;case"G":x=46e5;break;case"H":x=55e5;break;case"J":x=64e5;break;case"K":x=73e5;break;case"L":x=82e5;break;case"M":x=91e5;break;case"N":x=0;break;case"P":x=8e5;break;case"Q":x=17e5;break;case"R":x=26e5;break;case"S":x=35e5;break;case"T":x=44e5;break;case"U":x=53e5;break;case"V":x=62e5;break;case"W":x=7e6;break;case"X":x=79e5;break;default:x=-1}if(x>=0)return x;throw"Invalid zone letter: "+_}function Vs(_,x,C){if(!(this instanceof Vs))return new Vs(_,x,C);if(Array.isArray(_))this.x=_[0],this.y=_[1],this.z=_[2]||0;else if(typeof _=="object")this.x=_.x,this.y=_.y,this.z=_.z||0;else if(typeof _=="string"&&typeof x>"u"){var R=_.split(",");this.x=parseFloat(R[0],10),this.y=parseFloat(R[1],10),this.z=parseFloat(R[2],10)||0}else this.x=_,this.y=x,this.z=C||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Vs.fromMGRS=function(_){return new Vs(wt(_))},Vs.prototype.toMGRS=function(_){return Ye([this.x,this.y],_)};var Bd=1,Ud=.25,vl=.046875,Co=.01953125,ks=.01068115234375,Nc=.75,Rc=.46875,Xi=.013020833333333334,ay=.007120768229166667,Sa=.3645833333333333,Zi=.005696614583333333,ly=.3076171875,bl=function(_){var x=[];x[0]=Bd-_*(Ud+_*(vl+_*(Co+_*ks))),x[1]=_*(Nc-_*(vl+_*(Co+_*ks)));var C=_*_;return x[2]=C*(Rc-_*(Xi+_*ay)),C*=_,x[3]=C*(Sa-_*Zi),x[4]=C*_*ly,x},Tt=function(_,x,C,R){return C*=x,x*=x,R[0]*_-C*(R[1]+x*(R[2]+x*(R[3]+x*R[4])))},dr=20,xl=function(_,x,C){for(var R=1/(1-x),T=_,D=dr;D;--D){var B=Math.sin(T),j=1-x*B*B;if(j=(Tt(T,B,Math.cos(T),C)-_)*(j*Math.sqrt(j))*R,T-=j,Math.abs(j)w?Math.tan(C):0,Xe=Math.pow($e,2),Ze=Math.pow(Xe,2);T=1-this.es*Math.pow(j,2),Ie=Ie/Math.sqrt(T);var gt=Tt(C,j,ne,this.en);D=this.a*(this.k0*Ie*(1+_e/6*(1-Xe+Re+_e/20*(5-18*Xe+Ze+14*Re-58*Xe*Re+_e/42*(61+179*Ze-Ze*Xe-479*Xe)))))+this.x0,B=this.a*(this.k0*(gt-this.ml0+j*R*Ie/2*(1+_e/12*(5-Xe+9*Re+4*Be+_e/30*(61+Ze-58*Xe+270*Re-330*Xe*Re+_e/56*(1385+543*Ze-Ze*Xe-3111*Xe))))))+this.y0}else{var ce=ne*Math.sin(R);if(Math.abs(Math.abs(ce)-1)=1){if(ce-1>w)return 93;B=0}else B=Math.acos(B);C<0&&(B=-B),B=this.a*this.k0*(B-this.lat0)+this.y0}return _.x=D,_.y=B,_}function tn(_){var x,C,R,T,D=(_.x-this.x0)*(1/this.a),B=(_.y-this.y0)*(1/this.a);if(this.es)if(x=this.ml0+B/this.k0,C=xl(x,this.es,this.en),Math.abs(C)w?Math.tan(C):0,$e=this.ep2*Math.pow(Re,2),Xe=Math.pow($e,2),Ze=Math.pow(Be,2),gt=Math.pow(Ze,2);x=1-this.es*Math.pow(_e,2);var St=D*Math.sqrt(x)/this.k0,It=Math.pow(St,2);x=x*Be,R=C-x*It/(1-this.es)*.5*(1-It/12*(5+3*Ze-9*$e*Ze+$e-4*Xe-It/30*(61+90*Ze-252*$e*Ze+45*gt+46*$e-It/56*(1385+3633*Ze+4095*gt+1574*gt*Ze)))),T=ke(this.long0+St*(1-It/6*(1+2*Ze+$e-It/20*(5+28*Ze+24*gt+8*$e*Ze+6*$e-It/42*(61+662*Ze+1320*gt+720*gt*Ze))))/Re)}else R=d*Me(B),T=0;else{var j=Math.exp(D/this.k0),ne=.5*(j-1/j),ce=this.lat0+B/this.k0,Ie=Math.cos(ce);x=Math.sqrt((1-Math.pow(Ie,2))/(1+Math.pow(ne,2))),R=Math.asin(x),B<0&&(R=-R),ne===0&&Ie===0?T=0:T=ke(Math.atan2(ne,Ie)+this.long0)}return _.x=T,_.y=R,_}var Zr=["Fast_Transverse_Mercator","Fast Transverse Mercator"],Ea={init:cy,forward:Cp,inverse:tn,names:Zr},Vd=function(_){var x=Math.exp(_);return x=(x-1/x)/2,x},_n=function(_,x){_=Math.abs(_),x=Math.abs(x);var C=Math.max(_,x),R=Math.min(_,x)/(C||1);return C*Math.sqrt(1+Math.pow(R,2))},Wd=function(_){var x=1+_,C=x-1;return C===0?_:_*Math.log(x)/C},Mc=function(_){var x=Math.abs(_);return x=Wd(x*(1+x/(_n(1,x)+1))),_<0?-x:x},wl=function(_,x){for(var C=2*Math.cos(2*x),R=_.length-1,T=_[R],D=0,B;--R>=0;)B=-D+C*T+_[R],D=T,T=B;return x+B*Math.sin(2*x)},uy=function(_,x){for(var C=2*Math.cos(x),R=_.length-1,T=_[R],D=0,B;--R>=0;)B=-D+C*T+_[R],D=T,T=B;return Math.sin(x)*B},Kr=function(_){var x=Math.exp(_);return x=(x+1/x)/2,x},Ac=function(_,x,C){for(var R=Math.sin(x),T=Math.cos(x),D=Vd(C),B=Kr(C),j=2*T*B,ne=-2*R*D,ce=_.length-1,Ie=_[ce],_e=0,Re=0,Be=0,$e,Xe;--ce>=0;)$e=Re,Xe=_e,Re=Ie,_e=Be,Ie=-$e+j*Re-ne*_e+_[ce],Be=-Xe+ne*Re+j*_e;return j=R*B,ne=T*D,[j*Ie-ne*Be,j*Be+ne*Ie]};function Sl(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Ea.init.apply(this),this.forward=Ea.forward,this.inverse=Ea.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var _=this.es/(1+Math.sqrt(1-this.es)),x=_/(2-_),C=x;this.cgb[0]=x*(2+x*(-2/3+x*(-2+x*(116/45+x*(26/45+x*(-2854/675)))))),this.cbg[0]=x*(-2+x*(2/3+x*(4/3+x*(-82/45+x*(32/45+x*(4642/4725)))))),C=C*x,this.cgb[1]=C*(7/3+x*(-8/5+x*(-227/45+x*(2704/315+x*(2323/945))))),this.cbg[1]=C*(5/3+x*(-16/15+x*(-13/9+x*(904/315+x*(-1522/945))))),C=C*x,this.cgb[2]=C*(56/15+x*(-136/35+x*(-1262/105+x*(73814/2835)))),this.cbg[2]=C*(-26/15+x*(34/21+x*(8/5+x*(-12686/2835)))),C=C*x,this.cgb[3]=C*(4279/630+x*(-332/35+x*(-399572/14175))),this.cbg[3]=C*(1237/630+x*(-12/5+x*(-24832/14175))),C=C*x,this.cgb[4]=C*(4174/315+x*(-144838/6237)),this.cbg[4]=C*(-734/315+x*(109598/31185)),C=C*x,this.cgb[5]=C*(601676/22275),this.cbg[5]=C*(444337/155925),C=Math.pow(x,2),this.Qn=this.k0/(1+x)*(1+C*(1/4+C*(1/64+C/256))),this.utg[0]=x*(-.5+x*(2/3+x*(-37/96+x*(1/360+x*(81/512+x*(-96199/604800)))))),this.gtu[0]=x*(.5+x*(-2/3+x*(5/16+x*(41/180+x*(-127/288+x*(7891/37800)))))),this.utg[1]=C*(-1/48+x*(-1/15+x*(437/1440+x*(-46/105+x*(1118711/3870720))))),this.gtu[1]=C*(13/48+x*(-3/5+x*(557/1440+x*(281/630+x*(-1983433/1935360))))),C=C*x,this.utg[2]=C*(-17/480+x*(37/840+x*(209/4480+x*(-5569/90720)))),this.gtu[2]=C*(61/240+x*(-103/140+x*(15061/26880+x*(167603/181440)))),C=C*x,this.utg[3]=C*(-4397/161280+x*(11/504+x*(830251/7257600))),this.gtu[3]=C*(49561/161280+x*(-179/168+x*(6601661/7257600))),C=C*x,this.utg[4]=C*(-4583/161280+x*(108847/3991680)),this.gtu[4]=C*(34729/80640+x*(-3418889/1995840)),C=C*x,this.utg[5]=C*(-20648693/638668800),this.gtu[5]=C*(212378941/319334400);var R=wl(this.cbg,this.lat0);this.Zb=-this.Qn*(R+uy(this.gtu,2*R))}function Ki(_){var x=ke(_.x-this.long0),C=_.y;C=wl(this.cbg,C);var R=Math.sin(C),T=Math.cos(C),D=Math.sin(x),B=Math.cos(x);C=Math.atan2(R,B*T),x=Math.atan2(D*T,_n(R,T*B)),x=Mc(Math.tan(x));var j=Ac(this.gtu,2*C,2*x);C=C+j[0],x=x+j[1];var ne,ce;return Math.abs(x)<=2.623395162778?(ne=this.a*(this.Qn*x)+this.x0,ce=this.a*(this.Qn*C+this.Zb)+this.y0):(ne=1/0,ce=1/0),_.x=ne,_.y=ce,_}function El(_){var x=(_.x-this.x0)*(1/this.a),C=(_.y-this.y0)*(1/this.a);C=(C-this.Zb)/this.Qn,x=x/this.Qn;var R,T;if(Math.abs(x)<=2.623395162778){var D=Ac(this.utg,2*C,2*x);C=C+D[0],x=x+D[1],x=Math.atan(Vd(x));var B=Math.sin(C),j=Math.cos(C),ne=Math.sin(x),ce=Math.cos(x);C=Math.atan2(B*ce,_n(ne,ce*j)),x=Math.atan2(ne,ce*j),R=ke(x+this.long0),T=wl(this.cgb,C)}else R=1/0,T=1/0;return _.x=R,_.y=T,_}var Ip=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"],_i={init:Sl,forward:Ki,inverse:El,names:Ip},dy=function(_,x){if(_===void 0){if(_=Math.floor((ke(x)+Math.PI)*30/Math.PI)+1,_<0)return 0;if(_>60)return 60}return _},kp="etmerc";function Lp(){var _=dy(this.zone,this.long0);if(_===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(_)-183)*E,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,_i.init.apply(this),this.forward=_i.forward,this.inverse=_i.inverse}var hy=["Universal Transverse Mercator System","utm"],Tp={init:Lp,names:hy,dependsOn:kp},Ca=function(_,x){return Math.pow((1-_)/(1+_),x)},Np=20;function Oi(){var _=Math.sin(this.lat0),x=Math.cos(this.lat0);x*=x,this.rc=Math.sqrt(1-this.es)/(1-this.es*_*_),this.C=Math.sqrt(1+this.es*x*x/(1-this.es)),this.phic0=Math.asin(_/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+O)/(Math.pow(Math.tan(.5*this.lat0+O),this.C)*Ca(this.e*_,this.ratexp))}function Ln(_){var x=_.x,C=_.y;return _.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*C+O),this.C)*Ca(this.e*Math.sin(C),this.ratexp))-d,_.x=this.C*x,_}function yi(_){for(var x=1e-14,C=_.x/this.C,R=_.y,T=Math.pow(Math.tan(.5*R+O)/this.K,1/this.C),D=Np;D>0&&(R=2*Math.atan(T*Ca(this.e*Math.sin(_.y),-.5*this.e))-d,!(Math.abs(R-_.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=w&&Math.abs(Math.cos(this.lat_ts))>w&&(this.k0=.5*this.cons*Oe(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Pe(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=Oe(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function Io(_){var x=_.x,C=_.y,R=Math.sin(C),T=Math.cos(C),D,B,j,ne,ce,Ie,_e=ke(x-this.long0);return Math.abs(Math.abs(x-this.long0)-Math.PI)<=w&&Math.abs(C+this.lat0)<=w?(_.x=NaN,_.y=NaN,_):this.sphere?(D=2*this.k0/(1+this.sinlat0*R+this.coslat0*T*Math.cos(_e)),_.x=this.a*D*T*Math.sin(_e)+this.x0,_.y=this.a*D*(this.coslat0*R-this.sinlat0*T*Math.cos(_e))+this.y0,_):(B=2*Math.atan(this.ssfn_(C,R,this.e))-d,ne=Math.cos(B),j=Math.sin(B),Math.abs(this.coslat0)<=w?(ce=Pe(this.e,C*this.con,this.con*R),Ie=2*this.a*this.k0*ce/this.cons,_.x=this.x0+Ie*Math.sin(x-this.long0),_.y=this.y0-this.con*Ie*Math.cos(x-this.long0),_):(Math.abs(this.sinlat0)0?x=ke(this.long0+Math.atan2(_.x,-1*_.y)):x=ke(this.long0+Math.atan2(_.x,_.y)):x=ke(this.long0+Math.atan2(_.x*Math.sin(j),B*this.coslat0*Math.cos(j)-_.y*this.sinlat0*Math.sin(j))),_.x=x,_.y=C,_)}else if(Math.abs(this.coslat0)<=w){if(B<=w)return C=this.lat0,x=this.long0,_.x=x,_.y=C,_;_.x*=this.con,_.y*=this.con,R=B*this.cons/(2*this.a*this.k0),C=this.con*De(this.e,R),x=this.con*ke(this.con*this.long0+Math.atan2(_.x,-1*_.y))}else T=2*Math.atan(B*this.cosX0/(2*this.a*this.k0*this.ms1)),x=this.long0,B<=w?D=this.X0:(D=Math.asin(Math.cos(T)*this.sinX0+_.y*Math.sin(T)*this.cosX0/B),x=ke(this.long0+Math.atan2(_.x*Math.sin(T),B*this.cosX0*Math.cos(T)-_.y*this.sinX0*Math.sin(T)))),C=-1*De(this.e,Math.tan(.5*(d+D)));return _.x=x,_.y=C,_}var Ia=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)","Polar_Stereographic"],Yd={init:Dc,forward:Io,inverse:jc,names:Ia,ssfn_:Fc};function qc(){var _=this.lat0;this.lambda0=this.long0;var x=Math.sin(_),C=this.a,R=this.rf,T=1/R,D=2*T-Math.pow(T,2),B=this.e=Math.sqrt(D);this.R=this.k0*C*Math.sqrt(1-D)/(1-D*Math.pow(x,2)),this.alpha=Math.sqrt(1+D/(1-D)*Math.pow(Math.cos(_),4)),this.b0=Math.asin(x/this.alpha);var j=Math.log(Math.tan(Math.PI/4+this.b0/2)),ne=Math.log(Math.tan(Math.PI/4+_/2)),ce=Math.log((1+B*x)/(1-B*x));this.K=j-this.alpha*ne+this.alpha*B/2*ce}function zc(_){var x=Math.log(Math.tan(Math.PI/4-_.y/2)),C=this.e/2*Math.log((1+this.e*Math.sin(_.y))/(1-this.e*Math.sin(_.y))),R=-this.alpha*(x+C)+this.K,T=2*(Math.atan(Math.exp(R))-Math.PI/4),D=this.alpha*(_.x-this.lambda0),B=Math.atan(Math.sin(D)/(Math.sin(this.b0)*Math.tan(T)+Math.cos(this.b0)*Math.cos(D))),j=Math.asin(Math.cos(this.b0)*Math.sin(T)-Math.sin(this.b0)*Math.cos(T)*Math.cos(D));return _.y=this.R/2*Math.log((1+Math.sin(j))/(1-Math.sin(j)))+this.y0,_.x=this.R*B+this.x0,_}function Xd(_){for(var x=_.x-this.x0,C=_.y-this.y0,R=x/this.R,T=2*(Math.atan(Math.exp(C/this.R))-Math.PI/4),D=Math.asin(Math.cos(this.b0)*Math.sin(T)+Math.sin(this.b0)*Math.cos(T)*Math.cos(R)),B=Math.atan(Math.sin(R)/(Math.cos(this.b0)*Math.cos(R)-Math.sin(this.b0)*Math.tan(T))),j=this.lambda0+B/this.alpha,ne=0,ce=D,Ie=-1e3,_e=0;Math.abs(ce-Ie)>1e-7;){if(++_e>20)return;ne=1/this.alpha*(Math.log(Math.tan(Math.PI/4+D/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(ce))/2)),Ie=ce,ce=2*Math.atan(Math.exp(ne))-Math.PI/2}return _.x=j,_.y=ce,_}var Zd=["somerc"],Kd={init:qc,forward:zc,inverse:Xd,names:Zd},qe=1e-7;function Gc(_){var x=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],C=typeof _.PROJECTION=="object"?Object.keys(_.PROJECTION)[0]:_.PROJECTION;return"no_uoff"in _||"no_off"in _||x.indexOf(C)!==-1}function ko(){var _,x,C,R,T,D,B,j,ne,ce,Ie=0,_e,Re=0,Be=0,$e=0,Xe=0,Ze=0,gt=0;this.no_off=Gc(this),this.no_rot="no_rot"in this;var St=!1;"alpha"in this&&(St=!0);var It=!1;if("rectified_grid_angle"in this&&(It=!0),St&&(gt=this.alpha),It&&(Ie=this.rectified_grid_angle*E),St||It)Re=this.longc;else if(Be=this.long1,Xe=this.lat1,$e=this.long2,Ze=this.lat2,Math.abs(Xe-Ze)<=qe||(_=Math.abs(Xe))<=qe||Math.abs(_-d)<=qe||Math.abs(Math.abs(this.lat0)-d)<=qe||Math.abs(Math.abs(Ze)-d)<=qe)throw new Error;var Jt=1-this.es;x=Math.sqrt(Jt),Math.abs(this.lat0)>w?(j=Math.sin(this.lat0),C=Math.cos(this.lat0),_=1-this.es*j*j,this.B=C*C,this.B=Math.sqrt(1+this.es*this.B*this.B/Jt),this.A=this.B*this.k0*x/_,R=this.B*x/(C*Math.sqrt(_)),T=R*R-1,T<=0?T=0:(T=Math.sqrt(T),this.lat0<0&&(T=-T)),this.E=T+=R,this.E*=Math.pow(Pe(this.e,this.lat0,j),this.B)):(this.B=1/x,this.A=this.k0,this.E=R=T=1),St||It?(St?(_e=Math.asin(Math.sin(gt)/R),It||(Ie=gt)):(_e=Ie,gt=Math.asin(R*Math.sin(_e))),this.lam0=Re-Math.asin(.5*(T-1/T)*Math.tan(_e))/this.B):(D=Math.pow(Pe(this.e,Xe,Math.sin(Xe)),this.B),B=Math.pow(Pe(this.e,Ze,Math.sin(Ze)),this.B),T=this.E/D,ne=(B-D)/(B+D),ce=this.E*this.E,ce=(ce-B*D)/(ce+B*D),_=Be-$e,_<-Math.pi?$e-=H:_>Math.pi&&($e+=H),this.lam0=ke(.5*(Be+$e)-Math.atan(ce*Math.tan(.5*this.B*(Be-$e))/ne)/this.B),_e=Math.atan(2*Math.sin(this.B*ke(Be-this.lam0))/(T-1/T)),Ie=gt=Math.asin(R*Math.sin(_e))),this.singam=Math.sin(_e),this.cosgam=Math.cos(_e),this.sinrot=Math.sin(Ie),this.cosrot=Math.cos(Ie),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(R*R-1)/Math.cos(gt))),this.lat0<0&&(this.u_0=-this.u_0)),T=.5*_e,this.v_pole_n=this.ArB*Math.log(Math.tan(O-T)),this.v_pole_s=this.ArB*Math.log(Math.tan(O+T))}function Qd(_){var x={},C,R,T,D,B,j,ne,ce;if(_.x=_.x-this.lam0,Math.abs(Math.abs(_.y)-d)>w){if(B=this.E/Math.pow(Pe(this.e,_.y,Math.sin(_.y)),this.B),j=1/B,C=.5*(B-j),R=.5*(B+j),D=Math.sin(this.B*_.x),T=(C*this.singam-D*this.cosgam)/R,Math.abs(Math.abs(T)-1)0?this.v_pole_n:this.v_pole_s,ne=this.ArB*_.y;return this.no_rot?(x.x=ne,x.y=ce):(ne-=this.u_0,x.x=ce*this.cosrot+ne*this.sinrot,x.y=ne*this.cosrot-ce*this.sinrot),x.x=this.a*x.x+this.x0,x.y=this.a*x.y+this.y0,x}function Jd(_){var x,C,R,T,D,B,j,ne={};if(_.x=(_.x-this.x0)*(1/this.a),_.y=(_.y-this.y0)*(1/this.a),this.no_rot?(C=_.y,x=_.x):(C=_.x*this.cosrot-_.y*this.sinrot,x=_.y*this.cosrot+_.x*this.sinrot+this.u_0),R=Math.exp(-this.BrA*C),T=.5*(R-1/R),D=.5*(R+1/R),B=Math.sin(this.BrA*x),j=(B*this.cosgam+T*this.singam)/D,Math.abs(Math.abs(j)-1)w?this.ns=Math.log(R/j)/Math.log(T/ne):this.ns=x,isNaN(this.ns)&&(this.ns=x),this.f0=R/(this.ns*Math.pow(T,this.ns)),this.rh=this.a*this.f0*Math.pow(ce,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function Rr(_){var x=_.x,C=_.y;Math.abs(2*Math.abs(C)-Math.PI)<=w&&(C=Me(C)*(d-2*w));var R=Math.abs(Math.abs(C)-d),T,D;if(R>w)T=Pe(this.e,C,Math.sin(C)),D=this.a*this.f0*Math.pow(T,this.ns);else{if(R=C*this.ns,R<=0)return null;D=0}var B=this.ns*ke(x-this.long0);return _.x=this.k0*(D*Math.sin(B))+this.x0,_.y=this.k0*(this.rh-D*Math.cos(B))+this.y0,_}function $c(_){var x,C,R,T,D,B=(_.x-this.x0)/this.k0,j=this.rh-(_.y-this.y0)/this.k0;this.ns>0?(x=Math.sqrt(B*B+j*j),C=1):(x=-Math.sqrt(B*B+j*j),C=-1);var ne=0;if(x!==0&&(ne=Math.atan2(C*B,C*j)),x!==0||this.ns>0){if(C=1/this.ns,R=Math.pow(x/(this.a*this.f0),C),T=De(this.e,R),T===-9999)return null}else T=-d;return D=ke(ne/this.ns+this.long0),_.x=D,_.y=T,_}var Ii=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"],vn={init:Cl,forward:Rr,inverse:$c,names:Ii};function Mp(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function ka(_){var x,C,R,T,D,B,j,ne=_.x,ce=_.y,Ie=ke(ne-this.long0);return x=Math.pow((1+this.e*Math.sin(ce))/(1-this.e*Math.sin(ce)),this.alfa*this.e/2),C=2*(Math.atan(this.k*Math.pow(Math.tan(ce/2+this.s45),this.alfa)/x)-this.s45),R=-Ie*this.alfa,T=Math.asin(Math.cos(this.ad)*Math.sin(C)+Math.sin(this.ad)*Math.cos(C)*Math.cos(R)),D=Math.asin(Math.cos(C)*Math.sin(R)/Math.cos(T)),B=this.n*D,j=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(T/2+this.s45),this.n),_.y=j*Math.cos(B)/1,_.x=j*Math.sin(B)/1,this.czech||(_.y*=-1,_.x*=-1),_}function Bc(_){var x,C,R,T,D,B,j,ne,ce=_.x;_.x=_.y,_.y=ce,this.czech||(_.y*=-1,_.x*=-1),B=Math.sqrt(_.x*_.x+_.y*_.y),D=Math.atan2(_.y,_.x),T=D/Math.sin(this.s0),R=2*(Math.atan(Math.pow(this.ro0/B,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),x=Math.asin(Math.cos(this.ad)*Math.sin(R)-Math.sin(this.ad)*Math.cos(R)*Math.cos(T)),C=Math.asin(Math.cos(R)*Math.sin(T)/Math.cos(x)),_.x=this.long0-C/this.alfa,j=x,ne=0;var Ie=0;do _.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(x/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(j))/(1-this.e*Math.sin(j)),this.e/2))-this.s45),Math.abs(j-_.y)<1e-10&&(ne=1),j=_.y,Ie+=1;while(ne===0&&Ie<15);return Ie>=15?null:_}var th=["Krovak","krovak"],Jr={init:Mp,forward:ka,inverse:Bc,names:th},ci=function(_,x,C,R,T){return _*T-x*Math.sin(2*T)+C*Math.sin(4*T)-R*Math.sin(6*T)},Ls=function(_){return 1-.25*_*(1+_/16*(3+1.25*_))},Ws=function(_){return .375*_*(1+.25*_*(1+.46875*_))},Lo=function(_){return .05859375*_*_*(1+.75*_)},Hs=function(_){return _*_*_*(35/3072)},es=function(_,x,C){var R=x*C;return _/Math.sqrt(1-R*R)},Mr=function(_){return Math.abs(_)1e-7?(C=_*x,(1-_*_)*(x/(1-C*C)-.5/_*Math.log((1-C)/(1+C)))):2*x},Vc=1,rh=2,sh=3,Or=4;function Wc(){var _=Math.abs(this.lat0);if(Math.abs(_-d)0){var x;switch(this.qp=Ar(this.e,1),this.mmf=.5/(1-this.es),this.apa=Pr(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),x=Math.sin(this.lat0),this.sinb1=Ar(this.e,x)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*x*x)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function oh(_){var x,C,R,T,D,B,j,ne,ce,Ie,_e=_.x,Re=_.y;if(_e=ke(_e-this.long0),this.sphere){if(D=Math.sin(Re),Ie=Math.cos(Re),R=Math.cos(_e),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(C=this.mode===this.EQUIT?1+Ie*R:1+this.sinph0*D+this.cosph0*Ie*R,C<=w)return null;C=Math.sqrt(2/C),x=C*Ie*Math.sin(_e),C*=this.mode===this.EQUIT?D:this.cosph0*D-this.sinph0*Ie*R}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(R=-R),Math.abs(Re+this.lat0)=0?(x=(ce=Math.sqrt(B))*T,C=R*(this.mode===this.S_POLE?ce:-ce)):x=C=0;break}}return _.x=this.a*x+this.x0,_.y=this.a*C+this.y0,_}function ah(_){_.x-=this.x0,_.y-=this.y0;var x=_.x/this.a,C=_.y/this.a,R,T,D,B,j,ne,ce;if(this.sphere){var Ie=0,_e,Re=0;if(_e=Math.sqrt(x*x+C*C),T=_e*.5,T>1)return null;switch(T=2*Math.asin(T),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(Re=Math.sin(T),Ie=Math.cos(T)),this.mode){case this.EQUIT:T=Math.abs(_e)<=w?0:Math.asin(C*Re/_e),x*=Re,C=Ie*_e;break;case this.OBLIQ:T=Math.abs(_e)<=w?this.lat0:Math.asin(Ie*this.sinph0+C*Re*this.cosph0/_e),x*=Re*this.cosph0,C=(Ie-Math.sin(T)*this.sinph0)*_e;break;case this.N_POLE:C=-C,T=d-T;break;case this.S_POLE:T-=d;break}R=C===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(x,C)}else{if(ce=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(x/=this.dd,C*=this.dd,ne=Math.sqrt(x*x+C*C),ne1&&(_=_>1?1:-1),Math.asin(_)};function lh(){Math.abs(this.lat1+this.lat2)w?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function ei(_){var x=_.x,C=_.y;this.sin_phi=Math.sin(C),this.cos_phi=Math.cos(C);var R=Ar(this.e3,this.sin_phi),T=this.a*Math.sqrt(this.c-this.ns0*R)/this.ns0,D=this.ns0*ke(x-this.long0),B=T*Math.sin(D)+this.x0,j=this.rh-T*Math.cos(D)+this.y0;return _.x=B,_.y=j,_}function Ap(_){var x,C,R,T,D,B;return _.x-=this.x0,_.y=this.rh-_.y+this.y0,this.ns0>=0?(x=Math.sqrt(_.x*_.x+_.y*_.y),R=1):(x=-Math.sqrt(_.x*_.x+_.y*_.y),R=-1),T=0,x!==0&&(T=Math.atan2(R*_.x,R*_.y)),R=x*this.ns0/this.a,this.sphere?B=Math.asin((this.c-R*R)/(2*this.ns0)):(C=(this.c-R*R)/this.ns0,B=this.phi1z(this.e3,C)),D=ke(T/this.ns0+this.long0),_.x=D,_.y=B,_}function Op(_,x){var C,R,T,D,B,j=ts(.5*x);if(_0||Math.abs(B)<=w?(j=this.x0+this.a*D*C*Math.sin(R)/B,ne=this.y0+this.a*D*(this.cos_p14*x-this.sin_p14*C*T)/B):(j=this.x0+this.infinity_dist*C*Math.sin(R),ne=this.y0+this.infinity_dist*(this.cos_p14*x-this.sin_p14*C*T)),_.x=j,_.y=ne,_}function ki(_){var x,C,R,T,D,B;return _.x=(_.x-this.x0)/this.a,_.y=(_.y-this.y0)/this.a,_.x/=this.k0,_.y/=this.k0,(x=Math.sqrt(_.x*_.x+_.y*_.y))?(T=Math.atan2(x,this.rc),C=Math.sin(T),R=Math.cos(T),B=ts(R*this.sin_p14+_.y*C*this.cos_p14/x),D=Math.atan2(_.x*C,x*this.cos_p14*R-_.y*this.sin_p14*C),D=ke(this.long0+D)):(B=this.phic0,D=0),_.x=D,_.y=B,_}var Xc=["gnom"],Ll={init:Xs,forward:ch,inverse:ki,names:Xc},py=function(_,x){var C=1-(1-_*_)/(2*_)*Math.log((1-_)/(1+_));if(Math.abs(Math.abs(x)-C)<1e-6)return x<0?-1*d:d;for(var R=Math.asin(.5*x),T,D,B,j,ne=0;ne<30;ne++)if(D=Math.sin(R),B=Math.cos(R),j=_*D,T=Math.pow(1-j*j,2)/(2*B)*(x/(1-_*_)-D/(1-j*j)+.5/_*Math.log((1-j)/(1+j))),R+=T,Math.abs(T)<=1e-10)return R;return NaN};function No(){this.sphere||(this.k0=Oe(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function uh(_){var x=_.x,C=_.y,R,T,D=ke(x-this.long0);if(this.sphere)R=this.x0+this.a*D*Math.cos(this.lat_ts),T=this.y0+this.a*Math.sin(C)/Math.cos(this.lat_ts);else{var B=Ar(this.e,Math.sin(C));R=this.x0+this.a*this.k0*D,T=this.y0+this.a*B*.5/this.k0}return _.x=R,_.y=T,_}function ns(_){_.x-=this.x0,_.y-=this.y0;var x,C;return this.sphere?(x=ke(this.long0+_.x/this.a/Math.cos(this.lat_ts)),C=Math.asin(_.y/this.a*Math.cos(this.lat_ts))):(C=py(this.e,2*_.y*this.k0/this.a),x=ke(this.long0+_.x/(this.a*this.k0))),_.x=x,_.y=C,_}var dh=["cea"],Fi={init:No,forward:uh,inverse:ns,names:dh};function Zs(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function ct(_){var x=_.x,C=_.y,R=ke(x-this.long0),T=Mr(C-this.lat0);return _.x=this.x0+this.a*R*this.rc,_.y=this.y0+this.a*T,_}function Ks(_){var x=_.x,C=_.y;return _.x=ke(this.long0+(x-this.x0)/(this.a*this.rc)),_.y=Mr(this.lat0+(C-this.y0)/this.a),_}var Qi=["Equirectangular","Equidistant_Cylindrical","eqc"],Tl={init:Zs,forward:ct,inverse:Ks,names:Qi},Ra=20;function gy(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ls(this.es),this.e1=Ws(this.es),this.e2=Lo(this.es),this.e3=Hs(this.es),this.ml0=this.a*ci(this.e0,this.e1,this.e2,this.e3,this.lat0)}function Ts(_){var x=_.x,C=_.y,R,T,D,B=ke(x-this.long0);if(D=B*Math.sin(C),this.sphere)Math.abs(C)<=w?(R=this.a*B,T=-1*this.a*this.lat0):(R=this.a*Math.sin(D)/Math.tan(C),T=this.a*(Mr(C-this.lat0)+(1-Math.cos(D))/Math.tan(C)));else if(Math.abs(C)<=w)R=this.a*B,T=-1*this.ml0;else{var j=es(this.a,this.e,Math.sin(C))/Math.tan(C);R=j*Math.sin(D),T=this.a*ci(this.e0,this.e1,this.e2,this.e3,C)-this.ml0+j*(1-Math.cos(D))}return _.x=R+this.x0,_.y=T+this.y0,_}function Ma(_){var x,C,R,T,D,B,j,ne,ce;if(R=_.x-this.x0,T=_.y-this.y0,this.sphere)if(Math.abs(T+this.a*this.lat0)<=w)x=ke(R/this.a+this.long0),C=0;else{B=this.lat0+T/this.a,j=R*R/this.a/this.a+B*B,ne=B;var Ie;for(D=Ra;D;--D)if(Ie=Math.tan(ne),ce=-1*(B*(ne*Ie+1)-ne-.5*(ne*ne+j)*Ie)/((ne-B)/Ie-1),ne+=ce,Math.abs(ce)<=w){C=ne;break}x=ke(this.long0+Math.asin(R*Math.tan(ne)/this.a)/Math.sin(C))}else if(Math.abs(T+this.ml0)<=w)C=0,x=ke(this.long0+R/this.a);else{B=(this.ml0+T)/this.a,j=R*R/this.a/this.a+B*B,ne=B;var _e,Re,Be,$e,Xe;for(D=Ra;D;--D)if(Xe=this.e*Math.sin(ne),_e=Math.sqrt(1-Xe*Xe)*Math.tan(ne),Re=this.a*ci(this.e0,this.e1,this.e2,this.e3,ne),Be=this.e0-2*this.e1*Math.cos(2*ne)+4*this.e2*Math.cos(4*ne)-6*this.e3*Math.cos(6*ne),$e=Re/this.a,ce=(B*(_e*$e+1)-$e-.5*_e*($e*$e+j))/(this.es*Math.sin(2*ne)*($e*$e+j-2*B*$e)/(4*_e)+(B-$e)*(_e*Be-2/Math.sin(2*ne))-Be),ne-=ce,Math.abs(ce)<=w){C=ne;break}_e=Math.sqrt(1-this.es*Math.pow(Math.sin(C),2))*Math.tan(C),x=ke(this.long0+Math.asin(R*_e/this.a)/Math.sin(C))}return _.x=x,_.y=C,_}var Ns=["Polyconic","poly"],Nl={init:gy,forward:Ts,inverse:Ma,names:Ns};function is(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function Rs(_){var x,C=_.x,R=_.y,T=R-this.lat0,D=C-this.long0,B=T/g*1e-5,j=D,ne=1,ce=0;for(x=1;x<=10;x++)ne=ne*B,ce=ce+this.A[x]*ne;var Ie=ce,_e=j,Re=1,Be=0,$e,Xe,Ze=0,gt=0;for(x=1;x<=6;x++)$e=Re*Ie-Be*_e,Xe=Be*Ie+Re*_e,Re=$e,Be=Xe,Ze=Ze+this.B_re[x]*Re-this.B_im[x]*Be,gt=gt+this.B_im[x]*Re+this.B_re[x]*Be;return _.x=gt*this.a+this.x0,_.y=Ze*this.a+this.y0,_}function Dp(_){var x,C=_.x,R=_.y,T=C-this.x0,D=R-this.y0,B=D/this.a,j=T/this.a,ne=1,ce=0,Ie,_e,Re=0,Be=0;for(x=1;x<=6;x++)Ie=ne*B-ce*j,_e=ce*B+ne*j,ne=Ie,ce=_e,Re=Re+this.C_re[x]*ne-this.C_im[x]*ce,Be=Be+this.C_im[x]*ne+this.C_re[x]*ce;for(var $e=0;$e.999999999999&&(C=.999999999999),x=Math.asin(C);var R=ke(this.long0+_.x/(.900316316158*this.a*Math.cos(x)));R<-Math.PI&&(R=-Math.PI),R>Math.PI&&(R=Math.PI),C=(2*x+Math.sin(2*x))/Math.PI,Math.abs(C)>1&&(C=1);var T=Math.asin(C);return _.x=R,_.y=T,_}var by=["Mollweide","moll"],fh={init:yy,forward:Qc,inverse:vy,names:by};function Jc(){Math.abs(this.lat1+this.lat2)=0?(C=Math.sqrt(_.x*_.x+_.y*_.y),x=1):(C=-Math.sqrt(_.x*_.x+_.y*_.y),x=-1);var D=0;if(C!==0&&(D=Math.atan2(x*_.x,x*_.y)),this.sphere)return T=ke(this.long0+D/this.ns),R=Mr(this.g-C/this.a),_.x=T,_.y=R,_;var B=this.g-C/this.a;return R=To(B,this.e0,this.e1,this.e2,this.e3),T=ke(this.long0+D/this.ns),_.x=T,_.y=R,_}var xy=["Equidistant_Conic","eqdc"],Qs={init:Jc,forward:Ao,inverse:eu,names:xy};function Ol(){this.R=this.a}function tu(_){var x=_.x,C=_.y,R=ke(x-this.long0),T,D;Math.abs(C)<=w&&(T=this.x0+this.R*R,D=this.y0);var B=ts(2*Math.abs(C/Math.PI));(Math.abs(R)<=w||Math.abs(Math.abs(C)-d)<=w)&&(T=this.x0,C>=0?D=this.y0+Math.PI*this.R*Math.tan(.5*B):D=this.y0+Math.PI*this.R*-Math.tan(.5*B));var j=.5*Math.abs(Math.PI/R-R/Math.PI),ne=j*j,ce=Math.sin(B),Ie=Math.cos(B),_e=Ie/(ce+Ie-1),Re=_e*_e,Be=_e*(2/ce-1),$e=Be*Be,Xe=Math.PI*this.R*(j*(_e-$e)+Math.sqrt(ne*(_e-$e)*(_e-$e)-($e+ne)*(Re-$e)))/($e+ne);R<0&&(Xe=-Xe),T=this.x0+Xe;var Ze=ne+_e;return Xe=Math.PI*this.R*(Be*Ze-j*Math.sqrt(($e+ne)*(ne+1)-Ze*Ze))/($e+ne),C>=0?D=this.y0+Xe:D=this.y0-Xe,_.x=T,_.y=D,_}function wy(_){var x,C,R,T,D,B,j,ne,ce,Ie,_e,Re,Be;return _.x-=this.x0,_.y-=this.y0,_e=Math.PI*this.R,R=_.x/_e,T=_.y/_e,D=R*R+T*T,B=-Math.abs(T)*(1+D),j=B-2*T*T+R*R,ne=-2*B+1+2*T*T+D*D,Be=T*T/ne+(2*j*j*j/ne/ne/ne-9*B*j/ne/ne)/27,ce=(B-j*j/3/ne)/ne,Ie=2*Math.sqrt(-ce/3),_e=3*Be/ce/Ie,Math.abs(_e)>1&&(_e>=0?_e=1:_e=-1),Re=Math.acos(_e)/3,_.y>=0?C=(-Ie*Math.cos(Re+Math.PI/3)-j/3/ne)*Math.PI:C=-(-Ie*Math.cos(Re+Math.PI/3)-j/3/ne)*Math.PI,Math.abs(R)2*d*this.a?void 0:(C=x/this.a,R=Math.sin(C),T=Math.cos(C),D=this.long0,Math.abs(x)<=w?B=this.lat0:(B=ts(T*this.sin_p12+_.y*R*this.cos_p12/x),j=Math.abs(this.lat0)-d,Math.abs(j)<=w?this.lat0>=0?D=ke(this.long0+Math.atan2(_.x,-_.y)):D=ke(this.long0-Math.atan2(-_.x,_.y)):D=ke(this.long0+Math.atan2(_.x*R,x*this.cos_p12*T-_.y*this.sin_p12*R))),_.x=D,_.y=B,_)):(ne=Ls(this.es),ce=Ws(this.es),Ie=Lo(this.es),_e=Hs(this.es),Math.abs(this.sin_p12-1)<=w?(Re=this.a*ci(ne,ce,Ie,_e,d),x=Math.sqrt(_.x*_.x+_.y*_.y),Be=Re-x,B=To(Be/this.a,ne,ce,Ie,_e),D=ke(this.long0+Math.atan2(_.x,-1*_.y)),_.x=D,_.y=B,_):Math.abs(this.sin_p12+1)<=w?(Re=this.a*ci(ne,ce,Ie,_e,d),x=Math.sqrt(_.x*_.x+_.y*_.y),Be=x-Re,B=To(Be/this.a,ne,ce,Ie,_e),D=ke(this.long0+Math.atan2(_.x,_.y)),_.x=D,_.y=B,_):(x=Math.sqrt(_.x*_.x+_.y*_.y),Ze=Math.atan2(_.x,_.y),$e=es(this.a,this.e,this.sin_p12),gt=Math.cos(Ze),St=this.e*this.cos_p12*gt,It=-St*St/(1-this.es),Jt=3*this.es*(1-It)*this.sin_p12*this.cos_p12*gt/(1-this.es),Xt=x/$e,Zt=Xt-It*(1+It)*Math.pow(Xt,3)/6-Jt*(1+3*It)*Math.pow(Xt,4)/24,ti=1-It*Zt*Zt/2-Xt*Zt*Zt*Zt/6,Xe=Math.asin(this.sin_p12*Math.cos(Zt)+this.cos_p12*Math.sin(Zt)*gt),D=ke(this.long0+Math.asin(Math.sin(Ze)*Math.sin(Zt)/Math.cos(Xe))),an=Math.sin(Xe),B=Math.atan2((an-this.es*ti*this.sin_p12)*Math.tan(Xe),an*(1-this.es)),_.x=D,_.y=B,_))}var Cy=["Azimuthal_Equidistant","aeqd"],Iy={init:Oa,forward:Sy,inverse:Ey,names:Cy};function jp(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function hr(_){var x,C,R,T,D,B,j,ne,ce=_.x,Ie=_.y;return R=ke(ce-this.long0),x=Math.sin(Ie),C=Math.cos(Ie),T=Math.cos(R),B=this.sin_p14*x+this.cos_p14*C*T,D=1,(B>0||Math.abs(B)<=w)&&(j=this.a*D*C*Math.sin(R),ne=this.y0+this.a*D*(this.cos_p14*x-this.sin_p14*C*T)),_.x=j,_.y=ne,_}function rs(_){var x,C,R,T,D,B,j;return _.x-=this.x0,_.y-=this.y0,x=Math.sqrt(_.x*_.x+_.y*_.y),C=ts(x/this.a),R=Math.sin(C),T=Math.cos(C),B=this.long0,Math.abs(x)<=w?(j=this.lat0,_.x=B,_.y=j,_):(j=ts(T*this.sin_p14+_.y*R*this.cos_p14/x),D=Math.abs(this.lat0)-d,Math.abs(D)<=w?(this.lat0>=0?B=ke(this.long0+Math.atan2(_.x,-_.y)):B=ke(this.long0-Math.atan2(-_.x,_.y)),_.x=B,_.y=j,_):(B=ke(this.long0+Math.atan2(_.x*R,x*this.cos_p14*T-_.y*this.sin_p14*R)),_.x=B,_.y=j,_))}var Dl=["ortho"],ky={init:jp,forward:hr,inverse:rs,names:Dl},Tn={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},Pt={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Ly(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=d-O/2?this.face=Tn.TOP:this.lat0<=-(d-O/2)?this.face=Tn.BOTTOM:Math.abs(this.long0)<=O?this.face=Tn.FRONT:Math.abs(this.long0)<=d+O?this.face=this.long0>0?Tn.RIGHT:Tn.LEFT:this.face=Tn.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Oo(_){var x={x:0,y:0},C,R,T,D,B,j,ne={value:0};if(_.x-=this.long0,this.es!==0?C=Math.atan(this.one_minus_f_squared*Math.tan(_.y)):C=_.y,R=_.x,this.face===Tn.TOP)D=d-C,R>=O&&R<=d+O?(ne.value=Pt.AREA_0,T=R-d):R>d+O||R<=-(d+O)?(ne.value=Pt.AREA_1,T=R>0?R-X:R+X):R>-(d+O)&&R<=-O?(ne.value=Pt.AREA_2,T=R+d):(ne.value=Pt.AREA_3,T=R);else if(this.face===Tn.BOTTOM)D=d+C,R>=O&&R<=d+O?(ne.value=Pt.AREA_0,T=-R+d):R=-O?(ne.value=Pt.AREA_1,T=-R):R<-O&&R>=-(d+O)?(ne.value=Pt.AREA_2,T=-R-d):(ne.value=Pt.AREA_3,T=R>0?-R+X:-R-X);else{var ce,Ie,_e,Re,Be,$e,Xe;this.face===Tn.RIGHT?R=dn(R,+d):this.face===Tn.BACK?R=dn(R,+X):this.face===Tn.LEFT&&(R=dn(R,-d)),Re=Math.sin(C),Be=Math.cos(C),$e=Math.sin(R),Xe=Math.cos(R),ce=Be*Xe,Ie=Be*$e,_e=Re,this.face===Tn.FRONT?(D=Math.acos(ce),T=iu(D,_e,Ie,ne)):this.face===Tn.RIGHT?(D=Math.acos(Ie),T=iu(D,_e,-ce,ne)):this.face===Tn.BACK?(D=Math.acos(-ce),T=iu(D,_e,-Ie,ne)):this.face===Tn.LEFT?(D=Math.acos(-Ie),T=iu(D,_e,ce,ne)):(D=T=0,ne.value=Pt.AREA_0)}return j=Math.atan(12/X*(T+Math.acos(Math.sin(T)*Math.cos(O))-d)),B=Math.sqrt((1-Math.cos(D))/(Math.cos(j)*Math.cos(j))/(1-Math.cos(Math.atan(1/Math.cos(T))))),ne.value===Pt.AREA_1?j+=d:ne.value===Pt.AREA_2?j+=X:ne.value===Pt.AREA_3&&(j+=1.5*X),x.x=B*Math.cos(j),x.y=B*Math.sin(j),x.x=x.x*this.a+this.x0,x.y=x.y*this.a+this.y0,_.x=x.x,_.y=x.y,_}function nu(_){var x={lam:0,phi:0},C,R,T,D,B,j,ne,ce,Ie,_e={value:0};if(_.x=(_.x-this.x0)/this.a,_.y=(_.y-this.y0)/this.a,R=Math.atan(Math.sqrt(_.x*_.x+_.y*_.y)),C=Math.atan2(_.y,_.x),_.x>=0&&_.x>=Math.abs(_.y)?_e.value=Pt.AREA_0:_.y>=0&&_.y>=Math.abs(_.x)?(_e.value=Pt.AREA_1,C-=d):_.x<0&&-_.x>=Math.abs(_.y)?(_e.value=Pt.AREA_2,C=C<0?C+X:C-X):(_e.value=Pt.AREA_3,C+=d),Ie=X/12*Math.tan(C),B=Math.sin(Ie)/(Math.cos(Ie)-1/Math.sqrt(2)),j=Math.atan(B),T=Math.cos(C),D=Math.tan(R),ne=1-T*T*D*D*(1-Math.cos(Math.atan(1/Math.cos(j)))),ne<-1?ne=-1:ne>1&&(ne=1),this.face===Tn.TOP)ce=Math.acos(ne),x.phi=d-ce,_e.value===Pt.AREA_0?x.lam=j+d:_e.value===Pt.AREA_1?x.lam=j<0?j+X:j-X:_e.value===Pt.AREA_2?x.lam=j-d:x.lam=j;else if(this.face===Tn.BOTTOM)ce=Math.acos(ne),x.phi=ce-d,_e.value===Pt.AREA_0?x.lam=-j+d:_e.value===Pt.AREA_1?x.lam=-j:_e.value===Pt.AREA_2?x.lam=-j-d:x.lam=j<0?-j-X:-j+X;else{var Re,Be,$e;Re=ne,Ie=Re*Re,Ie>=1?$e=0:$e=Math.sqrt(1-Ie)*Math.sin(j),Ie+=$e*$e,Ie>=1?Be=0:Be=Math.sqrt(1-Ie),_e.value===Pt.AREA_1?(Ie=Be,Be=-$e,$e=Ie):_e.value===Pt.AREA_2?(Be=-Be,$e=-$e):_e.value===Pt.AREA_3&&(Ie=Be,Be=$e,$e=-Ie),this.face===Tn.RIGHT?(Ie=Re,Re=-Be,Be=Ie):this.face===Tn.BACK?(Re=-Re,Be=-Be):this.face===Tn.LEFT&&(Ie=Re,Re=Be,Be=-Ie),x.phi=Math.acos(-$e)-d,x.lam=Math.atan2(Be,Re),this.face===Tn.RIGHT?x.lam=dn(x.lam,-d):this.face===Tn.BACK?x.lam=dn(x.lam,-X):this.face===Tn.LEFT&&(x.lam=dn(x.lam,+d))}if(this.es!==0){var Xe,Ze,gt;Xe=x.phi<0?1:0,Ze=Math.tan(x.phi),gt=this.b/Math.sqrt(Ze*Ze+this.one_minus_f_squared),x.phi=Math.atan(Math.sqrt(this.a*this.a-gt*gt)/(this.one_minus_f*gt)),Xe&&(x.phi=-x.phi)}return x.lam+=this.long0,_.x=x.lam,_.y=x.phi,_}function iu(_,x,C,R){var T;return _O&&T<=d+O?(R.value=Pt.AREA_1,T-=d):T>d+O||T<=-(d+O)?(R.value=Pt.AREA_2,T=T>=0?T-X:T+X):(R.value=Pt.AREA_3,T+=d)),T}function dn(_,x){var C=_+x;return C<-X?C+=H:C>+X&&(C-=H),C}var ru=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],As={init:Ly,forward:Oo,inverse:nu,names:ru},ph=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Po=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],ss=.8487,er=1.3523,jl=I/5,Js=1/jl,eo=18,Fr=function(_,x){return _[0]+x*(_[1]+x*(_[2]+x*_[3]))},gh=function(_,x){return _[1]+x*(2*_[2]+x*3*_[3])};function su(_,x,C,R){for(var T=x;R;--R){var D=_(T);if(T-=D,Math.abs(D)=eo&&(R=eo-1),C=I*(C-Js*R);var T={x:Fr(ph[R],C)*x,y:Fr(Po[R],C)};return _.y<0&&(T.y=-T.y),T.x=T.x*this.a*ss+this.x0,T.y=T.y*this.a*er+this.y0,T}function mh(_){var x={x:(_.x-this.x0)/(this.a*ss),y:Math.abs(_.y-this.y0)/(this.a*er)};if(x.y>=1)x.x/=ph[eo][0],x.y=_.y<0?-d:d;else{var C=Math.floor(x.y*eo);for(C<0?C=0:C>=eo&&(C=eo-1);;)if(Po[C][0]>x.y)--C;else if(Po[C+1][0]<=x.y)++C;else break;var R=Po[C],T=5*(x.y-R[0])/(Po[C+1][0]-R[0]);T=su(function(D){return(Fr(R,D)-x.y)/gh(R,D)},T,w,100),x.x/=Fr(ph[C],T),x.y=(5*C+T)*E,_.y<0&&(x.y=-x.y)}return x.x=ke(x.x+this.long0),x}var _h=["Robinson","robin"],yh={init:ou,forward:qp,inverse:mh,names:_h};function to(){this.name="geocent"}function Ty(_){var x=En(_,this.es,this.a);return x}function Ny(_){var x=Kt(_,this.es,this.a,this.b);return x}var Ry=["Geocentric","geocentric","geocent","Geocent"],au={init:to,forward:Ty,inverse:Ny,names:Ry},ui={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},no={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function My(){if(Object.keys(no).forEach(function(C){if(typeof this[C]>"u")this[C]=no[C].def;else{if(no[C].num&&isNaN(this[C]))throw new Error("Invalid parameter value, must be numeric "+C+" = "+this[C]);no[C].num&&(this[C]=parseFloat(this[C]))}no[C].degrees&&(this[C]=this[C]*E)}.bind(this)),Math.abs(Math.abs(this.lat0)-d)1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var _=this.tilt,x=this.azi;this.cg=Math.cos(x),this.sg=Math.sin(x),this.cw=Math.cos(_),this.sw=Math.sin(_)}function vh(_){_.x-=this.long0;var x=Math.sin(_.y),C=Math.cos(_.y),R=Math.cos(_.x),T,D;switch(this.mode){case ui.OBLIQ:D=this.sinph0*x+this.cosph0*C*R;break;case ui.EQUIT:D=C*R;break;case ui.S_POLE:D=-x;break;case ui.N_POLE:D=x;break}switch(D=this.pn1/(this.p-D),T=D*C*Math.sin(_.x),this.mode){case ui.OBLIQ:D*=this.cosph0*x-this.sinph0*C*R;break;case ui.EQUIT:D*=x;break;case ui.N_POLE:D*=-(C*R);break;case ui.S_POLE:D*=C*R;break}var B,j;return B=D*this.cg+T*this.sg,j=1/(B*this.sw*this.h1+this.cw),T=(T*this.cg-D*this.sg)*this.cw*j,D=B*j,_.x=T*this.a,_.y=D*this.a,_}function zp(_){_.x/=this.a,_.y/=this.a;var x={x:_.x,y:_.y},C,R,T;T=1/(this.pn1-_.y*this.sw),C=this.pn1*_.x*T,R=this.pn1*_.y*this.cw*T,_.x=C*this.cg+R*this.sg,_.y=R*this.cg-C*this.sg;var D=_n(_.x,_.y);if(Math.abs(D)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var _=1-this.es,x=1/_;this.radius_p=Math.sqrt(_),this.radius_p2=_,this.radius_p_inv2=x,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function Mt(_){var x=_.x,C=_.y,R,T,D,B;if(x=x-this.long0,this.shape==="ellipse"){C=Math.atan(this.radius_p2*Math.tan(C));var j=this.radius_p/_n(this.radius_p*Math.cos(C),Math.sin(C));if(T=j*Math.cos(x)*Math.cos(C),D=j*Math.sin(x)*Math.cos(C),B=j*Math.sin(C),(this.radius_g-T)*T-D*D-B*B*this.radius_p_inv2<0)return _.x=Number.NaN,_.y=Number.NaN,_;R=this.radius_g-T,this.flip_axis?(_.x=this.radius_g_1*Math.atan(D/_n(B,R)),_.y=this.radius_g_1*Math.atan(B/R)):(_.x=this.radius_g_1*Math.atan(D/R),_.y=this.radius_g_1*Math.atan(B/_n(D,R)))}else this.shape==="sphere"&&(R=Math.cos(C),T=Math.cos(x)*R,D=Math.sin(x)*R,B=Math.sin(C),R=this.radius_g-T,this.flip_axis?(_.x=this.radius_g_1*Math.atan(D/_n(B,R)),_.y=this.radius_g_1*Math.atan(B/R)):(_.x=this.radius_g_1*Math.atan(D/R),_.y=this.radius_g_1*Math.atan(B/_n(D,R))));return _.x=_.x*this.a,_.y=_.y*this.a,_}function tr(_){var x=-1,C=0,R=0,T,D,B,j;if(_.x=_.x/this.a,_.y=_.y/this.a,this.shape==="ellipse"){this.flip_axis?(R=Math.tan(_.y/this.radius_g_1),C=Math.tan(_.x/this.radius_g_1)*_n(1,R)):(C=Math.tan(_.x/this.radius_g_1),R=Math.tan(_.y/this.radius_g_1)*_n(1,C));var ne=R/this.radius_p;if(T=C*C+ne*ne+x*x,D=2*this.radius_g*x,B=D*D-4*T*this.C,B<0)return _.x=Number.NaN,_.y=Number.NaN,_;j=(-D-Math.sqrt(B))/(2*T),x=this.radius_g+j*x,C*=j,R*=j,_.x=Math.atan2(C,x),_.y=Math.atan(R*Math.cos(_.x)/x),_.y=Math.atan(this.radius_p_inv2*Math.tan(_.y))}else if(this.shape==="sphere"){if(this.flip_axis?(R=Math.tan(_.y/this.radius_g_1),C=Math.tan(_.x/this.radius_g_1)*Math.sqrt(1+R*R)):(C=Math.tan(_.x/this.radius_g_1),R=Math.tan(_.y/this.radius_g_1)*Math.sqrt(1+C*C)),T=C*C+R*R+x*x,D=2*this.radius_g*x,B=D*D-4*T*this.C,B<0)return _.x=Number.NaN,_.y=Number.NaN,_;j=(-D-Math.sqrt(B))/(2*T),x=this.radius_g+j*x,C*=j,R*=j,_.x=Math.atan2(C,x),_.y=Math.atan(R*Math.cos(_.x)/x)}return _.x=_.x+this.long0,_}var Os=["Geostationary Satellite View","Geostationary_Satellite","geos"],cu={init:xh,forward:Mt,inverse:tr,names:Os},io=1.340264,Fo=-.081106,di=893e-6,fr=.003796,Do=Math.sqrt(3)/2;function Ay(){this.es=0,this.long0=this.long0!==void 0?this.long0:0}function uu(_){var x=ke(_.x-this.long0),C=_.y,R=Math.asin(Do*Math.sin(C)),T=R*R,D=T*T*T;return _.x=x*Math.cos(R)/(Do*(io+3*Fo*T+D*(7*di+9*fr*T))),_.y=R*(io+Fo*T+D*(di+fr*T)),_.x=this.a*_.x+this.x0,_.y=this.a*_.y+this.y0,_}function du(_){_.x=(_.x-this.x0)/this.a,_.y=(_.y-this.y0)/this.a;var x=1e-9,C=12,R=_.y,T,D,B,j,ne,ce;for(ce=0;ce=d?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=Pa,this.forward=Oy)}function Eh(_){var x=ke(_.x-(this.long0||0)),C=_.y,R,T,D;return R=this.am1+this.m1-Tt(C,T=Math.sin(C),D=Math.cos(C),this.en),T=D*x/(R*Math.sqrt(1-this.es*T*T)),_.x=R*Math.sin(T),_.y=this.am1-R*Math.cos(T),_.x=this.a*_.x+(this.x0||0),_.y=this.a*_.y+(this.y0||0),_}function on(_){_.x=(_.x-(this.x0||0))/this.a,_.y=(_.y-(this.y0||0))/this.a;var x,C,R,T;if(C=_n(_.x,_.y=this.am1-_.y),T=xl(this.am1+this.m1-C,this.es,this.en),(x=Math.abs(T))jo?(_.x=T*Math.sin(R=x*Math.cos(C)/T),_.y=this.cphi1-T*Math.cos(R)):_.x=_.y=0,_.x=this.a*_.x+(this.x0||0),_.y=this.a*_.y+(this.y0||0),_}function Pa(_){_.x=(_.x-(this.x0||0))/this.a,_.y=(_.y-(this.y0||0))/this.a;var x,C,R=_n(_.x,_.y=this.cphi1-_.y);if(C=this.cphi1+this.phi1-R,Math.abs(C)>d)throw new Error;return Math.abs(Math.abs(C)-d)<=jo?x=0:x=R*Math.atan2(_.x,_.y)/Math.cos(C),_.x=ke(x+(this.long0||0)),_.y=Mr(C),_}var hu=["bonne","Bonne (Werner lat_1=90)"],nr={init:Sh,names:hu},os=function(_){_.Proj.projections.add(Ea),_.Proj.projections.add(_i),_.Proj.projections.add(Tp),_.Proj.projections.add(Qt),_.Proj.projections.add(Yd),_.Proj.projections.add(Kd),_.Proj.projections.add(Jn),_.Proj.projections.add(vn),_.Proj.projections.add(Jr),_.Proj.projections.add(La),_.Proj.projections.add(kl),_.Proj.projections.add(Fp),_.Proj.projections.add(Ll),_.Proj.projections.add(Fi),_.Proj.projections.add(Tl),_.Proj.projections.add(Nl),_.Proj.projections.add(Ml),_.Proj.projections.add(Aa),_.Proj.projections.add(hh),_.Proj.projections.add(fh),_.Proj.projections.add(Qs),_.Proj.projections.add(Fl),_.Proj.projections.add(Iy),_.Proj.projections.add(ky),_.Proj.projections.add(As),_.Proj.projections.add(yh),_.Proj.projections.add(au),_.Proj.projections.add(lu),_.Proj.projections.add(cu),_.Proj.projections.add(ql),_.Proj.projections.add(nr)};return Y.defaultDatum="WGS84",Y.Proj=Yi,Y.WGS84=new Y.Proj("WGS84"),Y.Point=Vs,Y.toPoint=xa,Y.defs=nt,Y.nadgrid=Tr,Y.transform=Xr,Y.mgrs=Ve,Y.version="2.15.0",os(Y),Y})});function ut(){return`${++X3}_${Date.now()}`}var X3,bn=W(()=>{X3=0});function Hl({geometryType:e,color:n="rgb(255,255,0)",fill:i=!0}={}){switch(e){case"LineString":case"MultiLineString":return new ol.style.Style({stroke:new ol.style.Stroke({color:n,width:4})});case"Point":case"MultiPoint":return new ol.style.Style({image:new ol.style.Circle({radius:6,fill:i&&new ol.style.Fill({color:n}),stroke:!i&&new ol.style.Stroke({color:n,width:4})}),zIndex:1/0});case"MultiPolygon":case"Polygon":return new ol.style.Style({stroke:new ol.style.Stroke({color:n,width:4}),fill:i&&new ol.style.Fill({color:ol.color.asString([...ol.color.asArray(n)].splice(0,3).concat(.25))})});default:return console.warn("invalid geometry type",e),null}}var tv=W(()=>{});function co(e=[]){return(Array.isArray(e)?e:Object.keys(e)).filter(n=>!so.includes(n))}var bu=W(()=>{Nt()});var vS=Qe((yS,nv)=>{(function(e){if(typeof yS=="object"&&typeof nv<"u")nv.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var n;typeof window<"u"?n=window:typeof global<"u"?n=global:typeof self<"u"?n=self:n=this,n.localforage=e()}})(function(){var e,n,i;return function r(o,u,c){function f(d,v){if(!u[d]){if(!o[d]){var y=typeof ro=="function"&&ro;if(!v&&y)return y(d,!0);if(p)return p(d,!0);var S=new Error("Cannot find module '"+d+"'");throw S.code="MODULE_NOT_FOUND",S}var w=u[d]={exports:{}};o[d][0].call(w.exports,function(E){var I=o[d][1][E];return f(I||E)},w,w.exports,r,o,u,c)}return u[d].exports}for(var p=typeof ro=="function"&&ro,g=0;g"u"&&r(3);var y=Promise;function S(Y,de){de&&Y.then(function(ie){de(null,ie)},function(ie){de(ie)})}function w(Y,de,ie){typeof de=="function"&&Y.then(de),typeof ie=="function"&&Y.catch(ie)}function E(Y){return typeof Y!="string"&&(console.warn(Y+" used as a key, but it is not a string."),Y=String(Y)),Y}function I(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var O="local-forage-detect-blob-support",H=void 0,X={},re=Object.prototype.toString,z="readonly",Z="readwrite";function te(Y){for(var de=Y.length,ie=new ArrayBuffer(de),xe=new Uint8Array(ie),we=0;we=43)}}).catch(function(){return!1})}function ve(Y){return typeof H=="boolean"?y.resolve(H):ee(Y).then(function(de){return H=de,H})}function F(Y){var de=X[Y.name],ie={};ie.promise=new y(function(xe,we){ie.resolve=xe,ie.reject=we}),de.deferredOperations.push(ie),de.dbReady?de.dbReady=de.dbReady.then(function(){return ie.promise}):de.dbReady=ie.promise}function me(Y){var de=X[Y.name],ie=de.deferredOperations.pop();if(ie)return ie.resolve(),ie.promise}function L(Y,de){var ie=X[Y.name],xe=ie.deferredOperations.pop();if(xe)return xe.reject(de),xe.promise}function se(Y,de){return new y(function(ie,xe){if(X[Y.name]=X[Y.name]||ze(),Y.db)if(de)F(Y),Y.db.close();else return ie(Y.db);var we=[Y.name];de&&we.push(Y.version);var fe=g.open.apply(g,we);de&&(fe.onupgradeneeded=function(Le){var Fe=fe.result;try{Fe.createObjectStore(Y.storeName),Le.oldVersion<=1&&Fe.createObjectStore(O)}catch(Ge){if(Ge.name==="ConstraintError")console.warn('The database "'+Y.name+'" has been upgraded from version '+Le.oldVersion+" to version "+Le.newVersion+', but the storage "'+Y.storeName+'" already exists.');else throw Ge}}),fe.onerror=function(Le){Le.preventDefault(),xe(fe.error)},fe.onsuccess=function(){var Le=fe.result;Le.onversionchange=function(Fe){Fe.target.close()},ie(Le),me(Y)}})}function le(Y){return se(Y,!1)}function he(Y){return se(Y,!0)}function Ke(Y,de){if(!Y.db)return!0;var ie=!Y.db.objectStoreNames.contains(Y.storeName),xe=Y.versionY.db.version;if(xe&&(Y.version!==de&&console.warn('The database "'+Y.name+`" can't be downgraded from version `+Y.db.version+" to version "+Y.version+"."),Y.version=Y.db.version),we||ie){if(ie){var fe=Y.db.version+1;fe>Y.version&&(Y.version=fe)}return!0}return!1}function Te(Y){return new y(function(de,ie){var xe=new FileReader;xe.onerror=ie,xe.onloadend=function(we){var fe=btoa(we.target.result||"");de({__local_forage_encoded_blob:!0,data:fe,type:Y.type})},xe.readAsBinaryString(Y)})}function We(Y){var de=te(atob(Y.data));return v([de],{type:Y.type})}function Q(Y){return Y&&Y.__local_forage_encoded_blob}function ge(Y){var de=this,ie=de._initReady().then(function(){var xe=X[de._dbInfo.name];if(xe&&xe.dbReady)return xe.dbReady});return w(ie,Y,Y),ie}function je(Y){F(Y);for(var de=X[Y.name],ie=de.forages,xe=0;xe0&&(!Y.db||fe.name==="InvalidStateError"||fe.name==="NotFoundError"))return y.resolve().then(function(){if(!Y.db||fe.name==="NotFoundError"&&!Y.db.objectStoreNames.contains(Y.storeName)&&Y.version<=Y.db.version)return Y.db&&(Y.version=Y.db.version+1),he(Y)}).then(function(){return je(Y).then(function(){Se(Y,de,ie,xe-1)})}).catch(ie);ie(fe)}}function ze(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Je(Y){var de=this,ie={db:null};if(Y)for(var xe in Y)ie[xe]=Y[xe];var we=X[ie.name];we||(we=ze(),X[ie.name]=we),we.forages.push(de),de._initReady||(de._initReady=de.ready,de.ready=ge);var fe=[];function Le(){return y.resolve()}for(var Fe=0;Fe>4,Ye[we++]=(Le&15)<<4|Fe>>2,Ye[we++]=(Fe&3)<<6|Ge&63;return Ve}function cr(Y){var de=new Uint8Array(Y),ie="",xe;for(xe=0;xe>2],ie+=P[(de[xe]&3)<<4|de[xe+1]>>4],ie+=P[(de[xe+1]&15)<<2|de[xe+2]>>6],ie+=P[de[xe+2]&63];return de.length%3===2?ie=ie.substring(0,ie.length-1)+"=":de.length%3===1&&(ie=ie.substring(0,ie.length-2)+"=="),ie}function $t(Y,de){var ie="";if(Y&&(ie=On.call(Y)),Y&&(ie==="[object ArrayBuffer]"||Y.buffer&&On.call(Y.buffer)==="[object ArrayBuffer]")){var xe,we=be;Y instanceof ArrayBuffer?(xe=Y,we+=Ne):(xe=Y.buffer,ie==="[object Int8Array]"?we+=Me:ie==="[object Uint8Array]"?we+=ke:ie==="[object Uint8ClampedArray]"?we+=Pe:ie==="[object Int16Array]"?we+=De:ie==="[object Uint16Array]"?we+=Ft:ie==="[object Int32Array]"?we+=Ct:ie==="[object Uint32Array]"?we+=ft:ie==="[object Float32Array]"?we+=Sn:ie==="[object Float64Array]"?we+=xt:de(new Error("Failed to get type for BinaryArray"))),de(we+cr(xe))}else if(ie==="[object Blob]"){var fe=new FileReader;fe.onload=function(){var Le=G+Y.type+"~"+cr(this.result);de(be+Oe+Le)},fe.readAsArrayBuffer(Y)}else try{de(JSON.stringify(Y))}catch(Le){console.error("Couldn't convert value into a JSON string: ",Y),de(null,Le)}}function li(Y){if(Y.substring(0,ue)!==be)return JSON.parse(Y);var de=Y.substring(Hr),ie=Y.substring(ue,Hr),xe;if(ie===Oe&&ae.test(de)){var we=de.match(ae);xe=we[1],de=de.substring(we[0].length)}var fe=Mi(de);switch(ie){case Ne:return fe;case Oe:return v([fe],{type:xe});case Me:return new Int8Array(fe);case ke:return new Uint8Array(fe);case Pe:return new Uint8ClampedArray(fe);case De:return new Int16Array(fe);case Ft:return new Uint16Array(fe);case Ct:return new Int32Array(fe);case ft:return new Uint32Array(fe);case Sn:return new Float32Array(fe);case xt:return new Float64Array(fe);default:throw new Error("Unkown type: "+ie)}}var pn={serialize:$t,deserialize:li,stringToBuffer:Mi,bufferToString:cr};function ws(Y,de,ie,xe){Y.executeSql("CREATE TABLE IF NOT EXISTS "+de.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],ie,xe)}function Dt(Y){var de=this,ie={db:null};if(Y)for(var xe in Y)ie[xe]=typeof Y[xe]!="string"?Y[xe].toString():Y[xe];var we=new y(function(fe,Le){try{ie.db=openDatabase(ie.name,String(ie.version),ie.description,ie.size)}catch(Fe){return Le(Fe)}ie.db.transaction(function(Fe){ws(Fe,ie,function(){de._dbInfo=ie,fe()},function(Ge,Ve){Le(Ve)})},Le)});return ie.serializer=pn,we}function $n(Y,de,ie,xe,we,fe){Y.executeSql(ie,xe,we,function(Le,Fe){Fe.code===Fe.SYNTAX_ERR?Le.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[de.storeName],function(Ge,Ve){Ve.rows.length?fe(Ge,Fe):ws(Ge,de,function(){Ge.executeSql(ie,xe,we,fe)},fe)},fe):fe(Le,Fe)},fe)}function Bt(Y,de){var ie=this;Y=E(Y);var xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){$n(Fe,Le,"SELECT * FROM "+Le.storeName+" WHERE key = ? LIMIT 1",[Y],function(Ge,Ve){var Ye=Ve.rows.length?Ve.rows.item(0).value:null;Ye&&(Ye=Le.serializer.deserialize(Ye)),we(Ye)},function(Ge,Ve){fe(Ve)})})}).catch(fe)});return S(xe,de),xe}function pt(Y,de){var ie=this,xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){$n(Fe,Le,"SELECT * FROM "+Le.storeName,[],function(Ge,Ve){for(var Ye=Ve.rows,at=Ye.length,wt=0;wt0){Le(jt.apply(we,[Y,Ge,ie,xe-1]));return}Fe(wt)}})})}).catch(Fe)});return S(fe,ie),fe}function gl(Y,de,ie){return jt.apply(this,[Y,de,ie,1])}function Dd(Y,de){var ie=this;Y=E(Y);var xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){$n(Fe,Le,"DELETE FROM "+Le.storeName+" WHERE key = ?",[Y],function(){we()},function(Ge,Ve){fe(Ve)})})}).catch(fe)});return S(xe,de),xe}function ba(Y){var de=this,ie=new y(function(xe,we){de.ready().then(function(){var fe=de._dbInfo;fe.db.transaction(function(Le){$n(Le,fe,"DELETE FROM "+fe.storeName,[],function(){xe()},function(Fe,Ge){we(Ge)})})}).catch(we)});return S(ie,Y),ie}function jd(Y){var de=this,ie=new y(function(xe,we){de.ready().then(function(){var fe=de._dbInfo;fe.db.transaction(function(Le){$n(Le,fe,"SELECT COUNT(key) as c FROM "+fe.storeName,[],function(Fe,Ge){var Ve=Ge.rows.item(0).c;xe(Ve)},function(Fe,Ge){we(Ge)})})}).catch(we)});return S(ie,Y),ie}function ml(Y,de){var ie=this,xe=new y(function(we,fe){ie.ready().then(function(){var Le=ie._dbInfo;Le.db.transaction(function(Fe){$n(Fe,Le,"SELECT key FROM "+Le.storeName+" WHERE id = ? LIMIT 1",[Y+1],function(Ge,Ve){var Ye=Ve.rows.length?Ve.rows.item(0).key:null;we(Ye)},function(Ge,Ve){fe(Ve)})})}).catch(fe)});return S(xe,de),xe}function Cc(Y){var de=this,ie=new y(function(xe,we){de.ready().then(function(){var fe=de._dbInfo;fe.db.transaction(function(Le){$n(Le,fe,"SELECT key FROM "+fe.storeName,[],function(Fe,Ge){for(var Ve=[],Ye=0;Ye '__WebKitDatabaseInfoTable__'",[],function(we,fe){for(var Le=[],Fe=0;Fe0}function _l(Y){var de=this,ie={};if(Y)for(var xe in Y)ie[xe]=Y[xe];return ie.keyPrefix=Ai(Y,de._defaultConfig),zd()?(de._dbInfo=ie,ie.serializer=pn,y.resolve()):y.reject()}function kc(Y){var de=this,ie=de.ready().then(function(){for(var xe=de._dbInfo.keyPrefix,we=localStorage.length-1;we>=0;we--){var fe=localStorage.key(we);fe.indexOf(xe)===0&&localStorage.removeItem(fe)}});return S(ie,Y),ie}function wo(Y,de){var ie=this;Y=E(Y);var xe=ie.ready().then(function(){var we=ie._dbInfo,fe=localStorage.getItem(we.keyPrefix+Y);return fe&&(fe=we.serializer.deserialize(fe)),fe});return S(xe,de),xe}function Lc(Y,de){var ie=this,xe=ie.ready().then(function(){for(var we=ie._dbInfo,fe=we.keyPrefix,Le=fe.length,Fe=localStorage.length,Ge=1,Ve=0;Ve=0;Le--){var Fe=localStorage.key(Le);Fe.indexOf(fe)===0&&localStorage.removeItem(Fe)}}):we=y.reject("Invalid arguments"),S(we,de),we}var dt={_driver:"localStorageWrapper",_initStorage:_l,_support:Ic(),iterate:Lc,getItem:wo,setItem:Kt,removeItem:En,clear:kc,length:Tc,key:Gd,keys:Yi,dropInstance:Fn},K=function(de,ie){return de===ie||typeof de=="number"&&typeof ie=="number"&&isNaN(de)&&isNaN(ie)},Ut=function(de,ie){for(var xe=de.length,we=0;we"u"?"undefined":c(ie))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var xe in ie){if(xe==="storeName"&&(ie[xe]=ie[xe].replace(/\W/g,"_")),xe==="version"&&typeof ie[xe]!="number")return new Error("Database version must be a number.");this._config[xe]=ie[xe]}return"driver"in ie&&ie.driver?this.setDriver(this._config.driver):!0}else return typeof ie=="string"?this._config[ie]:this._config},Y.prototype.defineDriver=function(ie,xe,we){var fe=new y(function(Le,Fe){try{var Ge=ie._driver,Ve=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!ie._driver){Fe(Ve);return}for(var Ye=Ss.concat("_initStorage"),at=0,wt=Ye.length;at{Yn();iv={},mr=Object.assign(new Et,{setters:{registerPlugin(e){iv[e.name]=iv[e.name]||e}},getPlugin(e){return iv[e]}})});function Yl(e){if(typeof e=="number")return`EPSG:${e}`;if(e=e.replace(/[^\d\.\-]/g,""),e!=="")return`EPSG:${parseInt(e)}`}var cg=W(()=>{});var ug,Zn,uo=W(()=>{cg();ug=hn(Zy()),Zn={get(e={}){let n=ol.proj.get(e.epsg);if(!n){e.proj4&&ug.default.defs(e.epsg,e.proj4);let i={code:e.epsg,extent:e.extent,axisOrientation:e.axisinverted?"neu":"enu",units:e.geographic?"degrees":"m"};n=new ol.proj.Projection(i),n.getAxisOrientation=()=>i.axisOrientation,ol.proj.addProjection(n),ol.proj.proj4.register(ug.default)}return n},async registerProjection(e){let n=ol.proj.get(e)||void 0;if(!n){let{result:i,data:r}=await(await fetch(`/crs/${e.split(":")[1]}/`)).json();if(i)return r.epsg=Yl(r.epsg),n=this.get(r),ol.proj.proj4.register(ug.default),n}return n}}});function js(e,n="m"){return Math.round(e*Mh[n]*zo)}var wu=W(()=>{Nt()});function za(e,n="m"){return 1/((e>=1?1/e:e)*Mh[n]*zo)}var jh=W(()=>{Nt()});function Su({filter:e=""}){return e=bS.reduce((n,[i,r])=>n.replace(new RegExp(`\\s+${r}\\s+`,"g"),`${r}`).replace(new RegExp(`'${r}`,"g"),`${r}`).replace(new RegExp(`${r}'`,"g"),`${r}`),e).replace(/'$/g,"").replace(/"/g,""),e=bS.reduce((n,[i,r])=>n.replace(new RegExp(r,"g"),["AND","OR"].includes(r)?`|${i},`:`|${i}|`),e).split("|").map((n,i)=>(i+1)%3===0?encodeURIComponent(n):n).join("|"),e}var bS,dg=W(()=>{Nt();bS=Object.entries(Nh)});function sn(e){return e instanceof Promise?e:!e||!e.then?(console.trace(e),Promise.reject("not a promise")):new Promise((n,i)=>{e.then(n).fail(i)})}function Wt(e){return e===void 0?(console.trace(),$.Deferred(n=>n.reject("not a promise")).promise()):e.always?e:$.Deferred(async n=>{try{n.resolve(await(e instanceof Promise?e:e()))}catch(i){console.trace(i),n.reject(i)}}).promise()}var _r=W(()=>{});var Ql=Qe((qh,Eu)=>{var Z3=200,MS="__lodash_hash_undefined__",AS=9007199254740991,dv="[object Arguments]",K3="[object Array]",OS="[object Boolean]",PS="[object Date]",Q3="[object Error]",hv="[object Function]",FS="[object GeneratorFunction]",hg="[object Map]",DS="[object Number]",fv="[object Object]",xS="[object Promise]",jS="[object RegExp]",fg="[object Set]",qS="[object String]",zS="[object Symbol]",sv="[object WeakMap]",GS="[object ArrayBuffer]",pg="[object DataView]",$S="[object Float32Array]",BS="[object Float64Array]",US="[object Int8Array]",VS="[object Int16Array]",WS="[object Int32Array]",HS="[object Uint8Array]",YS="[object Uint8ClampedArray]",XS="[object Uint16Array]",ZS="[object Uint32Array]",J3=/[\\^$.*+?()[\]{}|]/g,eP=/\w*$/,tP=/^\[object .+?Constructor\]$/,nP=/^(?:0|[1-9]\d*)$/,In={};In[dv]=In[K3]=In[GS]=In[pg]=In[OS]=In[PS]=In[$S]=In[BS]=In[US]=In[VS]=In[WS]=In[hg]=In[DS]=In[fv]=In[jS]=In[fg]=In[qS]=In[zS]=In[HS]=In[YS]=In[XS]=In[ZS]=!0;In[Q3]=In[hv]=In[sv]=!1;var iP=typeof global=="object"&&global&&global.Object===Object&&global,rP=typeof self=="object"&&self&&self.Object===Object&&self,Bo=iP||rP||Function("return this")(),KS=typeof qh=="object"&&qh&&!qh.nodeType&&qh,wS=KS&&typeof Eu=="object"&&Eu&&!Eu.nodeType&&Eu,sP=wS&&wS.exports===KS;function oP(e,n){return e.set(n[0],n[1]),e}function aP(e,n){return e.add(n),e}function lP(e,n){for(var i=-1,r=e?e.length:0;++i-1}function PP(e,n){var i=this.__data__,r=_g(i,e);return r<0?i.push([e,n]):i[r][1]=n,this}Uo.prototype.clear=RP;Uo.prototype.delete=MP;Uo.prototype.get=AP;Uo.prototype.has=OP;Uo.prototype.set=PP;function Cu(e){var n=-1,i=e?e.length:0;for(this.clear();++n-1&&e%1==0&&e-1&&e%1==0&&e<=AS}function vg(e){var n=typeof e;return!!e&&(n=="object"||n=="function")}function bF(e){return!!e&&typeof e=="object"}function _v(e){return oE(e)?WP(e):QP(e)}function xF(){return[]}function wF(){return!1}Eu.exports=gF});var vv=Qe((Xne,lE)=>{lE.exports=SF;function SF(e,n){if(yv("noDeprecation"))return e;var i=!1;function r(){if(!i){if(yv("throwDeprecation"))throw new Error(n);yv("traceDeprecation")?console.trace(n):console.warn(n),i=!0}return e.apply(this,arguments)}return r}function yv(e){try{if(!global.localStorage)return!1}catch{return!1}var n=global.localStorage[e];return n==null?!1:String(n).toLowerCase()==="true"}});function xv(e,n){for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}var cE,bv,zt,qs=W(()=>{Yn();mu();_r();bt();cE=hn(Ql()),bv=hn(vv());zt=class extends Et{constructor(n={}){if(n.iconConfig&&(console.warn("[G3W-CLIENT] iconConfig is deprecated"),console.trace(),n.iconColor=n.iconConfig.color,n.icon=n.iconConfig.icon,delete n.iconConfig),n.icon=U.getFontClass(n.icon)||n.icon,n.open=n.open??!1,n.mobile=n.mobile??!0,n.collapsible=n.collapsible??!0,super({setters:{setOpen(i){this.state.open=i,this._setOpen&&this._setOpen(i)},setVisible(i){this.state.visible=i,this._setVisible&&this._setVisible(i)},setLoading(i=!1){this.state.loading=i},setDisabled(i=!1){this.state.disabled=i},reload(){console.warn("[G3W-CLIENT] reloading of components will be discontinued, please update your code as soon as possible",this.getId()),this._reload&&this._reload()}}}),this._firstLayout=!0,this.internalComponent=n.internalComponent??null,this._components=[],this.id=n.id??Math.random()*1e3,this.title=n.title??"",this.state={sizes:{width:0,height:0},info:n.info??null,open:n.open??!1,visible:n.visible??!0,loading:n.loading??!1,disabled:n.disabled??!1,resizable:n.resizable??!1,closewhenshowviewportcontent:n.closewhenshowviewportcontent??!0},this.setService(n.service||this),n.internalComponent&&this.setInternalComponent(n.internalComponent),xv(this,n),this.events=n.events??{},this.events.open){let{when:i="after",cb:r=()=>{}}=this.events.open;this[`on${i}`]("setOpen",o=>r(o))}n.vueComponentObject&&this.init(n)}init(n={}){return this.vueComponent=(0,cE.default)(n.vueComponentObject),this._components=n.components||[],this.setService(n.service||this._service||qi),this._service.init&&this.init!==this._service.init&&this._service.init(n),n.template&&(this.vueComponent.template=n.template),this.setInternalComponent=function(){this.internalComponent=new(Vue.extend(this.vueComponent))({service:this._service,template:n.template,propsData:n.propsData}),this.internalComponent.state=this.getService().state},this.setInternalComponent(),this}getId(){return this.id}setId(n){this.id=n}getOpen(){return this.state.open}getVisible(){return this.state.visible}getTitle(){return this.state.title}setTitle(n){this.state.title=n}getService(){return this._service}setService(n){this._service=n}addComponent(n){this._components.push(n)}removeComponent(n){this._components.find((i,r)=>{if(i===n)return this.splice(r,1),!0})}getInternalComponent(){return this.internalComponent}setInternalComponent(n,i={}){this.internalComponent=n===void 0&&this.internalComponentClass?new this.internalComponentClass:n,(i.events||[]).forEach(r=>this.internalComponent.$on(r.name,o=>r.handler&&r.handler(o)||this[`set${r.name[0].toUpperCase()}${r.name.slice(1)}`](o))),this._service&&this._service.state&&(this.internalComponent.state=this._service.state)}mount(n,i){return Wt(new Promise(r=>{this.internalComponent||this.setInternalComponent(),i&&$(n).append(this.internalComponent.$mount().$el),i||this.internalComponent.$mount(n),this.internalComponent.$nextTick(()=>{this.emit("ready"),r(!0)}),this.emit("mount")}))}unmount(){return Wt(async()=>{this.internalComponent&&(this.state.resizable&&this.internalComponent.$off("resize-component",this.internalComponent.layout),this.state.open=!1,this.internalComponent.$destroy(!0),$(this.internalComponent.$el).remove(),this.internalComponent=null,this.emit("unmount"))})}ismount(){return this.internalComponent&&this.internalComponent.$el}layout(n,i){this.state.resizable&&this._firstLayout&&(this.internalComponent.$on("resize-component",this.internalComponent.layout),this._firstLayout=!1),this.internalComponent.$nextTick(()=>{this.internalComponent.$emit("resize-component",{width:n,height:i})}),this.emit("layout")}};Object.assign(zt.prototype,{destroy:qi,click:qi,show:qi,overwriteServiceMethods:(0,bv.default)(function(e){Object.entries(e).forEach(([n,i])=>this._service[n]=i)},"[G3W-CLIENT] Component::overwriteServiceMethods(methodsOptions) is deprecated"),extendInternalComponent:(0,bv.default)(function(e){this.vueComponent?Object.entries(e).forEach(([n,i])=>{switch(n){case"methods":this.extendInternalComponentMethods(i);break;case"components":this.extendInternalComponentComponents(i);break;case"computed":xv(this.vueComponent[n],i);break;case"data":xv(this.vueComponent[n],i);break}}):this.vueComponent=e},"[G3W-CLIENT] Component::extendInternalComponent(internalComponentOptions) is deprecated")})});var fi,Jl=W(()=>{bt();Yn();_r();fi=class extends Et{constructor(n={}){super(),this.id=n.id||null,this.title=n.title||"",this.service=n.service,n.vueComponentObject?this.internalPanel=new(Vue.extend(n.vueComponentObject))({service:this.service}):this.internalPanel=n.panel||n.internalPanel||null,n.show===!0&&this.internalPanel&&this.show()}getId(){return this.id}getTitle(){return this.title}getService(){return this.service}setService(n){this.service=n}getInternalPanel(){return this.internalPanel}setInternalPanel(n){this.internalPanel=n}show(){U.showPanel(this)}close(){U.closePanel()}mount(n){let i=this.internalPanel,r=i.$mount();return $(n).append(r.$el),r.$nextTick(()=>{i.onShow&&i.onShow()}),Wt(Promise.resolve(!0))}unmount(){let n=this.internalPanel;return n.$destroy(!0),$(n.$el).remove(),n.onClose&&n.onClose(),this.internalComponent=null,this.service&&this.service.clear&&this.service.clear(),Wt(Promise.resolve())}}});function ec(e,n){return e.reduce((i,r)=>{let o=n(r);return i[o]||(i[o]=[]),i[o].push(r),i},{})}var bg=W(()=>{});var ht,xi=W(()=>{ht={async get({url:e,params:n={},signal:i}={}){if(!e)return Promise.reject("No url");n=new URLSearchParams(JSON.parse(JSON.stringify(n||{}))).toString();let r=await(await fetch(e+(n?"?":"")+n,{signal:i})).text();try{return JSON.parse(r)}catch{return r}},async put({url:e,data:n,formdata:i=!1,contentType:r,signal:o}={}){i?(i=new FormData,Object.entries(n).forEach(([c,f])=>i.append(c,f))):r?i=typeof n=="string"?n:JSON.stringify(n||{}):i=new URLSearchParams(JSON.parse(JSON.stringify(n||{}))).toString();let u=await(await fetch(e,{method:"PUT",body:i,headers:{"Content-Type":r||"application/x-www-form-urlencoded"},signal:o})).text();try{return JSON.parse(u)}catch{return u}},async post({url:e,data:n,formdata:i=!1,contentType:r,signal:o}={}){i?(i=new FormData,Object.entries(n).forEach(([c,f])=>i.append(c,f))):r?i=typeof n=="string"?n:JSON.stringify(n||{}):i=new URLSearchParams(JSON.parse(JSON.stringify(n||{}))).toString();let u=await(await fetch(e,{method:"POST",body:i,headers:{"Content-Type":r||"application/x-www-form-urlencoded"},signal:o})).text();try{return JSON.parse(u)}catch{return u}}}});var $h=Qe((aie,Vo)=>{function wv(e){"@babel/helpers - typeof";return Vo.exports=wv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Vo.exports.__esModule=!0,Vo.exports.default=Vo.exports,wv(e)}Vo.exports=wv,Vo.exports.__esModule=!0,Vo.exports.default=Vo.exports});var dE=Qe((lie,Bh)=>{var uE=$h().default;function EF(e,n){if(uE(e)!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var r=i.call(e,n||"default");if(uE(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}Bh.exports=EF,Bh.exports.__esModule=!0,Bh.exports.default=Bh.exports});var Sv=Qe((cie,Uh)=>{var CF=$h().default,IF=dE();function kF(e){var n=IF(e,"string");return CF(n)=="symbol"?n:n+""}Uh.exports=kF,Uh.exports.__esModule=!0,Uh.exports.default=Uh.exports});var hE=Qe((uie,Vh)=>{var LF=Sv();function TF(e,n,i){return(n=LF(n))in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}Vh.exports=TF,Vh.exports.__esModule=!0,Vh.exports.default=Vh.exports});var fE=Qe((die,Wh)=>{var NF=hE();function RF(e){for(var n=1;n{function MF(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}Hh.exports=MF,Hh.exports.__esModule=!0,Hh.exports.default=Hh.exports});var mE=Qe((fie,Yh)=>{var AF=Sv();function gE(e,n){for(var i=0;i{function PF(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}Xh.exports=PF,Xh.exports.__esModule=!0,Xh.exports.default=Xh.exports});var _E=Qe((gie,Zh)=>{var FF=$h().default,DF=Ev();function jF(e,n){if(n&&(FF(n)=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return DF(e)}Zh.exports=jF,Zh.exports.__esModule=!0,Zh.exports.default=Zh.exports});var yE=Qe((mie,Wo)=>{function Cv(e){return Wo.exports=Cv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Wo.exports.__esModule=!0,Wo.exports.default=Wo.exports,Cv(e)}Wo.exports=Cv,Wo.exports.__esModule=!0,Wo.exports.default=Wo.exports});var vE=Qe((_ie,Ho)=>{function Iv(e,n){return Ho.exports=Iv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,r){return i.__proto__=r,i},Ho.exports.__esModule=!0,Ho.exports.default=Ho.exports,Iv(e,n)}Ho.exports=Iv,Ho.exports.__esModule=!0,Ho.exports.default=Ho.exports});var bE=Qe((yie,Kh)=>{var qF=vE();function zF(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&qF(e,n)}Kh.exports=zF,Kh.exports.__esModule=!0,Kh.exports.default=Kh.exports});var kv=Qe((vie,Qh)=>{function GF(e,n){(n==null||n>e.length)&&(n=e.length);for(var i=0,r=Array(n);i{var $F=kv();function BF(e){if(Array.isArray(e))return $F(e)}Jh.exports=BF,Jh.exports.__esModule=!0,Jh.exports.default=Jh.exports});var wE=Qe((xie,ef)=>{function UF(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}ef.exports=UF,ef.exports.__esModule=!0,ef.exports.default=ef.exports});var Lv=Qe((wie,tf)=>{var SE=kv();function VF(e,n){if(e){if(typeof e=="string")return SE(e,n);var i={}.toString.call(e).slice(8,-1);return i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set"?Array.from(e):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?SE(e,n):void 0}}tf.exports=VF,tf.exports.__esModule=!0,tf.exports.default=tf.exports});var EE=Qe((Sie,nf)=>{function WF(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}nf.exports=WF,nf.exports.__esModule=!0,nf.exports.default=nf.exports});var CE=Qe((Eie,rf)=>{var HF=xE(),YF=wE(),XF=Lv(),ZF=EE();function KF(e){return HF(e)||YF(e)||XF(e)||ZF()}rf.exports=KF,rf.exports.__esModule=!0,rf.exports.default=rf.exports});var IE=Qe((Cie,sf)=>{function QF(e){if(Array.isArray(e))return e}sf.exports=QF,sf.exports.__esModule=!0,sf.exports.default=sf.exports});var kE=Qe((Iie,of)=>{function JF(e,n){var i=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(i!=null){var r,o,u,c,f=[],p=!0,g=!1;try{if(u=(i=i.call(e)).next,n===0){if(Object(i)!==i)return;p=!1}else for(;!(p=(r=u.call(i)).done)&&(f.push(r.value),f.length!==n);p=!0);}catch(d){g=!0,o=d}finally{try{if(!p&&i.return!=null&&(c=i.return(),Object(c)!==c))return}finally{if(g)throw o}}return f}}of.exports=JF,of.exports.__esModule=!0,of.exports.default=of.exports});var LE=Qe((kie,af)=>{function e5(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}af.exports=e5,af.exports.__esModule=!0,af.exports.default=af.exports});var TE=Qe((Lie,lf)=>{var t5=IE(),n5=kE(),i5=Lv(),r5=LE();function s5(e,n){return t5(e)||n5(e,n)||i5(e,n)||r5()}lf.exports=s5,lf.exports.__esModule=!0,lf.exports.default=lf.exports});var qE=Qe((Tie,jE)=>{"use strict";function ho(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var uf=ho($h()),vr=ho(fE()),Xo=ho(pE()),Zo=ho(mE()),df=ho(_E()),Sg=ho(yE()),Tu=ho(Ev()),Eg=ho(bE()),o5=ho(CE()),NE=ho(TE()),a5={type:"logger",log:function(n){this.output("log",n)},warn:function(n){this.output("warn",n)},error:function(n){this.output("error",n)},output:function(n,i){var r;console&&console[n]&&(r=console)[n].apply(r,o5(i))}},l5=function(){function e(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Xo(this,e),this.init(n,i)}return Zo(e,[{key:"init",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=i||a5,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(i){this.debug=i}},{key:"log",value:function(){for(var i=arguments.length,r=new Array(i),o=0;o1?r-1:0),u=1;u-1?f.replace(/###/g,"."):f}function o(){return!e||typeof e=="string"}for(var u=typeof n!="string"?[].concat(n):n.split(".");u.length>1;){if(o())return{};var c=r(u.shift());!e[c]&&i&&(e[c]=new i),e=e[c]}return o()?{}:{obj:e,k:r(u.shift())}}function RE(e,n,i){var r=Rv(e,n,Object),o=r.obj,u=r.k;o[u]=i}function u5(e,n,i,r){var o=Rv(e,n,Object),u=o.obj,c=o.k;u[c]=u[c]||[],r&&(u[c]=u[c].concat(i)),r||u[c].push(i)}function wg(e,n){var i=Rv(e,n),r=i.obj,o=i.k;if(r)return r[o]}function ME(e,n,i){var r=wg(e,i);return r!==void 0?r:wg(n,i)}function FE(e,n,i){for(var r in n)r in e?typeof e[r]=="string"||e[r]instanceof String||typeof n[r]=="string"||n[r]instanceof String?i&&(e[r]=n[r]):FE(e[r],n[r],i):e[r]=n[r];return e}function Lu(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var d5={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function h5(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(n){return d5[n]}):e}var f5=function(e){Eg(n,e);function n(i){var r,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return Xo(this,n),r=df(this,Sg(n).call(this)),$a.call(Tu(r)),r.data=i||{},r.options=o,r.options.keySeparator===void 0&&(r.options.keySeparator="."),r}return Zo(n,[{key:"addNamespaces",value:function(r){this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}},{key:"removeNamespaces",value:function(r){var o=this.options.ns.indexOf(r);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(r,o,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},f=c.keySeparator!==void 0?c.keySeparator:this.options.keySeparator,p=[r,o];return u&&typeof u!="string"&&(p=p.concat(u)),u&&typeof u=="string"&&(p=p.concat(f?u.split(f):u)),r.indexOf(".")>-1&&(p=r.split(".")),wg(this.data,p)}},{key:"addResource",value:function(r,o,u,c){var f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},p=this.options.keySeparator;p===void 0&&(p=".");var g=[r,o];u&&(g=g.concat(p?u.split(p):u)),r.indexOf(".")>-1&&(g=r.split("."),c=o,o=g[1]),this.addNamespaces(o),RE(this.data,g,c),f.silent||this.emit("added",r,o,u,c)}},{key:"addResources",value:function(r,o,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var f in u)(typeof u[f]=="string"||Object.prototype.toString.apply(u[f])==="[object Array]")&&this.addResource(r,o,f,u[f],{silent:!0});c.silent||this.emit("added",r,o,u)}},{key:"addResourceBundle",value:function(r,o,u,c,f){var p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},g=[r,o];r.indexOf(".")>-1&&(g=r.split("."),c=u,u=o,o=g[1]),this.addNamespaces(o);var d=wg(this.data,g)||{};c?FE(d,u,f):d=vr({},d,u),RE(this.data,g,d),p.silent||this.emit("added",r,o,u)}},{key:"removeResourceBundle",value:function(r,o){this.hasResourceBundle(r,o)&&delete this.data[r][o],this.removeNamespaces(o),this.emit("removed",r,o)}},{key:"hasResourceBundle",value:function(r,o){return this.getResource(r,o)!==void 0}},{key:"getResourceBundle",value:function(r,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?vr({},{},this.getResource(r,o)):this.getResource(r,o)}},{key:"getDataByLanguage",value:function(r){return this.data[r]}},{key:"toJSON",value:function(){return this.data}}]),n}($a),DE={processors:{},addPostProcessor:function(n){this.processors[n.name]=n},handle:function(n,i,r,o,u){var c=this;return n.forEach(function(f){c.processors[f]&&(i=c.processors[f].process(i,r,o,u))}),i}},AE={},OE=function(e){Eg(n,e);function n(i){var r,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Xo(this,n),r=df(this,Sg(n).call(this)),$a.call(Tu(r)),c5(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],i,Tu(r)),r.options=o,r.options.keySeparator===void 0&&(r.options.keySeparator="."),r.logger=Yo.create("translator"),r}return Zo(n,[{key:"changeLanguage",value:function(r){r&&(this.language=r)}},{key:"exists",value:function(r){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},u=this.resolve(r,o);return u&&u.res!==void 0}},{key:"extractFromKey",value:function(r,o){var u=o.nsSeparator||this.options.nsSeparator;u===void 0&&(u=":");var c=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,f=o.ns||this.options.defaultNS;if(u&&r.indexOf(u)>-1){var p=r.split(u);(u!==c||u===c&&this.options.ns.indexOf(p[0])>-1)&&(f=p.shift()),r=p.join(c)}return typeof f=="string"&&(f=[f]),{key:r,namespaces:f}}},{key:"translate",value:function(r,o){var u=this;if(uf(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),r==null)return"";Array.isArray(r)||(r=[String(r)]);var c=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,f=this.extractFromKey(r[r.length-1],o),p=f.key,g=f.namespaces,d=g[g.length-1],v=o.lng||this.language,y=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(v&&v.toLowerCase()==="cimode"){if(y){var S=o.nsSeparator||this.options.nsSeparator;return d+S+p}return p}var w=this.resolve(r,o),E=w&&w.res,I=w&&w.usedKey||p,O=w&&w.exactUsedKey||p,H=Object.prototype.toString.apply(E),X=["[object Number]","[object Function]","[object RegExp]"],re=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,z=!this.i18nFormat||this.i18nFormat.handleAsObject,Z=typeof E!="string"&&typeof E!="boolean"&&typeof E!="number";if(z&&E&&Z&&X.indexOf(H)<0&&!(typeof re=="string"&&H==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(I,E,o):"key '".concat(p," (").concat(this.language,")' returned an object instead of string.");if(c){var te=H==="[object Array]",ee=te?[]:{},ve=te?O:I;for(var F in E)if(Object.prototype.hasOwnProperty.call(E,F)){var me="".concat(ve).concat(c).concat(F);ee[F]=this.translate(me,vr({},o,{joinArrays:!1,ns:g})),ee[F]===me&&(ee[F]=E[F])}E=ee}}else if(z&&typeof re=="string"&&H==="[object Array]")E=E.join(re),E&&(E=this.extendTranslation(E,r,o));else{var L=!1,se=!1;if(!this.isValidLookup(E)&&o.defaultValue!==void 0){if(L=!0,o.count!==void 0){var le=this.pluralResolver.getSuffix(v,o.count);E=o["defaultValue".concat(le)]}E||(E=o.defaultValue)}this.isValidLookup(E)||(se=!0,E=p);var he=o.defaultValue&&o.defaultValue!==E&&this.options.updateMissing;if(se||L||he){this.logger.log(he?"updateKey":"missingKey",v,d,p,he?o.defaultValue:E);var Ke=[],Te=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Te&&Te[0])for(var We=0;We1&&arguments[1]!==void 0?arguments[1]:{},c,f,p,g,d;return typeof r=="string"&&(r=[r]),r.forEach(function(v){if(!o.isValidLookup(c)){var y=o.extractFromKey(v,u),S=y.key;f=S;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var E=u.count!==void 0&&typeof u.count!="string",I=u.context!==void 0&&typeof u.context=="string"&&u.context!=="",O=u.lngs?u.lngs:o.languageUtils.toResolveHierarchy(u.lng||o.language,u.fallbackLng);w.forEach(function(H){o.isValidLookup(c)||(d=H,!AE["".concat(O[0],"-").concat(H)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(d)&&(AE["".concat(O[0],"-").concat(H)]=!0,o.logger.warn('key "'.concat(f,'" for namespace "').concat(d,'" for languages "').concat(O.join(", "),`" won't get resolved as namespace was not yet loaded`),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),O.forEach(function(X){if(!o.isValidLookup(c)){g=X;var re=S,z=[re];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(z,S,X,H,u);else{var Z;E&&(Z=o.pluralResolver.getSuffix(X,u.count)),E&&I&&z.push(re+Z),I&&z.push(re+="".concat(o.options.contextSeparator).concat(u.context)),E&&z.push(re+=Z)}for(var te;te=z.pop();)o.isValidLookup(c)||(p=te,c=o.getResource(X,H,te,u))}}))})}}),{res:c,usedKey:f,exactUsedKey:p,usedLng:g,usedNS:d}}},{key:"isValidLookup",value:function(r){return r!==void 0&&!(!this.options.returnNull&&r===null)&&!(!this.options.returnEmptyString&&r==="")}},{key:"getResource",value:function(r,o,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(r,o,u,c):this.resourceStore.getResource(r,o,u,c)}}]),n}($a);function Nv(e){return e.charAt(0).toUpperCase()+e.slice(1)}var p5=function(){function e(n){Xo(this,e),this.options=n,this.whitelist=this.options.whitelist||!1,this.logger=Yo.create("languageUtils")}return Zo(e,[{key:"getScriptPartFromCode",value:function(i){if(!i||i.indexOf("-")<0)return null;var r=i.split("-");return r.length===2?null:(r.pop(),this.formatLanguageCode(r.join("-")))}},{key:"getLanguagePartFromCode",value:function(i){if(!i||i.indexOf("-")<0)return i;var r=i.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(i){if(typeof i=="string"&&i.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],o=i.split("-");return this.options.lowerCaseLng?o=o.map(function(u){return u.toLowerCase()}):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Nv(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Nv(o[1].toLowerCase())),r.indexOf(o[2].toLowerCase())>-1&&(o[2]=Nv(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?i.toLowerCase():i}},{key:"isWhitelisted",value:function(i){return(this.options.load==="languageOnly"||this.options.nonExplicitWhitelist)&&(i=this.getLanguagePartFromCode(i)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(i)>-1}},{key:"getFallbackCodes",value:function(i,r){if(!i)return[];if(typeof i=="string"&&(i=[i]),Object.prototype.toString.apply(i)==="[object Array]")return i;if(!r)return i.default||[];var o=i[r];return o||(o=i[this.getScriptPartFromCode(r)]),o||(o=i[this.formatLanguageCode(r)]),o||(o=i.default),o||[]}},{key:"toResolveHierarchy",value:function(i,r){var o=this,u=this.getFallbackCodes(r||this.options.fallbackLng||[],i),c=[],f=function(g){g&&(o.isWhitelisted(g)?c.push(g):o.logger.warn("rejecting non-whitelisted language code: ".concat(g)))};return typeof i=="string"&&i.indexOf("-")>-1?(this.options.load!=="languageOnly"&&f(this.formatLanguageCode(i)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&f(this.getScriptPartFromCode(i)),this.options.load!=="currentOnly"&&f(this.getLanguagePartFromCode(i))):typeof i=="string"&&f(this.formatLanguageCode(i)),u.forEach(function(p){c.indexOf(p)<0&&f(o.formatLanguageCode(p))}),c}}]),e}(),g5=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he"],nr:[1,2,20,21],fc:22}],m5={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n===0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n===0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n===0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n===1?0:n===2?1:(n<0||n>10)&&n%10==0?2:3}};function _5(){var e={};return g5.forEach(function(n){n.lngs.forEach(function(i){e[i]={numbers:n.nr,plurals:m5[n.fc]}})}),e}var y5=function(){function e(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Xo(this,e),this.languageUtils=n,this.options=i,this.logger=Yo.create("pluralResolver"),this.rules=_5()}return Zo(e,[{key:"addRule",value:function(i,r){this.rules[i]=r}},{key:"getRule",value:function(i){return this.rules[i]||this.rules[this.languageUtils.getLanguagePartFromCode(i)]}},{key:"needsPlural",value:function(i){var r=this.getRule(i);return r&&r.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(i,r){var o=this,u=[],c=this.getRule(i);return c&&c.numbers.forEach(function(f){var p=o.getSuffix(i,f);u.push("".concat(r).concat(p))}),u}},{key:"getSuffix",value:function(i,r){var o=this,u=this.getRule(i);if(u){var c=u.noAbs?u.plurals(r):u.plurals(Math.abs(r)),f=u.numbers[c];this.options.simplifyPluralSuffix&&u.numbers.length===2&&u.numbers[0]===1&&(f===2?f="plural":f===1&&(f=""));var p=function(){return o.options.prepend&&f.toString()?o.options.prepend+f.toString():f.toString()};return this.options.compatibilityJSON==="v1"?f===1?"":typeof f=="number"?"_plural_".concat(f.toString()):p():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&u.numbers.length===2&&u.numbers[0]===1?p():this.options.prepend&&c.toString()?this.options.prepend+c.toString():c.toString()}return this.logger.warn("no plural rule found for: ".concat(i)),""}}]),e}(),v5=function(){function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xo(this,e),this.logger=Yo.create("interpolator"),this.options=n,this.format=n.interpolation&&n.interpolation.format||function(i){return i},this.init(n)}return Zo(e,[{key:"init",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};i.interpolation||(i.interpolation={escapeValue:!0});var r=i.interpolation;this.escape=r.escape!==void 0?r.escape:h5,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Lu(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Lu(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Lu(r.nestingPrefix):r.nestingPrefixEscaped||Lu("$t("),this.nestingSuffix=r.nestingSuffix?Lu(r.nestingSuffix):r.nestingSuffixEscaped||Lu(")"),this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var i="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(i,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var o="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(o,"g")}},{key:"interpolate",value:function(i,r,o,u){var c=this,f,p,g,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function v(I){return I.replace(/\$/g,"$$$$")}var y=function(O){if(O.indexOf(c.formatSeparator)<0)return ME(r,d,O);var H=O.split(c.formatSeparator),X=H.shift().trim(),re=H.join(c.formatSeparator).trim();return c.format(ME(r,d,X),re,o)};this.resetRegExp();var S=u&&u.missingInterpolationHandler||this.options.missingInterpolationHandler;for(g=0;f=this.regexpUnescape.exec(i);){if(p=y(f[1].trim()),p===void 0)if(typeof S=="function"){var w=S(i,f,u);p=typeof w=="string"?w:""}else this.logger.warn("missed to pass in variable ".concat(f[1]," for interpolating ").concat(i)),p="";else typeof p!="string"&&!this.useRawValueToEscape&&(p=Tv(p));if(i=i.replace(f[0],v(p)),this.regexpUnescape.lastIndex=0,g++,g>=this.maxReplaces)break}for(g=0;f=this.regexp.exec(i);){if(p=y(f[1].trim()),p===void 0)if(typeof S=="function"){var E=S(i,f,u);p=typeof E=="string"?E:""}else this.logger.warn("missed to pass in variable ".concat(f[1]," for interpolating ").concat(i)),p="";else typeof p!="string"&&!this.useRawValueToEscape&&(p=Tv(p));if(p=this.escapeValue?v(this.escape(p)):v(p),i=i.replace(f[0],p),this.regexp.lastIndex=0,g++,g>=this.maxReplaces)break}return i}},{key:"nest",value:function(i,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u,c,f=vr({},o);f.applyPostProcessor=!1,delete f.defaultValue;function p(g,d){if(g.indexOf(",")<0)return g;var v=g.split(",");g=v.shift();var y=v.join(",");y=this.interpolate(y,f),y=y.replace(/'/g,'"');try{f=JSON.parse(y),d&&(f=vr({},d,f))}catch(S){this.logger.error("failed parsing options string in nesting for key ".concat(g),S)}return delete f.defaultValue,g}for(;u=this.nestingRegexp.exec(i);){if(c=r(p.call(this,u[1].trim(),f),f),c&&u[0]===i&&typeof c!="string")return c;typeof c!="string"&&(c=Tv(c)),c||(this.logger.warn("missed to resolve ".concat(u[1]," for nesting ").concat(i)),c=""),i=i.replace(u[0],c),this.regexp.lastIndex=0}return i}}]),e}();function b5(e,n){for(var i=e.indexOf(n);i!==-1;)e.splice(i,1),i=e.indexOf(n)}var x5=function(e){Eg(n,e);function n(i,r,o){var u,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return Xo(this,n),u=df(this,Sg(n).call(this)),$a.call(Tu(u)),u.backend=i,u.store=r,u.services=o,u.languageUtils=o.languageUtils,u.options=c,u.logger=Yo.create("backendConnector"),u.state={},u.queue=[],u.backend&&u.backend.init&&u.backend.init(o,c.backend,c),u}return Zo(n,[{key:"queueLoad",value:function(r,o,u,c){var f=this,p=[],g=[],d=[],v=[];return r.forEach(function(y){var S=!0;o.forEach(function(w){var E="".concat(y,"|").concat(w);!u.reload&&f.store.hasResourceBundle(y,w)?f.state[E]=2:f.state[E]<0||(f.state[E]===1?g.indexOf(E)<0&&g.push(E):(f.state[E]=1,S=!1,g.indexOf(E)<0&&g.push(E),p.indexOf(E)<0&&p.push(E),v.indexOf(w)<0&&v.push(w)))}),S||d.push(y)}),(p.length||g.length)&&this.queue.push({pending:g,loaded:{},errors:[],callback:c}),{toLoad:p,pending:g,toLoadLanguages:d,toLoadNamespaces:v}}},{key:"loaded",value:function(r,o,u){var c=r.split("|"),f=NE(c,2),p=f[0],g=f[1];o&&this.emit("failedLoading",p,g,o),u&&this.store.addResourceBundle(p,g,u),this.state[r]=o?-1:2;var d={};this.queue.forEach(function(v){u5(v.loaded,[p],g),b5(v.pending,r),o&&v.errors.push(o),v.pending.length===0&&!v.done&&(Object.keys(v.loaded).forEach(function(y){d[y]||(d[y]=[]),v.loaded[y].length&&v.loaded[y].forEach(function(S){d[y].indexOf(S)<0&&d[y].push(S)})}),v.done=!0,v.errors.length?v.callback(v.errors):v.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(v){return!v.done})}},{key:"read",value:function(r,o,u){var c=this,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:250,g=arguments.length>5?arguments[5]:void 0;return r.length?this.backend[u](r,o,function(d,v){if(d&&v&&f<5){setTimeout(function(){c.read.call(c,r,o,u,f+1,p*2,g)},p);return}g(d,v)}):g(null,{})}},{key:"prepareLoading",value:function(r,o){var u=this,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},f=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),f&&f();typeof r=="string"&&(r=this.languageUtils.toResolveHierarchy(r)),typeof o=="string"&&(o=[o]);var p=this.queueLoad(r,o,c,f);if(!p.toLoad.length)return p.pending.length||f(),null;p.toLoad.forEach(function(g){u.loadOne(g)})}},{key:"load",value:function(r,o,u){this.prepareLoading(r,o,{},u)}},{key:"reload",value:function(r,o,u){this.prepareLoading(r,o,{reload:!0},u)}},{key:"loadOne",value:function(r){var o=this,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",c=r.split("|"),f=NE(c,2),p=f[0],g=f[1];this.read(p,g,"read",null,null,function(d,v){d&&o.logger.warn("".concat(u,"loading namespace ").concat(g," for language ").concat(p," failed"),d),!d&&v&&o.logger.log("".concat(u,"loaded namespace ").concat(g," for language ").concat(p),v),o.loaded(r,d,v)})}},{key:"saveMissing",value:function(r,o,u,c,f){var p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(u,'" for namespace "').concat(o,'" as the namespace was not yet loaded'),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}this.backend&&this.backend.create&&this.backend.create(r,o,u,c,null,vr({},p,{isUpdate:f})),!(!r||!r[0])&&this.store.addResource(r[0],o,u,c)}}]),n}($a);function w5(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(n){var i={};if(uf(n[1])==="object"&&(i=n[1]),typeof n[1]=="string"&&(i.defaultValue=n[1]),typeof n[2]=="string"&&(i.tDescription=n[2]),uf(n[2])==="object"||uf(n[3])==="object"){var r=n[3]||n[2];Object.keys(r).forEach(function(o){i[o]=r[o]})}return i},interpolation:{escapeValue:!0,format:function(n,i,r){return n},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",maxReplaces:1e3}}}function PE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&e.whitelist.indexOf("cimode")<0&&(e.whitelist=e.whitelist.concat(["cimode"])),e}function xg(){}var S5=function(e){Eg(n,e);function n(){var i,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(Xo(this,n),i=df(this,Sg(n).call(this)),$a.call(Tu(i)),i.options=PE(r),i.services={},i.logger=Yo,i.modules={external:[]},o&&!i.isInitialized&&!r.isClone){if(!i.options.initImmediate)return i.init(r,o),df(i,Tu(i));setTimeout(function(){i.init(r,o)},0)}return i}return Zo(n,[{key:"init",value:function(){var r=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(u=o,o={}),this.options=vr({},w5(),this.options,PE(o)),this.format=this.options.interpolation.format,u||(u=xg);function c(y){return y?typeof y=="function"?new y:y:null}if(!this.options.isClone){this.modules.logger?Yo.init(c(this.modules.logger),this.options):Yo.init(null,this.options);var f=new p5(this.options);this.store=new f5(this.options.resources,this.options);var p=this.services;p.logger=Yo,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new y5(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p.interpolator=new v5(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new x5(c(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(y){for(var S=arguments.length,w=new Array(S>1?S-1:0),E=1;E1?S-1:0),E=1;E1&&arguments[1]!==void 0?arguments[1]:xg,c=u,f=typeof r=="string"?r:this.language;if(typeof r=="function"&&(c=r),!this.options.resources||this.options.partialBundledLanguages){if(f&&f.toLowerCase()==="cimode")return c();var p=[],g=function(y){if(y){var S=o.services.languageUtils.toResolveHierarchy(y);S.forEach(function(w){p.indexOf(w)<0&&p.push(w)})}};if(f)g(f);else{var d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.forEach(function(v){return g(v)})}this.options.preload&&this.options.preload.forEach(function(v){return g(v)}),this.services.backendConnector.load(p,this.options.ns,c)}else c(null)}},{key:"reloadResources",value:function(r,o,u){var c=cf();return r||(r=this.languages),o||(o=this.options.ns),u||(u=xg),this.services.backendConnector.reload(r,o,function(f){c.resolve(),u(f)}),c}},{key:"use",value:function(r){return r.type==="backend"&&(this.modules.backend=r),(r.type==="logger"||r.log&&r.warn&&r.error)&&(this.modules.logger=r),r.type==="languageDetector"&&(this.modules.languageDetector=r),r.type==="i18nFormat"&&(this.modules.i18nFormat=r),r.type==="postProcessor"&&DE.addPostProcessor(r),r.type==="3rdParty"&&this.modules.external.push(r),this}},{key:"changeLanguage",value:function(r,o){var u=this;this.isLanguageChangingTo=r;var c=cf();this.emit("languageChanging",r);var f=function(d,v){v?(u.language=v,u.languages=u.services.languageUtils.toResolveHierarchy(v),u.translator.changeLanguage(v),u.isLanguageChangingTo=void 0,u.emit("languageChanged",v),u.logger.log("languageChanged",v)):u.isLanguageChangingTo=void 0,c.resolve(function(){return u.t.apply(u,arguments)}),o&&o(d,function(){return u.t.apply(u,arguments)})},p=function(d){d&&(u.language||(u.language=d,u.languages=u.services.languageUtils.toResolveHierarchy(d)),u.translator.language||u.translator.changeLanguage(d),u.services.languageDetector&&u.services.languageDetector.cacheUserLanguage(d)),u.loadResources(d,function(v){f(v,d)})};return!r&&this.services.languageDetector&&!this.services.languageDetector.async?p(this.services.languageDetector.detect()):!r&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(p):p(r),c}},{key:"getFixedT",value:function(r,o){var u=this,c=function f(p,g){var d;if(uf(g)!=="object"){for(var v=arguments.length,y=new Array(v>2?v-2:0),S=2;S0?this.languages[0]:this.language),!r)return"rtl";var o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"];return o.indexOf(this.services.languageUtils.getLanguagePartFromCode(r))>=0?"rtl":"ltr"}},{key:"createInstance",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;return new n(r,o)}},{key:"cloneInstance",value:function(){var r=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xg,c=vr({},this.options,o,{isClone:!0}),f=new n(c),p=["store","services","language"];return p.forEach(function(g){f[g]=r[g]}),f.translator=new OE(f.services,f.options),f.translator.on("*",function(g){for(var d=arguments.length,v=new Array(d>1?d-1:0),y=1;y{vt();Ba=qE(),C5=()=>window.initConfig.user.i18n||"en",He=e=>Ba.t(e),tc=e=>Ba.t(`plugins.${e}`),Mv=e=>{for(let n in e)for(let i in e[n])Ba.addResource(n,"translation",i,e[n][i])},Av=({name:e,config:n})=>{for(let i in n)V.i18n.plugins[i]&&(V.i18n.plugins[i].plugins[e]=n[i]);for(let i in V.i18n.plugins)for(let r in V.i18n.plugins[i])Ba.addResource(i,"translation",r,V.i18n.plugins[i][r])},zE={getAppLanguage:C5,t:He,tPlugin:tc,addI18n:Mv,addI18nPlugin:Av}});var GE,Ht,zi=W(()=>{Nt();vt();bt();bg();hf();xi();yr();ln();GE=async(e=[])=>{let n=await Promise.allSettled(e);return n.some(i=>i.status==="fulfilled")?n.filter(i=>i.status==="fulfilled").map(i=>i.value):Promise.reject(n.filter(i=>i.status==="rejected").map(i=>i.reason))},Ht={async getData(e,n={}){let{inputs:i={},outputs:r={}}=n,o=this[e](i);return r&&U.outputDataPlace(o,r),await await o},async"query:coordinates"({coordinates:e,layerIds:n=[],multilayers:i=!1,query_point_tolerance:r=ja,addExternal:o=!0,feature_count:u}={}){let c=U.getService("catalog").state.external.vector.some(p=>p.selected),f=Gr({QUERYABLE:!0,SELECTED_OR_ALL:n.length===0,VISIBLE:!0,IDS:n.length?n.map(p=>p):void 0});try{return{result:!0,type:"ows",query:{coordinates:e,type:"coordinates",external:{add:(!c||n.length>0)&&f.length===1&&f[0].isSelected()?!1:o,filter:{SELECTED:c}}},data:((!c||n.length>0)&&await sn(this.getQueryLayersPromisesByCoordinates(f,{multilayers:i,feature_count:u,query_point_tolerance:r,coordinates:e}))||[]).flatMap(({data:p=[]})=>p)}}catch(p){throw console.warn(p),p}},async"query:bbox"({bbox:e,feature_count:n=V.project.state.feature_count||5,filterConfig:i={},multilayers:r=!1,condition:o={filtrable:{ows:"WFS"}},excludeSelected:u=null,addExternal:c=!0,layersFilterObject:f={SELECTED_OR_ALL:!0,FILTERABLE:!0,VISIBLE:!0}}={}){let p=U.getService("catalog").state.external.vector.some(d=>d.selected),g=p||(typeof u=="boolean"?u:!1);try{return{result:!0,type:"ows",query:{bbox:e,type:"bbox",filterConfig:i,external:{add:c,filter:{SELECTED:g}}},data:(!p&&await this.getQueryLayersPromisesByGeometry(Gr(f,o),{geometry:ol.geom.Polygon.fromExtent(e),feature_count:n,filterConfig:i,multilayers:r,projection:U.getService("map").getMap().getView().getProjection()})||[]).flatMap(({data:d=[]})=>d)}}catch(d){throw console.warn(d),d}},async"query:polygon"({feature:e,feature_count:n=V.project.state.feature_count||5,filterConfig:i={},multilayers:r=!1,condition:o={filtrable:{ows:"WFS"}},layerName:u="",excludeSelected:c=null,external:f={add:!0,filter:{SELECTED:!1}},type:p="polygon"}={}){let g=e.getGeometry();try{return{result:!0,type:"ows",error:!g,query:{fid:U.getService("catalog").state.external.vector.some(d=>d.selected)?e.getId():e.get(Cn),geometry:g,layerName:u,type:p,filterConfig:i,external:f},usermessage:!g&&{type:"warning",message:`${u} - ${He("sdk.mapcontrols.querybypolygon.no_geometry")}`,messagetext:!0,autoclose:!1},data:(await this.getQueryLayersPromisesByGeometry(Gr({...typeof c=="boolean"?{SELECTED:!c}:{SELECTED_OR_ALL:!0},FILTERABLE:!0,VISIBLE:!0},o),{geometry:g,multilayers:r,feature_count:n,filterConfig:i,projection:V.project.getProjection()})||[]).flatMap(({data:d=[]})=>d)}}catch(d){throw console.warn(d),d}},async"search:features"(e={layer,filter,raw:!1,queryUrl,feature_count,formatter:1,ordering,autofilter:0,page,page_sizes}){let{layer:n,...i}=e;i.filter=[].concat(i.filter),i.page_size=(i.page_sizes||[])[0];let r=[],o=[];return{data:(await Promise.allSettled([].concat(n).map((u,c)=>u.searchFeatures({...i,filter:i.filter[c]})))).filter(u=>u.status==="fulfilled").map(({value:u}={})=>{if(i.autofilter===1&&(u.data||[]).forEach(({layer:c,filtertoken:f})=>{f&&(c.state.selection.active=c.state.filter.active=!0,c.setFilterToken(f))}),i.page_sizes){let c=Math.max(...Array.isArray(i.page_sizes)?i.page_sizes:[i.page_sizes]);o.push(c<=u.count?i.page_sizes:[...i.page_sizes.filter(f=>f0)return u.data[0]}),query:{type:"search",search:i.filter,autofilter:!!i.autofilter,pagination:i.page_size&&{pages:i.page&&r.map(u=>Math.round(u/i.page_size)),current:i.page&&r.map(()=>i.page),page_sizes:o,counts:r,getData:{params:i.filter.map(u=>({...i,filter:u})),method:"searchFeatures",layers:n}}},type:"api"}},async"search:fids"({layer:e,formatter:n=0,fids:i=[]}={}){let r=[];try{r=(e&&await e.getFeatureByFids({fids:i,formatter:n})||[]).map(o=>{let u=o.properties!==void 0?o.properties:{};u[Cn]=o.id;let c=new ol.Feature(o.geometry&&new ol.geom[o.geometry.type](o.geometry.coordinates));return c.setProperties(u),c.setId(o.id),c})}catch(o){console.warn(o)}return{data:[{layer:e,features:r}],query:{type:"search"}}},async"search:layersfids"({layers:e=[],fids:n=[],formatter:i=0}={}){let r=[];try{r=(await Promise.all(e.map((o,u)=>this["search:fids"]({layer:o,fids:n[u],formatter:i})))).map(o=>o.data)}catch(o){console.warn(o)}return{data:r,query:{type:"search"}}},async"expression:expression"(e={}){try{let n=await ht.post({url:`${V.project.getUrl("vector_data")}${e.layer_id}/`,contentType:"application/json",data:JSON.stringify(e)});return n.result?n.vector.data.features||[]:Promise.reject(JSON.stringify(n.error))}catch(n){return console.warn(n),Promise.reject(n)}},async"expression:expression_eval"(e={}){try{let{result:n,value:i,error:r}=await ht.post({url:`/api/expression_eval/${V.project.getId()}/`,contentType:"application/json",data:JSON.stringify(e)});return n?i:Promise.reject(JSON.stringify(r))}catch(n){return console.warn(n),Promise.reject(n)}},async"proxy:wms"({url:e,method:n="GET",params:i={},headers:r={}}={}){n==="GET"&&(e=new URL(e),Object.keys(i).forEach(o=>e.searchParams.set(o,i[o])),e=e.toString());try{return{response:await ht.post({data:JSON.stringify({url:e,params:i,headers:r,method:n}),contentType:"application/json",url:`${window.initConfig.proxyurl}`}),data:JSON.stringify({url:e,params:i,headers:r,method:n})}}catch(o){console.warn(o)}},"proxy:data"(e={}){},getQueryLayersPromisesByCoordinates(e,{coordinates:n,feature_count:i=10,query_point_tolerance:r=ja,multilayers:o=!1,reproject:u=!0}={}){if(e.length===0)return Wt(Promise.resolve(e));let c=U.getService("map").getMap(),f=c.getSize(),p=c.getView().getProjection(),g=c.getView().getResolution();return Wt(async()=>await GE(Object.values(o?ec(e,d=>`${d.getInfoFormat()}:${d.getInfoUrl()}:${d.getMultiLayerId()}`):e).map(d=>sn([].concat(d)[0].query(o?{feature_count:i,coordinates:n,query_point_tolerance:r,mapProjection:p,size:f,resolution:g,reproject:u,layers:d}:{feature_count:i,coordinates:n,query_point_tolerance:r,mapProjection:p,size:f,resolution:g})))))},async getQueryLayersPromisesByGeometry(e,{geometry:n,projection:i,filterConfig:r={},multilayers:o=!1,feature_count:u=10}={}){if(e.length===0)return[];let c=i.getCode();return await GE(Object.values(o?ec(e,f=>`${f.getMultiLayerId()}_${f.getProjection().getCode()}`):e).map(f=>{let p=[].concat(f)[0],g=p.getProjection().getCode(),d={config:r,type:"geometry",value:c===g?n:n.clone().transform(c,g)};return sn(p.query(o?{filter:d,feature_count:u,layers:f}:{filter:d,feature_count:u,filterConfig:r}))}))}}});async function Cg(e){return e=Yl(e),await Zn.registerProjection(e),e}var Ov,Ig,Pv,Fv,ff,Dv=W(()=>{Yn();bt();zi();vt();xu();uo();cg();bn();Ov=class{constructor(){this.pendingactions={},this.getMessage=this.getMessage.bind(this),this.eventResponseServiceHandler=this.eventResponseServiceHandler.bind(this)}async init({project:n}={}){await U.isReady(),this.services={app:new Pv,editing:new Fv};let i=n.state.layers.map(o=>({id:o.id,name:o.name})),r=Object.keys(this.services);for(let o=0;o({[p.getId()]:{features:f.writeFeatures(g)}}))}catch(p){console.warn(p),u=!1,r=p}this.postMessage({id:null,action:o,response:{result:u,data:r}})}postMessage(n={}){window.parent&&window.parent.postMessage(n,"*")}async stopPendingActions(){let n=[];return Object.keys(this.pendingactions).forEach(i=>{n.push(this.services[this.pendingactions[i].context].stop()),delete this.pendingactions[i]}),Promise.allSettled(n)}async getMessage(n){if(n&&n.data){let{id:i=ut(),single:r=!0,action:o,data:u}=n.data,[c,f]=(o||"").split(":"),p=!1,g;try{let d=this.services[c].getReady();d&&r&&await this.stopPendingActions(),d&&(this.pendingactions[i]={context:c},g=await this.services[c][f](u),p=!0)}catch(d){console.warn(d),p=!1,g=d}this.postMessage({id:i,action:o,response:{result:p,data:g}}),delete this.pendingactions[i]}}async clear(){let n=Object.keys(this.services);for(let i=0;i{await r.isReady(),r.getName()===this.pluginName&&(this.setDependencyApi(r.getApi()),this.setReady(!0))})}setDependencyApi(n={}){this.dependencyApi=n}getDependecyApi(){return this.dependencyApi}getQgsLayerId({qgs_layer_id:n,noValue:i=this.layers.map(r=>r.id)}){return n?[].concat(n):i}async searchFeature({layer:n,feature:i}){let{data:r=[]}=await Ht.getData("search:features",{inputs:{layer:n,filter:[].concat(i.value).map(o=>`${i.field}|eq|${encodeURIComponent(o)}`).join("|OR,")},outputs:!1});return r}async findFeaturesWithGeometry({feature:n,qgs_layer_id:i=[],zoom:r=!1,highlight:o=!1}={}){let u={found:!1,features:[],qgs_layer_id:null},c=i.length,f=0;for(;!u.found&&f0&&!!d.find(v=>v.getGeometry()),!d||!u.found)throw"invalid response";u.features=d,u.qgs_layer_id=i[f],r&&await this.mapService.zoomToFeatures(d,{highlight:o})}catch(g){f++,console.warn(g)}}return u.found||this.zoomToExtent(this.mapService.project.state.initextent),u}setLayers(n=[]){this.layers=n}getLayers(){return this.layers}setReady(n=!1){this.ready=n}getReady(){return this.ready}async stop(){}clear(){}},Pv=class extends Ig{constructor(){super(),this.mapControls={screenshot:{control:null},changeMap:{control:null}}}init(){return new Promise(n=>{this.mapService.once("ready",()=>{this._map=this.mapService.getMap(),this._mapCrs=this.mapService.getCrs(),this.mapControls.screenshot.control=this.mapService.getMapControlByType({type:"screenshot"}),this.setReady(!0),n()})})}async results({capture:n=!0}){return U.currentoutputplace=n?"iframe":"gui",[]}async screenshot({capture:n=!0}){if(!n){this.mapControls.screenshot.control.resetOriginalOnClickEvent();return}this.mapControls.screenshot.control.overwriteOnClickEvent(async()=>{let i;try{i={result:!0,data:await this.mapService.createMapImage()}}catch(r){console.warn(r),i={result:!1,data:r}}finally{this.emit("response",{response:i,action:"app:screenshot"})}})}async getcenter(n={}){let i=this.mapService.getCenter();return n.epsg!==void 0?ol.proj.transform(i,this.mapService.getEpsg(),await Cg(n.epsg)):i}async zoomtocoordinates(n={}){let{coordinates:i=[],epsg:r}=n;return i&&Array.isArray(i)&&i.length===2?(r!==void 0&&(r=await Cg(r),i=ol.proj.transform(i,r,this.mapService.getEpsg())),this.mapService.zoomTo(i),i):Promise.reject(i)}async getextent(n={}){let i=this.mapService.getMapExtent();return n.epsg!==void 0?ol.proj.transformExtent(i,this.mapService.getEpsg(),await Cg(n.epsg)):i}async zoomtoextent(n={}){let{extent:i=[],epsg:r}=n;return i&&Array.isArray(i)&&i.length===4?(r!==void 0?(r=Cg(r),i=ol.proj.transformExtent(i,r,this.mapService.getEpsg())):this.mapService.goToBBox(i),i):Promise.reject(i)}async zoomtofeature(n={}){let{qgs_layer_id:i,feature:r,highlight:o=!1}=n;return i=this.getQgsLayerId({qgs_layer_id:i}),(await this.findFeaturesWithGeometry({qgs_layer_id:i,feature:r,zoom:!0,highlight:o})).qgs_layer_id}},Fv=class extends Ig{constructor(){super(),this.pluginName="editing",this.subscribevents=[],this.isRunning=!1,this.responseObject={cb:null,qgs_layer_id:null,error:null},this.config={tools:{add:{disabled:[{id:"deletefeature"},{id:"copyfeatures"},{id:"editmultiattributes"},{id:"deletePart"},{id:"splitfeature"},{id:"mergefeatures"}]},update:{disabled:[{id:"addfeature"},{id:"copyfeatures"},{id:"deletefeature"},{id:"editmultiattributes"},{id:"deletePart"},{id:"splitfeature"},{id:"mergefeatures"}]},delete:{enabled:[{id:"deletefeature",options:{active:!0}}]}}},this.subscribersHandlers={canUndo:({activeTool:n,disableToolboxes:i=[]})=>r=>{r===!1&&(this.responseObject.qgs_layer_id=null,this.responseObject.error=null),n.setEnabled(!r),i.forEach(o=>o.setEditing(!r))},canRedo:()=>{},cancelform:n=>()=>{n()},addfeature:({properties:n,toolboxes:i}={})=>r=>{Object.keys(n).forEach(c=>r.set(c,n[c]));let o,u=[];i.forEach(c=>{let f=c.getToolById("addfeature");f.isActive()?(f.setEnabled(!1),o=f):(c.setEditing(!1),u.push(c))}),this.subscribevents.find(c=>c.event!=="canUndo")&&this.addSubscribeEvents("cancelform",this.addSubscribeEvents("canUndo",{activeTool:o,disableToolboxes:u}))},closeeditingpanel:({qgs_layer_id:n})=>()=>{this.responseObject.cb({qgs_layer_id:this.responseObject.qgs_layer_id,error:this.responseObject.error}),this.stopAction({qgs_layer_id:n})}}}async startAction({toolboxes:n,resolve:i,reject:r}){this.responseObject.cb=r,this.dependencyApi.setSaveConfig({cb:{done:o=>{this.responseObject.cb=i,this.responseObject.qgs_layer_id=o.getId(),this.responseObject.error=null,this.dependencyApi.hidePanel()},error:(o,u)=>{this.responseObject.cb=r,this.responseObject.qgs_layer_id=o.getId(),this.responseObject.error=u}}}),this.dependencyApi.showPanel({toolboxes:n}),this.isRunning=!0}async stopAction(n={}){n.qgs_layer_id&&await this.stopEditing(n.qgs_layer_id)}addSubscribeEvents(n,i={}){let r=this.subscribersHandlers[n](i);return this.dependencyApi.subscribe(n,r),this.subscribevents.push({event:n,handler:r}),r}resetSubscribeEvents(){this.subscribevents.forEach(n=>{this.dependencyApi.unsubscribe(n.event,n.handler)})}add(n={}){return new Promise(async(i,r)=>{if(this.isRunning)return r();let{qgs_layer_id:o,...u}=n,{properties:c}=u,f=this.getQgsLayerId({qgs_layer_id:o,noValue:this.dependencyApi.getEditableLayersId()});await this.startAction({toolboxes:f,resolve:i,reject:r});let p=(await this.startEditing(f,{tools:this.config.tools.add,startstopediting:!1,action:"add",selected:f.length===1})).filter(g=>g.status==="fulfilled").map(g=>g.value);U.isSidebarVisible()||U.showSidebar(),p.length===1&&p[0]&&p[0].setActiveTool(p[0].getToolById("addfeature")),this.addSubscribeEvents("addfeature",{properties:c,toolboxes:p}),this.addSubscribeEvents("closeeditingpanel",{qgs_layer_id:f})})}async update(n={}){return new Promise(async(i,r)=>{if(this.isRunning)return r();let{qgs_layer_id:o,...u}=n,{feature:c}=u,f=this.getQgsLayerId({qgs_layer_id:o,noValue:this.dependencyApi.getEditableLayersId()}),p=await this.findFeaturesWithGeometry({qgs_layer_id:f,feature:c,zoom:!0,highlight:!0,selected:f.length===1});if(!p.found)return r();await this.startAction({toolboxes:[p.qgs_layer_id],resolve:i,reject:r}),await this.startEditing([p.qgs_layer_id],{feature:c,tools:this.config.tools.update,startstopediting:!1,action:"update"}),U.isSidebarVisible()||U.showSidebar(),this.addSubscribeEvents("closeeditingpanel",{qgs_layer_id:[p.qgs_layer_id]})})}delete(){}async startEditing(n=[],i={}){let{action:r="add",feature:o}=i,u={};switch(i.filter=u,r){case"add":u.nofeatures=!0;break;case"update":u.field=`${o.field}|eq|${o.value}`;break}let c=[];return n.forEach(f=>{c.push(this.dependencyApi.startEditing(f,i))}),await Promise.allSettled(c)}async stopEditing(n){let i=[];n.forEach(r=>{i.push(this.dependencyApi.stopEditing(r))}),await Promise.allSettled(i),this.clear()}stop(){return new Promise(n=>{this.dependencyApi.hidePanel(),U.hideSidebar(),this.once("clear",n)})}clear(){this.dependencyApi.resetDefault(),this.isRunning=!1,this.responseObject={cb:null,qgs_layer_id:null,error:null},this.resetSubscribeEvents(),this.emit("clear")}},ff=new Ov});function wi(e){return Object.prototype.toString.call(e).slice(8,-1)}var Ko=W(()=>{});function nc(){return window.initConfig.projects,window.initConfig.projects.filter(e=>[null,void 0].includes(e.listable)?e.id===V.project.getId()||window.initConfig.overviewproject&&e.gid===window.initConfig.overviewproject?!1:e:e.listable).sort((e,n)=>(e.title||"").localeCompare(n.title))}var kg=W(()=>{vt()});function pf(e){let n=window.initConfig.projects.find(i=>e===i.gid);try{return`${new URL(window.initConfig.urls.baseurl)}${n.url}`}catch(i){return console.warn(i),`${location.origin}${window.initConfig.urls.baseurl}${n.url}`}}var jv=W(()=>{});var qv={};vi(qv,{default:()=>P5});function A5(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="SidebarItem.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var I5,k5,L5,T5,N5,R5,M5,O5,P5,zv=W(()=>{vt();I5={name:"SidebarItem",data(){let{component:e}=this.$options;return{info:e.info||{state:null,style:null,class:null},main:!0,component:e,active:!1,title:e.title||"",open:!!e.state.open,icon:e.icon,iconColor:e.iconColor,collapsible:e.collapsible!==!1,actions:e.actions,sidebar:V.gui.sidebar}},methods:{triggerAction(e,n){e.fnc(n)}},mounted(){let e=this.$options.opts||{},n=document.getElementById("g3w-sidebarcomponents");[null,void 0].includes(e.position)||e.position<0||e.position>=n.children.length?$(n).append(this.$el):Array.from(n.children).forEach((i,r)=>{(r===e.position||i.id===e.position)&&i.insertAdjacentElement(e.before||e.before===void 0?"beforebegin":"afterend",this.$el)}),this.component.mount(this.$refs["component-placeholder"]),this.component.click=({open:i=!1}={})=>{i&&V.sidebar.components.forEach(o=>{o!==this.component&&o.getOpen()&&o.click({open:!1})});let r=this.component.getInternalComponent().$el;r.classList&&r.classList.toggle("menu-open",i),r.parentNode.classList.toggle("active",i),this.component.setOpen(i)}}},k5=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("li",{directives:[{name:"show",rawName:"v-show",value:e.component.state.visible,expression:"component.state.visible"},{name:"disabled",rawName:"v-disabled",value:e.component.state.disabled,expression:"component.state.disabled"}],staticClass:"treeview sidebaritem",class:{active:e.open},attrs:{id:e.component.id}},[i("bar-loader",{attrs:{loading:e.component.state.loading}}),e._v(" "),i("a",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:e.sidebar.open?"":e.title,expression:"sidebar.open ? '' : title",arg:"right",modifiers:{create:!0}}],staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"},attrs:{href:"#","current-tooltip":e.sidebar.open?"":e.title}},[i("div",[e.sidebar.open?i("i",{class:e.icon,style:{color:e.iconColor}}):i("span",[i("i",{class:e.icon,style:{color:e.iconColor}})]),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t",value:e.title,expression:"title"}],staticClass:"treeview-label"})]),e._v(" "),i("div",[e.info.state?i("span",{class:e.info.class,staticStyle:{position:"absolute",right:"5px","font-weight":"bold"},style:e.info.style,attrs:{title:e.info.tooltip}},[e._v(e._s(e.info.state))]):e._e(),e._v(" "),e._l(e.actions,function(r){return i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:r.tooltip,expression:"action.tooltip",arg:"left",modifiers:{create:!0}}],key:r.id,staticClass:"action skin-tooltip-left",class:r.class,staticStyle:{"font-weight":"bold",padding:"3px"},style:r.style,on:{click:function(o){return o.stopPropagation(),e.triggerAction(r,e.component.internalComponent)}}})})],2),e._v(" "),e.collapsible?i("i",{staticClass:"pull-right",class:e.$fa("angle-left")}):e._e()]),e._v(" "),i("div",{ref:"component-placeholder"})],1)},L5=[],T5=void 0,N5=void 0,R5=void 0,M5=!1;O5=A5({render:k5,staticRenderFns:L5},T5,I5,N5,M5,R5,!1,void 0,void 0,void 0),P5=O5});function B5(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FormHeader.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var F5,D5,j5,q5,z5,G5,$5,U5,$E,BE=W(()=>{F5=Vue.extend({name:"form-header",props:{headers:{type:Array,default:[]},currentid:{type:String},update:{type:Boolean},valid:{type:Boolean}},methods:{click(e){e!==this.currentid&&this.headers.length>1&&this.$emit("clickheader",e)},resizeForm(e){this.$emit("resize-form",e)}}}),D5=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"g3wform_header box-header with-border",staticStyle:{display:"flex","flex-direction":"column"}},[i("section",{staticClass:"g3wform_header_content"},e._l(e.headers,function(r){return i("span",{key:r.id,staticClass:"title",class:[{item_selected:e.currentid===r.id&&e.headers.length>1},[e.headers.length>1?"tabs":"one"]],staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"},style:{fontSize:e.isMobile()&&"1em !important"},on:{click:function(o){return o.stopPropagation(),e.click(r.id)}}},[r.icon?i("span",{staticStyle:{"margin-right":"5px"}},[i("i",{class:r.icon})]):e._e(),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t:pre",value:r.title,expression:"header.title",arg:"pre"}],staticClass:"g3w-long-text"},[e._v(e._s(r.name))]),e._v(" "),i(r.component,{tag:"component",attrs:{valid:e.valid,update:e.update}})],1)}),0)])},j5=[],q5=void 0,z5=void 0,G5=void 0,$5=!1;U5=B5({render:D5,staticRenderFns:j5},q5,F5,z5,$5,G5,!1,void 0,void 0,void 0),$E=U5});function Q5(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FormFooter.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var V5,W5,H5,Y5,X5,Z5,K5,J5,UE,VE=W(()=>{V5=Vue.extend({name:"form-footer",props:{state:{type:Object},backToRoot:{type:Function,default:()=>{}},isRootComponent:{type:Function}},data(){return this.originalbuttons=this.state.buttons.map(e=>({...e})),{id:"footer",active:!0,show:!0}},computed:{enableSave(){return this.state.valid&&this.state.update}},methods:{exec(e){e instanceof Function?e(this.state.fields):function(){return this.state.fields}()},btnEnabled(e){let{enabled:n=!0,type:i}=e;return n&&(i!=="save"||i==="save"&&this.enableSave)},isValid(){return this.state.valid}},watch:{"state.component"(e){this.show=this.isRootComponent(e)},"state.update":{immediate:!0,handler(e){this.state.buttons.find((n,i)=>{n.eventButtons&&n.eventButtons.update&&(n.eventButtons.update[e]?this.state.buttons.splice(i,1,{...n,...n.eventButtons.update[e]}):this.state.buttons.splice(i,1,this.originalbuttons[i]))})}}},activated(){this.active=!0},deactivated(){this.active=!1}}),W5=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"form-group g3wform_footer"},[e.show?[e._t("default",function(){return[i("div",{staticStyle:{margin:"3px","font-weight":"bold"}},[e._v(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}af.exports=e5,af.exports.__esModule=!0,af.exports.default=af.exports});var TE=Qe((Lie,lf)=>{var t5=IE(),n5=kE(),i5=Lv(),r5=LE();function s5(e,n){return t5(e)||n5(e,n)||i5(e,n)||r5()}lf.exports=s5,lf.exports.__esModule=!0,lf.exports.default=lf.exports});var qE=Qe((Tie,jE)=>{"use strict";function ho(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var uf=ho($h()),yr=ho(fE()),Xo=ho(pE()),Zo=ho(mE()),df=ho(_E()),Sg=ho(yE()),Tu=ho(Ev()),Eg=ho(bE()),o5=ho(CE()),NE=ho(TE()),a5={type:"logger",log:function(n){this.output("log",n)},warn:function(n){this.output("warn",n)},error:function(n){this.output("error",n)},output:function(n,i){var r;console&&console[n]&&(r=console)[n].apply(r,o5(i))}},l5=function(){function e(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Xo(this,e),this.init(n,i)}return Zo(e,[{key:"init",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=i||a5,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(i){this.debug=i}},{key:"log",value:function(){for(var i=arguments.length,r=new Array(i),o=0;o1?r-1:0),u=1;u-1?f.replace(/###/g,"."):f}function o(){return!e||typeof e=="string"}for(var u=typeof n!="string"?[].concat(n):n.split(".");u.length>1;){if(o())return{};var c=r(u.shift());!e[c]&&i&&(e[c]=new i),e=e[c]}return o()?{}:{obj:e,k:r(u.shift())}}function RE(e,n,i){var r=Rv(e,n,Object),o=r.obj,u=r.k;o[u]=i}function u5(e,n,i,r){var o=Rv(e,n,Object),u=o.obj,c=o.k;u[c]=u[c]||[],r&&(u[c]=u[c].concat(i)),r||u[c].push(i)}function wg(e,n){var i=Rv(e,n),r=i.obj,o=i.k;if(r)return r[o]}function ME(e,n,i){var r=wg(e,i);return r!==void 0?r:wg(n,i)}function FE(e,n,i){for(var r in n)r in e?typeof e[r]=="string"||e[r]instanceof String||typeof n[r]=="string"||n[r]instanceof String?i&&(e[r]=n[r]):FE(e[r],n[r],i):e[r]=n[r];return e}function Lu(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var d5={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function h5(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(n){return d5[n]}):e}var f5=function(e){Eg(n,e);function n(i){var r,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return Xo(this,n),r=df(this,Sg(n).call(this)),$a.call(Tu(r)),r.data=i||{},r.options=o,r.options.keySeparator===void 0&&(r.options.keySeparator="."),r}return Zo(n,[{key:"addNamespaces",value:function(r){this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}},{key:"removeNamespaces",value:function(r){var o=this.options.ns.indexOf(r);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(r,o,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},f=c.keySeparator!==void 0?c.keySeparator:this.options.keySeparator,p=[r,o];return u&&typeof u!="string"&&(p=p.concat(u)),u&&typeof u=="string"&&(p=p.concat(f?u.split(f):u)),r.indexOf(".")>-1&&(p=r.split(".")),wg(this.data,p)}},{key:"addResource",value:function(r,o,u,c){var f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},p=this.options.keySeparator;p===void 0&&(p=".");var g=[r,o];u&&(g=g.concat(p?u.split(p):u)),r.indexOf(".")>-1&&(g=r.split("."),c=o,o=g[1]),this.addNamespaces(o),RE(this.data,g,c),f.silent||this.emit("added",r,o,u,c)}},{key:"addResources",value:function(r,o,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var f in u)(typeof u[f]=="string"||Object.prototype.toString.apply(u[f])==="[object Array]")&&this.addResource(r,o,f,u[f],{silent:!0});c.silent||this.emit("added",r,o,u)}},{key:"addResourceBundle",value:function(r,o,u,c,f){var p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},g=[r,o];r.indexOf(".")>-1&&(g=r.split("."),c=u,u=o,o=g[1]),this.addNamespaces(o);var d=wg(this.data,g)||{};c?FE(d,u,f):d=yr({},d,u),RE(this.data,g,d),p.silent||this.emit("added",r,o,u)}},{key:"removeResourceBundle",value:function(r,o){this.hasResourceBundle(r,o)&&delete this.data[r][o],this.removeNamespaces(o),this.emit("removed",r,o)}},{key:"hasResourceBundle",value:function(r,o){return this.getResource(r,o)!==void 0}},{key:"getResourceBundle",value:function(r,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?yr({},{},this.getResource(r,o)):this.getResource(r,o)}},{key:"getDataByLanguage",value:function(r){return this.data[r]}},{key:"toJSON",value:function(){return this.data}}]),n}($a),DE={processors:{},addPostProcessor:function(n){this.processors[n.name]=n},handle:function(n,i,r,o,u){var c=this;return n.forEach(function(f){c.processors[f]&&(i=c.processors[f].process(i,r,o,u))}),i}},AE={},OE=function(e){Eg(n,e);function n(i){var r,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Xo(this,n),r=df(this,Sg(n).call(this)),$a.call(Tu(r)),c5(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],i,Tu(r)),r.options=o,r.options.keySeparator===void 0&&(r.options.keySeparator="."),r.logger=Yo.create("translator"),r}return Zo(n,[{key:"changeLanguage",value:function(r){r&&(this.language=r)}},{key:"exists",value:function(r){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},u=this.resolve(r,o);return u&&u.res!==void 0}},{key:"extractFromKey",value:function(r,o){var u=o.nsSeparator||this.options.nsSeparator;u===void 0&&(u=":");var c=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,f=o.ns||this.options.defaultNS;if(u&&r.indexOf(u)>-1){var p=r.split(u);(u!==c||u===c&&this.options.ns.indexOf(p[0])>-1)&&(f=p.shift()),r=p.join(c)}return typeof f=="string"&&(f=[f]),{key:r,namespaces:f}}},{key:"translate",value:function(r,o){var u=this;if(uf(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),r==null)return"";Array.isArray(r)||(r=[String(r)]);var c=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,f=this.extractFromKey(r[r.length-1],o),p=f.key,g=f.namespaces,d=g[g.length-1],v=o.lng||this.language,y=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(v&&v.toLowerCase()==="cimode"){if(y){var S=o.nsSeparator||this.options.nsSeparator;return d+S+p}return p}var w=this.resolve(r,o),E=w&&w.res,I=w&&w.usedKey||p,O=w&&w.exactUsedKey||p,H=Object.prototype.toString.apply(E),X=["[object Number]","[object Function]","[object RegExp]"],re=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,z=!this.i18nFormat||this.i18nFormat.handleAsObject,Z=typeof E!="string"&&typeof E!="boolean"&&typeof E!="number";if(z&&E&&Z&&X.indexOf(H)<0&&!(typeof re=="string"&&H==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(I,E,o):"key '".concat(p," (").concat(this.language,")' returned an object instead of string.");if(c){var te=H==="[object Array]",ee=te?[]:{},ve=te?O:I;for(var F in E)if(Object.prototype.hasOwnProperty.call(E,F)){var me="".concat(ve).concat(c).concat(F);ee[F]=this.translate(me,yr({},o,{joinArrays:!1,ns:g})),ee[F]===me&&(ee[F]=E[F])}E=ee}}else if(z&&typeof re=="string"&&H==="[object Array]")E=E.join(re),E&&(E=this.extendTranslation(E,r,o));else{var L=!1,se=!1;if(!this.isValidLookup(E)&&o.defaultValue!==void 0){if(L=!0,o.count!==void 0){var le=this.pluralResolver.getSuffix(v,o.count);E=o["defaultValue".concat(le)]}E||(E=o.defaultValue)}this.isValidLookup(E)||(se=!0,E=p);var he=o.defaultValue&&o.defaultValue!==E&&this.options.updateMissing;if(se||L||he){this.logger.log(he?"updateKey":"missingKey",v,d,p,he?o.defaultValue:E);var Ke=[],Te=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Te&&Te[0])for(var We=0;We1&&arguments[1]!==void 0?arguments[1]:{},c,f,p,g,d;return typeof r=="string"&&(r=[r]),r.forEach(function(v){if(!o.isValidLookup(c)){var y=o.extractFromKey(v,u),S=y.key;f=S;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var E=u.count!==void 0&&typeof u.count!="string",I=u.context!==void 0&&typeof u.context=="string"&&u.context!=="",O=u.lngs?u.lngs:o.languageUtils.toResolveHierarchy(u.lng||o.language,u.fallbackLng);w.forEach(function(H){o.isValidLookup(c)||(d=H,!AE["".concat(O[0],"-").concat(H)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(d)&&(AE["".concat(O[0],"-").concat(H)]=!0,o.logger.warn('key "'.concat(f,'" for namespace "').concat(d,'" for languages "').concat(O.join(", "),`" won't get resolved as namespace was not yet loaded`),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),O.forEach(function(X){if(!o.isValidLookup(c)){g=X;var re=S,z=[re];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(z,S,X,H,u);else{var Z;E&&(Z=o.pluralResolver.getSuffix(X,u.count)),E&&I&&z.push(re+Z),I&&z.push(re+="".concat(o.options.contextSeparator).concat(u.context)),E&&z.push(re+=Z)}for(var te;te=z.pop();)o.isValidLookup(c)||(p=te,c=o.getResource(X,H,te,u))}}))})}}),{res:c,usedKey:f,exactUsedKey:p,usedLng:g,usedNS:d}}},{key:"isValidLookup",value:function(r){return r!==void 0&&!(!this.options.returnNull&&r===null)&&!(!this.options.returnEmptyString&&r==="")}},{key:"getResource",value:function(r,o,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(r,o,u,c):this.resourceStore.getResource(r,o,u,c)}}]),n}($a);function Nv(e){return e.charAt(0).toUpperCase()+e.slice(1)}var p5=function(){function e(n){Xo(this,e),this.options=n,this.whitelist=this.options.whitelist||!1,this.logger=Yo.create("languageUtils")}return Zo(e,[{key:"getScriptPartFromCode",value:function(i){if(!i||i.indexOf("-")<0)return null;var r=i.split("-");return r.length===2?null:(r.pop(),this.formatLanguageCode(r.join("-")))}},{key:"getLanguagePartFromCode",value:function(i){if(!i||i.indexOf("-")<0)return i;var r=i.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(i){if(typeof i=="string"&&i.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],o=i.split("-");return this.options.lowerCaseLng?o=o.map(function(u){return u.toLowerCase()}):o.length===2?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Nv(o[1].toLowerCase()))):o.length===3&&(o[0]=o[0].toLowerCase(),o[1].length===2&&(o[1]=o[1].toUpperCase()),o[0]!=="sgn"&&o[2].length===2&&(o[2]=o[2].toUpperCase()),r.indexOf(o[1].toLowerCase())>-1&&(o[1]=Nv(o[1].toLowerCase())),r.indexOf(o[2].toLowerCase())>-1&&(o[2]=Nv(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?i.toLowerCase():i}},{key:"isWhitelisted",value:function(i){return(this.options.load==="languageOnly"||this.options.nonExplicitWhitelist)&&(i=this.getLanguagePartFromCode(i)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(i)>-1}},{key:"getFallbackCodes",value:function(i,r){if(!i)return[];if(typeof i=="string"&&(i=[i]),Object.prototype.toString.apply(i)==="[object Array]")return i;if(!r)return i.default||[];var o=i[r];return o||(o=i[this.getScriptPartFromCode(r)]),o||(o=i[this.formatLanguageCode(r)]),o||(o=i.default),o||[]}},{key:"toResolveHierarchy",value:function(i,r){var o=this,u=this.getFallbackCodes(r||this.options.fallbackLng||[],i),c=[],f=function(g){g&&(o.isWhitelisted(g)?c.push(g):o.logger.warn("rejecting non-whitelisted language code: ".concat(g)))};return typeof i=="string"&&i.indexOf("-")>-1?(this.options.load!=="languageOnly"&&f(this.formatLanguageCode(i)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&f(this.getScriptPartFromCode(i)),this.options.load!=="currentOnly"&&f(this.getLanguagePartFromCode(i))):typeof i=="string"&&f(this.formatLanguageCode(i)),u.forEach(function(p){c.indexOf(p)<0&&f(o.formatLanguageCode(p))}),c}}]),e}(),g5=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he"],nr:[1,2,20,21],fc:22}],m5={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n===0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n===0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n===0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n===1?0:n===2?1:(n<0||n>10)&&n%10==0?2:3}};function _5(){var e={};return g5.forEach(function(n){n.lngs.forEach(function(i){e[i]={numbers:n.nr,plurals:m5[n.fc]}})}),e}var y5=function(){function e(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Xo(this,e),this.languageUtils=n,this.options=i,this.logger=Yo.create("pluralResolver"),this.rules=_5()}return Zo(e,[{key:"addRule",value:function(i,r){this.rules[i]=r}},{key:"getRule",value:function(i){return this.rules[i]||this.rules[this.languageUtils.getLanguagePartFromCode(i)]}},{key:"needsPlural",value:function(i){var r=this.getRule(i);return r&&r.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(i,r){var o=this,u=[],c=this.getRule(i);return c&&c.numbers.forEach(function(f){var p=o.getSuffix(i,f);u.push("".concat(r).concat(p))}),u}},{key:"getSuffix",value:function(i,r){var o=this,u=this.getRule(i);if(u){var c=u.noAbs?u.plurals(r):u.plurals(Math.abs(r)),f=u.numbers[c];this.options.simplifyPluralSuffix&&u.numbers.length===2&&u.numbers[0]===1&&(f===2?f="plural":f===1&&(f=""));var p=function(){return o.options.prepend&&f.toString()?o.options.prepend+f.toString():f.toString()};return this.options.compatibilityJSON==="v1"?f===1?"":typeof f=="number"?"_plural_".concat(f.toString()):p():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&u.numbers.length===2&&u.numbers[0]===1?p():this.options.prepend&&c.toString()?this.options.prepend+c.toString():c.toString()}return this.logger.warn("no plural rule found for: ".concat(i)),""}}]),e}(),v5=function(){function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xo(this,e),this.logger=Yo.create("interpolator"),this.options=n,this.format=n.interpolation&&n.interpolation.format||function(i){return i},this.init(n)}return Zo(e,[{key:"init",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};i.interpolation||(i.interpolation={escapeValue:!0});var r=i.interpolation;this.escape=r.escape!==void 0?r.escape:h5,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?Lu(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?Lu(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?Lu(r.nestingPrefix):r.nestingPrefixEscaped||Lu("$t("),this.nestingSuffix=r.nestingSuffix?Lu(r.nestingSuffix):r.nestingSuffixEscaped||Lu(")"),this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var i="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(i,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var o="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(o,"g")}},{key:"interpolate",value:function(i,r,o,u){var c=this,f,p,g,d=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function v(I){return I.replace(/\$/g,"$$$$")}var y=function(O){if(O.indexOf(c.formatSeparator)<0)return ME(r,d,O);var H=O.split(c.formatSeparator),X=H.shift().trim(),re=H.join(c.formatSeparator).trim();return c.format(ME(r,d,X),re,o)};this.resetRegExp();var S=u&&u.missingInterpolationHandler||this.options.missingInterpolationHandler;for(g=0;f=this.regexpUnescape.exec(i);){if(p=y(f[1].trim()),p===void 0)if(typeof S=="function"){var w=S(i,f,u);p=typeof w=="string"?w:""}else this.logger.warn("missed to pass in variable ".concat(f[1]," for interpolating ").concat(i)),p="";else typeof p!="string"&&!this.useRawValueToEscape&&(p=Tv(p));if(i=i.replace(f[0],v(p)),this.regexpUnescape.lastIndex=0,g++,g>=this.maxReplaces)break}for(g=0;f=this.regexp.exec(i);){if(p=y(f[1].trim()),p===void 0)if(typeof S=="function"){var E=S(i,f,u);p=typeof E=="string"?E:""}else this.logger.warn("missed to pass in variable ".concat(f[1]," for interpolating ").concat(i)),p="";else typeof p!="string"&&!this.useRawValueToEscape&&(p=Tv(p));if(p=this.escapeValue?v(this.escape(p)):v(p),i=i.replace(f[0],p),this.regexp.lastIndex=0,g++,g>=this.maxReplaces)break}return i}},{key:"nest",value:function(i,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u,c,f=yr({},o);f.applyPostProcessor=!1,delete f.defaultValue;function p(g,d){if(g.indexOf(",")<0)return g;var v=g.split(",");g=v.shift();var y=v.join(",");y=this.interpolate(y,f),y=y.replace(/'/g,'"');try{f=JSON.parse(y),d&&(f=yr({},d,f))}catch(S){this.logger.error("failed parsing options string in nesting for key ".concat(g),S)}return delete f.defaultValue,g}for(;u=this.nestingRegexp.exec(i);){if(c=r(p.call(this,u[1].trim(),f),f),c&&u[0]===i&&typeof c!="string")return c;typeof c!="string"&&(c=Tv(c)),c||(this.logger.warn("missed to resolve ".concat(u[1]," for nesting ").concat(i)),c=""),i=i.replace(u[0],c),this.regexp.lastIndex=0}return i}}]),e}();function b5(e,n){for(var i=e.indexOf(n);i!==-1;)e.splice(i,1),i=e.indexOf(n)}var x5=function(e){Eg(n,e);function n(i,r,o){var u,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return Xo(this,n),u=df(this,Sg(n).call(this)),$a.call(Tu(u)),u.backend=i,u.store=r,u.services=o,u.languageUtils=o.languageUtils,u.options=c,u.logger=Yo.create("backendConnector"),u.state={},u.queue=[],u.backend&&u.backend.init&&u.backend.init(o,c.backend,c),u}return Zo(n,[{key:"queueLoad",value:function(r,o,u,c){var f=this,p=[],g=[],d=[],v=[];return r.forEach(function(y){var S=!0;o.forEach(function(w){var E="".concat(y,"|").concat(w);!u.reload&&f.store.hasResourceBundle(y,w)?f.state[E]=2:f.state[E]<0||(f.state[E]===1?g.indexOf(E)<0&&g.push(E):(f.state[E]=1,S=!1,g.indexOf(E)<0&&g.push(E),p.indexOf(E)<0&&p.push(E),v.indexOf(w)<0&&v.push(w)))}),S||d.push(y)}),(p.length||g.length)&&this.queue.push({pending:g,loaded:{},errors:[],callback:c}),{toLoad:p,pending:g,toLoadLanguages:d,toLoadNamespaces:v}}},{key:"loaded",value:function(r,o,u){var c=r.split("|"),f=NE(c,2),p=f[0],g=f[1];o&&this.emit("failedLoading",p,g,o),u&&this.store.addResourceBundle(p,g,u),this.state[r]=o?-1:2;var d={};this.queue.forEach(function(v){u5(v.loaded,[p],g),b5(v.pending,r),o&&v.errors.push(o),v.pending.length===0&&!v.done&&(Object.keys(v.loaded).forEach(function(y){d[y]||(d[y]=[]),v.loaded[y].length&&v.loaded[y].forEach(function(S){d[y].indexOf(S)<0&&d[y].push(S)})}),v.done=!0,v.errors.length?v.callback(v.errors):v.callback())}),this.emit("loaded",d),this.queue=this.queue.filter(function(v){return!v.done})}},{key:"read",value:function(r,o,u){var c=this,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:250,g=arguments.length>5?arguments[5]:void 0;return r.length?this.backend[u](r,o,function(d,v){if(d&&v&&f<5){setTimeout(function(){c.read.call(c,r,o,u,f+1,p*2,g)},p);return}g(d,v)}):g(null,{})}},{key:"prepareLoading",value:function(r,o){var u=this,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},f=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),f&&f();typeof r=="string"&&(r=this.languageUtils.toResolveHierarchy(r)),typeof o=="string"&&(o=[o]);var p=this.queueLoad(r,o,c,f);if(!p.toLoad.length)return p.pending.length||f(),null;p.toLoad.forEach(function(g){u.loadOne(g)})}},{key:"load",value:function(r,o,u){this.prepareLoading(r,o,{},u)}},{key:"reload",value:function(r,o,u){this.prepareLoading(r,o,{reload:!0},u)}},{key:"loadOne",value:function(r){var o=this,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",c=r.split("|"),f=NE(c,2),p=f[0],g=f[1];this.read(p,g,"read",null,null,function(d,v){d&&o.logger.warn("".concat(u,"loading namespace ").concat(g," for language ").concat(p," failed"),d),!d&&v&&o.logger.log("".concat(u,"loaded namespace ").concat(g," for language ").concat(p),v),o.loaded(r,d,v)})}},{key:"saveMissing",value:function(r,o,u,c,f){var p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(u,'" for namespace "').concat(o,'" as the namespace was not yet loaded'),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}this.backend&&this.backend.create&&this.backend.create(r,o,u,c,null,yr({},p,{isUpdate:f})),!(!r||!r[0])&&this.store.addResource(r[0],o,u,c)}}]),n}($a);function w5(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(n){var i={};if(uf(n[1])==="object"&&(i=n[1]),typeof n[1]=="string"&&(i.defaultValue=n[1]),typeof n[2]=="string"&&(i.tDescription=n[2]),uf(n[2])==="object"||uf(n[3])==="object"){var r=n[3]||n[2];Object.keys(r).forEach(function(o){i[o]=r[o]})}return i},interpolation:{escapeValue:!0,format:function(n,i,r){return n},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",maxReplaces:1e3}}}function PE(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&e.whitelist.indexOf("cimode")<0&&(e.whitelist=e.whitelist.concat(["cimode"])),e}function xg(){}var S5=function(e){Eg(n,e);function n(){var i,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(Xo(this,n),i=df(this,Sg(n).call(this)),$a.call(Tu(i)),i.options=PE(r),i.services={},i.logger=Yo,i.modules={external:[]},o&&!i.isInitialized&&!r.isClone){if(!i.options.initImmediate)return i.init(r,o),df(i,Tu(i));setTimeout(function(){i.init(r,o)},0)}return i}return Zo(n,[{key:"init",value:function(){var r=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(u=o,o={}),this.options=yr({},w5(),this.options,PE(o)),this.format=this.options.interpolation.format,u||(u=xg);function c(y){return y?typeof y=="function"?new y:y:null}if(!this.options.isClone){this.modules.logger?Yo.init(c(this.modules.logger),this.options):Yo.init(null,this.options);var f=new p5(this.options);this.store=new f5(this.options.resources,this.options);var p=this.services;p.logger=Yo,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new y5(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p.interpolator=new v5(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new x5(c(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(y){for(var S=arguments.length,w=new Array(S>1?S-1:0),E=1;E1?S-1:0),E=1;E1&&arguments[1]!==void 0?arguments[1]:xg,c=u,f=typeof r=="string"?r:this.language;if(typeof r=="function"&&(c=r),!this.options.resources||this.options.partialBundledLanguages){if(f&&f.toLowerCase()==="cimode")return c();var p=[],g=function(y){if(y){var S=o.services.languageUtils.toResolveHierarchy(y);S.forEach(function(w){p.indexOf(w)<0&&p.push(w)})}};if(f)g(f);else{var d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.forEach(function(v){return g(v)})}this.options.preload&&this.options.preload.forEach(function(v){return g(v)}),this.services.backendConnector.load(p,this.options.ns,c)}else c(null)}},{key:"reloadResources",value:function(r,o,u){var c=cf();return r||(r=this.languages),o||(o=this.options.ns),u||(u=xg),this.services.backendConnector.reload(r,o,function(f){c.resolve(),u(f)}),c}},{key:"use",value:function(r){return r.type==="backend"&&(this.modules.backend=r),(r.type==="logger"||r.log&&r.warn&&r.error)&&(this.modules.logger=r),r.type==="languageDetector"&&(this.modules.languageDetector=r),r.type==="i18nFormat"&&(this.modules.i18nFormat=r),r.type==="postProcessor"&&DE.addPostProcessor(r),r.type==="3rdParty"&&this.modules.external.push(r),this}},{key:"changeLanguage",value:function(r,o){var u=this;this.isLanguageChangingTo=r;var c=cf();this.emit("languageChanging",r);var f=function(d,v){v?(u.language=v,u.languages=u.services.languageUtils.toResolveHierarchy(v),u.translator.changeLanguage(v),u.isLanguageChangingTo=void 0,u.emit("languageChanged",v),u.logger.log("languageChanged",v)):u.isLanguageChangingTo=void 0,c.resolve(function(){return u.t.apply(u,arguments)}),o&&o(d,function(){return u.t.apply(u,arguments)})},p=function(d){d&&(u.language||(u.language=d,u.languages=u.services.languageUtils.toResolveHierarchy(d)),u.translator.language||u.translator.changeLanguage(d),u.services.languageDetector&&u.services.languageDetector.cacheUserLanguage(d)),u.loadResources(d,function(v){f(v,d)})};return!r&&this.services.languageDetector&&!this.services.languageDetector.async?p(this.services.languageDetector.detect()):!r&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(p):p(r),c}},{key:"getFixedT",value:function(r,o){var u=this,c=function f(p,g){var d;if(uf(g)!=="object"){for(var v=arguments.length,y=new Array(v>2?v-2:0),S=2;S0?this.languages[0]:this.language),!r)return"rtl";var o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"];return o.indexOf(this.services.languageUtils.getLanguagePartFromCode(r))>=0?"rtl":"ltr"}},{key:"createInstance",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;return new n(r,o)}},{key:"cloneInstance",value:function(){var r=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xg,c=yr({},this.options,o,{isClone:!0}),f=new n(c),p=["store","services","language"];return p.forEach(function(g){f[g]=r[g]}),f.translator=new OE(f.services,f.options),f.translator.on("*",function(g){for(var d=arguments.length,v=new Array(d>1?d-1:0),y=1;y{vt();Ba=qE(),C5=()=>window.initConfig.user.i18n||"en",He=e=>Ba.t(e),tc=e=>Ba.t(`plugins.${e}`),Mv=e=>{for(let n in e)for(let i in e[n])Ba.addResource(n,"translation",i,e[n][i])},Av=({name:e,config:n})=>{for(let i in n)V.i18n.plugins[i]&&(V.i18n.plugins[i].plugins[e]=n[i]);for(let i in V.i18n.plugins)for(let r in V.i18n.plugins[i])Ba.addResource(i,"translation",r,V.i18n.plugins[i][r])},zE={getAppLanguage:C5,t:He,tPlugin:tc,addI18n:Mv,addI18nPlugin:Av}});var GE,Ht,zi=W(()=>{Nt();vt();bt();bg();hf();xi();_r();ln();GE=async(e=[])=>{let n=await Promise.allSettled(e);return n.some(i=>i.status==="fulfilled")?n.filter(i=>i.status==="fulfilled").map(i=>i.value):Promise.reject(n.filter(i=>i.status==="rejected").map(i=>i.reason))},Ht={async getData(e,n={}){let{inputs:i={},outputs:r={}}=n,o=this[e](i);return r&&U.outputDataPlace(o,r),await await o},async"query:coordinates"({coordinates:e,layerIds:n=[],multilayers:i=!1,query_point_tolerance:r=ja,addExternal:o=!0,feature_count:u}={}){let c=U.getService("catalog").state.external.vector.some(p=>p.selected),f=zr({QUERYABLE:!0,SELECTED_OR_ALL:n.length===0,VISIBLE:!0,IDS:n.length?n.map(p=>p):void 0});try{return{result:!0,type:"ows",query:{coordinates:e,type:"coordinates",external:{add:(!c||n.length>0)&&f.length===1&&f[0].isSelected()?!1:o,filter:{SELECTED:c}}},data:((!c||n.length>0)&&await sn(this.getQueryLayersPromisesByCoordinates(f,{multilayers:i,feature_count:u,query_point_tolerance:r,coordinates:e}))||[]).flatMap(({data:p=[]})=>p)}}catch(p){throw console.warn(p),p}},async"query:bbox"({bbox:e,feature_count:n=V.project.state.feature_count||5,filterConfig:i={},multilayers:r=!1,condition:o={filtrable:{ows:"WFS"}},excludeSelected:u=null,addExternal:c=!0,layersFilterObject:f={SELECTED_OR_ALL:!0,FILTERABLE:!0,VISIBLE:!0}}={}){let p=U.getService("catalog").state.external.vector.some(d=>d.selected),g=p||(typeof u=="boolean"?u:!1);try{return{result:!0,type:"ows",query:{bbox:e,type:"bbox",filterConfig:i,external:{add:c,filter:{SELECTED:g}}},data:(!p&&await this.getQueryLayersPromisesByGeometry(zr(f,o),{geometry:ol.geom.Polygon.fromExtent(e),feature_count:n,filterConfig:i,multilayers:r,projection:U.getService("map").getMap().getView().getProjection()})||[]).flatMap(({data:d=[]})=>d)}}catch(d){throw console.warn(d),d}},async"query:polygon"({feature:e,feature_count:n=V.project.state.feature_count||5,filterConfig:i={},multilayers:r=!1,condition:o={filtrable:{ows:"WFS"}},layerName:u="",excludeSelected:c=null,external:f={add:!0,filter:{SELECTED:!1}},type:p="polygon"}={}){let g=e.getGeometry();try{return{result:!0,type:"ows",error:!g,query:{fid:U.getService("catalog").state.external.vector.some(d=>d.selected)?e.getId():e.get(Cn),geometry:g,layerName:u,type:p,filterConfig:i,external:f},usermessage:!g&&{type:"warning",message:`${u} - ${He("sdk.mapcontrols.querybypolygon.no_geometry")}`,messagetext:!0,autoclose:!1},data:(await this.getQueryLayersPromisesByGeometry(zr({...typeof c=="boolean"?{SELECTED:!c}:{SELECTED_OR_ALL:!0},FILTERABLE:!0,VISIBLE:!0},o),{geometry:g,multilayers:r,feature_count:n,filterConfig:i,projection:V.project.getProjection()})||[]).flatMap(({data:d=[]})=>d)}}catch(d){throw console.warn(d),d}},async"search:features"(e={layer,filter,raw:!1,queryUrl,feature_count,formatter:1,ordering,autofilter:0,page,page_sizes}){let{layer:n,...i}=e;i.filter=[].concat(i.filter),i.page_size=(i.page_sizes||[])[0];let r=[],o=[];return{data:(await Promise.allSettled([].concat(n).map((u,c)=>u.searchFeatures({...i,filter:i.filter[c]})))).filter(u=>u.status==="fulfilled").map(({value:u}={})=>{if(i.autofilter===1&&(u.data||[]).forEach(({layer:c,filtertoken:f})=>{f&&(c.state.selection.active=c.state.filter.active=!0,c.setFilterToken(f))}),i.page_sizes){let c=Math.max(...Array.isArray(i.page_sizes)?i.page_sizes:[i.page_sizes]);o.push(c<=u.count?i.page_sizes:[...i.page_sizes.filter(f=>f0)return u.data[0]}),query:{type:"search",search:i.filter,autofilter:!!i.autofilter,pagination:i.page_size&&{pages:i.page&&r.map(u=>Math.round(u/i.page_size)),current:i.page&&r.map(()=>i.page),page_sizes:o,counts:r,getData:{params:i.filter.map(u=>({...i,filter:u})),method:"searchFeatures",layers:n}}},type:"api"}},async"search:fids"({layer:e,formatter:n=0,fids:i=[]}={}){let r=[];try{r=(e&&await e.getFeatureByFids({fids:i,formatter:n})||[]).map(o=>{let u=o.properties!==void 0?o.properties:{};u[Cn]=o.id;let c=new ol.Feature(o.geometry&&new ol.geom[o.geometry.type](o.geometry.coordinates));return c.setProperties(u),c.setId(o.id),c})}catch(o){console.warn(o)}return{data:[{layer:e,features:r}],query:{type:"search"}}},async"search:layersfids"({layers:e=[],fids:n=[],formatter:i=0}={}){let r=[];try{r=(await Promise.all(e.map((o,u)=>this["search:fids"]({layer:o,fids:n[u],formatter:i})))).map(o=>o.data)}catch(o){console.warn(o)}return{data:r,query:{type:"search"}}},async"expression:expression"(e={}){try{let n=await ht.post({url:`${V.project.getUrl("vector_data")}${e.layer_id}/`,contentType:"application/json",data:JSON.stringify(e)});return n.result?n.vector.data.features||[]:Promise.reject(JSON.stringify(n.error))}catch(n){return console.warn(n),Promise.reject(n)}},async"expression:expression_eval"(e={}){try{let{result:n,value:i,error:r}=await ht.post({url:`/api/expression_eval/${V.project.getId()}/`,contentType:"application/json",data:JSON.stringify(e)});return n?i:Promise.reject(JSON.stringify(r))}catch(n){return console.warn(n),Promise.reject(n)}},async"proxy:wms"({url:e,method:n="GET",params:i={},headers:r={}}={}){n==="GET"&&(e=new URL(e),Object.keys(i).forEach(o=>e.searchParams.set(o,i[o])),e=e.toString());try{return{response:await ht.post({data:JSON.stringify({url:e,params:i,headers:r,method:n}),contentType:"application/json",url:`${window.initConfig.proxyurl}`}),data:JSON.stringify({url:e,params:i,headers:r,method:n})}}catch(o){console.warn(o)}},"proxy:data"(e={}){},getQueryLayersPromisesByCoordinates(e,{coordinates:n,feature_count:i=10,query_point_tolerance:r=ja,multilayers:o=!1,reproject:u=!0}={}){if(e.length===0)return Wt(Promise.resolve(e));let c=U.getService("map").getMap(),f=c.getSize(),p=c.getView().getProjection(),g=c.getView().getResolution();return Wt(async()=>await GE(Object.values(o?ec(e,d=>`${d.getInfoFormat()}:${d.getInfoUrl()}:${d.getMultiLayerId()}`):e).map(d=>sn([].concat(d)[0].query(o?{feature_count:i,coordinates:n,query_point_tolerance:r,mapProjection:p,size:f,resolution:g,reproject:u,layers:d}:{feature_count:i,coordinates:n,query_point_tolerance:r,mapProjection:p,size:f,resolution:g})))))},async getQueryLayersPromisesByGeometry(e,{geometry:n,projection:i,filterConfig:r={},multilayers:o=!1,feature_count:u=10}={}){if(e.length===0)return[];let c=i.getCode();return await GE(Object.values(o?ec(e,f=>`${f.getMultiLayerId()}_${f.getProjection().getCode()}`):e).map(f=>{let p=[].concat(f)[0],g=p.getProjection().getCode(),d={config:r,type:"geometry",value:c===g?n:n.clone().transform(c,g)};return sn(p.query(o?{filter:d,feature_count:u,layers:f}:{filter:d,feature_count:u,filterConfig:r}))}))}}});async function Cg(e){return e=Yl(e),await Zn.registerProjection(e),e}var Ov,Ig,Pv,Fv,ff,Dv=W(()=>{Yn();bt();zi();vt();xu();uo();cg();bn();Ov=class{constructor(){this.pendingactions={},this.getMessage=this.getMessage.bind(this),this.eventResponseServiceHandler=this.eventResponseServiceHandler.bind(this)}async init({project:n}={}){await U.isReady(),this.services={app:new Pv,editing:new Fv};let i=n.state.layers.map(o=>({id:o.id,name:o.name})),r=Object.keys(this.services);for(let o=0;o({[p.getId()]:{features:f.writeFeatures(g)}}))}catch(p){console.warn(p),u=!1,r=p}this.postMessage({id:null,action:o,response:{result:u,data:r}})}postMessage(n={}){window.parent&&window.parent.postMessage(n,"*")}async stopPendingActions(){let n=[];return Object.keys(this.pendingactions).forEach(i=>{n.push(this.services[this.pendingactions[i].context].stop()),delete this.pendingactions[i]}),Promise.allSettled(n)}async getMessage(n){if(n&&n.data){let{id:i=ut(),single:r=!0,action:o,data:u}=n.data,[c,f]=(o||"").split(":"),p=!1,g;try{let d=this.services[c].getReady();d&&r&&await this.stopPendingActions(),d&&(this.pendingactions[i]={context:c},g=await this.services[c][f](u),p=!0)}catch(d){console.warn(d),p=!1,g=d}this.postMessage({id:i,action:o,response:{result:p,data:g}}),delete this.pendingactions[i]}}async clear(){let n=Object.keys(this.services);for(let i=0;i{await r.isReady(),r.getName()===this.pluginName&&(this.setDependencyApi(r.getApi()),this.setReady(!0))})}setDependencyApi(n={}){this.dependencyApi=n}getDependecyApi(){return this.dependencyApi}getQgsLayerId({qgs_layer_id:n,noValue:i=this.layers.map(r=>r.id)}){return n?[].concat(n):i}async searchFeature({layer:n,feature:i}){let{data:r=[]}=await Ht.getData("search:features",{inputs:{layer:n,filter:[].concat(i.value).map(o=>`${i.field}|eq|${encodeURIComponent(o)}`).join("|OR,")},outputs:!1});return r}async findFeaturesWithGeometry({feature:n,qgs_layer_id:i=[],zoom:r=!1,highlight:o=!1}={}){let u={found:!1,features:[],qgs_layer_id:null},c=i.length,f=0;for(;!u.found&&f0&&!!d.find(v=>v.getGeometry()),!d||!u.found)throw"invalid response";u.features=d,u.qgs_layer_id=i[f],r&&await this.mapService.zoomToFeatures(d,{highlight:o})}catch(g){f++,console.warn(g)}}return u.found||this.zoomToExtent(this.mapService.project.state.initextent),u}setLayers(n=[]){this.layers=n}getLayers(){return this.layers}setReady(n=!1){this.ready=n}getReady(){return this.ready}async stop(){}clear(){}},Pv=class extends Ig{constructor(){super(),this.mapControls={screenshot:{control:null},changeMap:{control:null}}}init(){return new Promise(n=>{this.mapService.once("ready",()=>{this._map=this.mapService.getMap(),this._mapCrs=this.mapService.getCrs(),this.mapControls.screenshot.control=this.mapService.getMapControlByType({type:"screenshot"}),this.setReady(!0),n()})})}async results({capture:n=!0}){return U.currentoutputplace=n?"iframe":"gui",[]}async screenshot({capture:n=!0}){if(!n){this.mapControls.screenshot.control.resetOriginalOnClickEvent();return}this.mapControls.screenshot.control.overwriteOnClickEvent(async()=>{let i;try{i={result:!0,data:await this.mapService.createMapImage()}}catch(r){console.warn(r),i={result:!1,data:r}}finally{this.emit("response",{response:i,action:"app:screenshot"})}})}async getcenter(n={}){let i=this.mapService.getCenter();return n.epsg!==void 0?ol.proj.transform(i,this.mapService.getEpsg(),await Cg(n.epsg)):i}async zoomtocoordinates(n={}){let{coordinates:i=[],epsg:r}=n;return i&&Array.isArray(i)&&i.length===2?(r!==void 0&&(r=await Cg(r),i=ol.proj.transform(i,r,this.mapService.getEpsg())),this.mapService.zoomTo(i),i):Promise.reject(i)}async getextent(n={}){let i=this.mapService.getMapExtent();return n.epsg!==void 0?ol.proj.transformExtent(i,this.mapService.getEpsg(),await Cg(n.epsg)):i}async zoomtoextent(n={}){let{extent:i=[],epsg:r}=n;return i&&Array.isArray(i)&&i.length===4?(r!==void 0?(r=Cg(r),i=ol.proj.transformExtent(i,r,this.mapService.getEpsg())):this.mapService.goToBBox(i),i):Promise.reject(i)}async zoomtofeature(n={}){let{qgs_layer_id:i,feature:r,highlight:o=!1}=n;return i=this.getQgsLayerId({qgs_layer_id:i}),(await this.findFeaturesWithGeometry({qgs_layer_id:i,feature:r,zoom:!0,highlight:o})).qgs_layer_id}},Fv=class extends Ig{constructor(){super(),this.pluginName="editing",this.subscribevents=[],this.isRunning=!1,this.responseObject={cb:null,qgs_layer_id:null,error:null},this.config={tools:{add:{disabled:[{id:"deletefeature"},{id:"copyfeatures"},{id:"editmultiattributes"},{id:"deletePart"},{id:"splitfeature"},{id:"mergefeatures"}]},update:{disabled:[{id:"addfeature"},{id:"copyfeatures"},{id:"deletefeature"},{id:"editmultiattributes"},{id:"deletePart"},{id:"splitfeature"},{id:"mergefeatures"}]},delete:{enabled:[{id:"deletefeature",options:{active:!0}}]}}},this.subscribersHandlers={canUndo:({activeTool:n,disableToolboxes:i=[]})=>r=>{r===!1&&(this.responseObject.qgs_layer_id=null,this.responseObject.error=null),n.setEnabled(!r),i.forEach(o=>o.setEditing(!r))},canRedo:()=>{},cancelform:n=>()=>{n()},addfeature:({properties:n,toolboxes:i}={})=>r=>{Object.keys(n).forEach(c=>r.set(c,n[c]));let o,u=[];i.forEach(c=>{let f=c.getToolById("addfeature");f.isActive()?(f.setEnabled(!1),o=f):(c.setEditing(!1),u.push(c))}),this.subscribevents.find(c=>c.event!=="canUndo")&&this.addSubscribeEvents("cancelform",this.addSubscribeEvents("canUndo",{activeTool:o,disableToolboxes:u}))},closeeditingpanel:({qgs_layer_id:n})=>()=>{this.responseObject.cb({qgs_layer_id:this.responseObject.qgs_layer_id,error:this.responseObject.error}),this.stopAction({qgs_layer_id:n})}}}async startAction({toolboxes:n,resolve:i,reject:r}){this.responseObject.cb=r,this.dependencyApi.setSaveConfig({cb:{done:o=>{this.responseObject.cb=i,this.responseObject.qgs_layer_id=o.getId(),this.responseObject.error=null,this.dependencyApi.hidePanel()},error:(o,u)=>{this.responseObject.cb=r,this.responseObject.qgs_layer_id=o.getId(),this.responseObject.error=u}}}),this.dependencyApi.showPanel({toolboxes:n}),this.isRunning=!0}async stopAction(n={}){n.qgs_layer_id&&await this.stopEditing(n.qgs_layer_id)}addSubscribeEvents(n,i={}){let r=this.subscribersHandlers[n](i);return this.dependencyApi.subscribe(n,r),this.subscribevents.push({event:n,handler:r}),r}resetSubscribeEvents(){this.subscribevents.forEach(n=>{this.dependencyApi.unsubscribe(n.event,n.handler)})}add(n={}){return new Promise(async(i,r)=>{if(this.isRunning)return r();let{qgs_layer_id:o,...u}=n,{properties:c}=u,f=this.getQgsLayerId({qgs_layer_id:o,noValue:this.dependencyApi.getEditableLayersId()});await this.startAction({toolboxes:f,resolve:i,reject:r});let p=(await this.startEditing(f,{tools:this.config.tools.add,startstopediting:!1,action:"add",selected:f.length===1})).filter(g=>g.status==="fulfilled").map(g=>g.value);U.isSidebarVisible()||U.showSidebar(),p.length===1&&p[0]&&p[0].setActiveTool(p[0].getToolById("addfeature")),this.addSubscribeEvents("addfeature",{properties:c,toolboxes:p}),this.addSubscribeEvents("closeeditingpanel",{qgs_layer_id:f})})}async update(n={}){return new Promise(async(i,r)=>{if(this.isRunning)return r();let{qgs_layer_id:o,...u}=n,{feature:c}=u,f=this.getQgsLayerId({qgs_layer_id:o,noValue:this.dependencyApi.getEditableLayersId()}),p=await this.findFeaturesWithGeometry({qgs_layer_id:f,feature:c,zoom:!0,highlight:!0,selected:f.length===1});if(!p.found)return r();await this.startAction({toolboxes:[p.qgs_layer_id],resolve:i,reject:r}),await this.startEditing([p.qgs_layer_id],{feature:c,tools:this.config.tools.update,startstopediting:!1,action:"update"}),U.isSidebarVisible()||U.showSidebar(),this.addSubscribeEvents("closeeditingpanel",{qgs_layer_id:[p.qgs_layer_id]})})}delete(){}async startEditing(n=[],i={}){let{action:r="add",feature:o}=i,u={};switch(i.filter=u,r){case"add":u.nofeatures=!0;break;case"update":u.field=`${o.field}|eq|${o.value}`;break}let c=[];return n.forEach(f=>{c.push(this.dependencyApi.startEditing(f,i))}),await Promise.allSettled(c)}async stopEditing(n){let i=[];n.forEach(r=>{i.push(this.dependencyApi.stopEditing(r))}),await Promise.allSettled(i),this.clear()}stop(){return new Promise(n=>{this.dependencyApi.hidePanel(),U.hideSidebar(),this.once("clear",n)})}clear(){this.dependencyApi.resetDefault(),this.isRunning=!1,this.responseObject={cb:null,qgs_layer_id:null,error:null},this.resetSubscribeEvents(),this.emit("clear")}},ff=new Ov});function wi(e){return Object.prototype.toString.call(e).slice(8,-1)}var Ko=W(()=>{});function nc(){return window.initConfig.projects,window.initConfig.projects.filter(e=>[null,void 0].includes(e.listable)?e.id===V.project.getId()||window.initConfig.overviewproject&&e.gid===window.initConfig.overviewproject?!1:e:e.listable).sort((e,n)=>(e.title||"").localeCompare(n.title))}var kg=W(()=>{vt()});function pf(e){let n=window.initConfig.projects.find(i=>e===i.gid);try{return`${new URL(window.initConfig.urls.baseurl)}${n.url}`}catch(i){return console.warn(i),`${location.origin}${window.initConfig.urls.baseurl}${n.url}`}}var jv=W(()=>{});var qv={};hi(qv,{default:()=>P5});function A5(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="SidebarItem.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var I5,k5,L5,T5,N5,R5,M5,O5,P5,zv=W(()=>{vt();I5={name:"SidebarItem",data(){let{component:e}=this.$options;return{info:e.info||{state:null,style:null,class:null},main:!0,component:e,active:!1,title:e.title||"",open:!!e.state.open,icon:e.icon,iconColor:e.iconColor,collapsible:e.collapsible!==!1,actions:e.actions,sidebar:V.gui.sidebar}},methods:{triggerAction(e,n){e.fnc(n)}},mounted(){let e=this.$options.opts||{},n=document.getElementById("g3w-sidebarcomponents");[null,void 0].includes(e.position)||e.position<0||e.position>=n.children.length?$(n).append(this.$el):Array.from(n.children).forEach((i,r)=>{(r===e.position||i.id===e.position)&&i.insertAdjacentElement(e.before||e.before===void 0?"beforebegin":"afterend",this.$el)}),this.component.mount(this.$refs["component-placeholder"]),this.component.click=({open:i=!1}={})=>{i&&V.sidebar.components.forEach(o=>{o!==this.component&&o.getOpen()&&o.click({open:!1})});let r=this.component.getInternalComponent().$el;r.classList&&r.classList.toggle("menu-open",i),r.parentNode.classList.toggle("active",i),this.component.setOpen(i)}}},k5=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("li",{directives:[{name:"show",rawName:"v-show",value:e.component.state.visible,expression:"component.state.visible"},{name:"disabled",rawName:"v-disabled",value:e.component.state.disabled,expression:"component.state.disabled"}],staticClass:"treeview sidebaritem",class:{active:e.open},attrs:{id:e.component.id}},[i("bar-loader",{attrs:{loading:e.component.state.loading}}),e._v(" "),i("a",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:e.sidebar.open?"":e.title,expression:"sidebar.open ? '' : title",arg:"right",modifiers:{create:!0}}],staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"},attrs:{href:"#","current-tooltip":e.sidebar.open?"":e.title}},[i("div",[e.sidebar.open?i("i",{class:e.icon,style:{color:e.iconColor}}):i("span",[i("i",{class:e.icon,style:{color:e.iconColor}})]),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t",value:e.title,expression:"title"}],staticClass:"treeview-label"})]),e._v(" "),i("div",[e.info.state?i("span",{class:e.info.class,staticStyle:{position:"absolute",right:"5px","font-weight":"bold"},style:e.info.style,attrs:{title:e.info.tooltip}},[e._v(e._s(e.info.state))]):e._e(),e._v(" "),e._l(e.actions,function(r){return i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:r.tooltip,expression:"action.tooltip",arg:"left",modifiers:{create:!0}}],key:r.id,staticClass:"action skin-tooltip-left",class:r.class,staticStyle:{"font-weight":"bold",padding:"3px"},style:r.style,on:{click:function(o){return o.stopPropagation(),e.triggerAction(r,e.component.internalComponent)}}})})],2),e._v(" "),e.collapsible?i("i",{staticClass:"pull-right",class:e.$fa("angle-left")}):e._e()]),e._v(" "),i("div",{ref:"component-placeholder"})],1)},L5=[],T5=void 0,N5=void 0,R5=void 0,M5=!1;O5=A5({render:k5,staticRenderFns:L5},T5,I5,N5,M5,R5,!1,void 0,void 0,void 0),P5=O5});function B5(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FormHeader.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var F5,D5,j5,q5,z5,G5,$5,U5,$E,BE=W(()=>{F5=Vue.extend({name:"form-header",props:{headers:{type:Array,default:[]},currentid:{type:String},update:{type:Boolean},valid:{type:Boolean}},methods:{click(e){e!==this.currentid&&this.headers.length>1&&this.$emit("clickheader",e)},resizeForm(e){this.$emit("resize-form",e)}}}),D5=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"g3wform_header box-header with-border",staticStyle:{display:"flex","flex-direction":"column"}},[i("section",{staticClass:"g3wform_header_content"},e._l(e.headers,function(r){return i("span",{key:r.id,staticClass:"title",class:[{item_selected:e.currentid===r.id&&e.headers.length>1},[e.headers.length>1?"tabs":"one"]],staticStyle:{display:"flex","justify-content":"space-between","align-items":"center"},style:{fontSize:e.isMobile()&&"1em !important"},on:{click:function(o){return o.stopPropagation(),e.click(r.id)}}},[r.icon?i("span",{staticStyle:{"margin-right":"5px"}},[i("i",{class:r.icon})]):e._e(),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t:pre",value:r.title,expression:"header.title",arg:"pre"}],staticClass:"g3w-long-text"},[e._v(e._s(r.name))]),e._v(" "),i(r.component,{tag:"component",attrs:{valid:e.valid,update:e.update}})],1)}),0)])},j5=[],q5=void 0,z5=void 0,G5=void 0,$5=!1;U5=B5({render:D5,staticRenderFns:j5},q5,F5,z5,$5,G5,!1,void 0,void 0,void 0),$E=U5});function Q5(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FormFooter.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var V5,W5,H5,Y5,X5,Z5,K5,J5,UE,VE=W(()=>{V5=Vue.extend({name:"form-footer",props:{state:{type:Object},backToRoot:{type:Function,default:()=>{}},isRootComponent:{type:Function}},data(){return this.originalbuttons=this.state.buttons.map(e=>({...e})),{id:"footer",active:!0,show:!0}},computed:{enableSave(){return this.state.valid&&this.state.update}},methods:{exec(e){e instanceof Function?e(this.state.fields):function(){return this.state.fields}()},btnEnabled(e){let{enabled:n=!0,type:i}=e;return n&&(i!=="save"||i==="save"&&this.enableSave)},isValid(){return this.state.valid}},watch:{"state.component"(e){this.show=this.isRootComponent(e)},"state.update":{immediate:!0,handler(e){this.state.buttons.find((n,i)=>{n.eventButtons&&n.eventButtons.update&&(n.eventButtons.update[e]?this.state.buttons.splice(i,1,{...n,...n.eventButtons.update[e]}):this.state.buttons.splice(i,1,this.originalbuttons[i]))})}}},activated(){this.active=!0},deactivated(){this.active=!1}}),W5=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"form-group g3wform_footer"},[e.show?[e._t("default",function(){return[i("div",{staticStyle:{margin:"3px","font-weight":"bold"}},[e._v(` * `),i("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.form.footer.required_fields",expression:"'sdk.form.footer.required_fields'"}]}),e._v(" "),e.state.footer.message?i("div",{style:[e.state.footer.style]},[e._v(` `+e._s(e.state.footer.message)+` - `)]):e._e()]),e._v(" "),e._l(e.state.buttons,function(r){return i("button",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.btnEnabled(r),expression:"!btnEnabled(button)"},{name:"t",rawName:"v-t",value:r.title,expression:"button.title"}],key:r.id,staticClass:"btn",class:[r.class],attrs:{update:e.state.update,valid:e.state.valid},on:{click:function(o){return o.stopPropagation(),o.preventDefault(),e.exec(r.cbk)}}})})]})]:[i("button",{directives:[{name:"t",rawName:"v-t",value:"back",expression:"'back'"}],staticClass:"btn skin-button",on:{click:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"prevet",void 0,r.key,void 0)?null:(r.stopPropagation(),e.backToRoot.apply(null,arguments))}}})]],2)},H5=[],Y5=void 0,X5=void 0,Z5=void 0,K5=!1;J5=Q5({render:W5,staticRenderFns:H5},Y5,V5,X5,K5,Z5,!1,void 0,void 0,void 0),UE=J5});function a4(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="Form.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var e4,t4,n4,i4,r4,s4,o4,l4,WE,HE=W(()=>{BE();VE();e4={name:"g3w-form",data(){return{state:{},switchcomponent:!1,body:{components:{before:[],after:[]}}}},components:{g3wformheader:$E,G3wFormFooter:UE},transitions:{addremovetransition:"showhide"},methods:{isRootComponent(e){return this.$options.service.isRootComponent(e)},backToRoot(){this.$options.service.setRootComponent()},handleRelation(e){this.$options.service.handleRelation(e)},disableComponent({id:e,disabled:n=!1}){this.$options.service.disableComponent({id:e,disabled:n})},resizeForm(e){this.$options.service.setCurrentFormPercentage(e)},switchComponent(e){this.switchcomponent=!0,this.$options.service.setCurrentComponentById(e)},changeInput(e){return this.$options.service.changeInput(e)},addToValidate(e){this.$options.service.addToValidate(e)},removeToValidate(e){this.$options.service.removeToValidate(e)},reloadLayout(){let e=$(this.$el).height();if(!e)return;let n=$(this.$refs.g3w_form_footer.$el),i=$(this.$refs.g3wform_body),r=n.height()?n.height()+50:50,o=e-($(this.$refs.g3wformheader.$el).height()+r);i.height(o)}},async updated(){await this.$nextTick(),this.switchcomponent&&setTimeout(()=>this.switchcomponent=!1,0)},created(){this.$options.service.getEventBus().$on("set-main-component",()=>{this.switchComponent(0)}),this.$options.service.getEventBus().$on("component-validation",({id:e,valid:n})=>{this.$options.service.setValidComponent({id:e,valid:n})}),this.$options.service.getEventBus().$on("addtovalidate",this.addToValidate),this.$options.service.getEventBus().$on("disable-component",this.disableComponent)},mounted(){this.$options.service.isValid(),this.$options.service.setReady(!0)},beforeDestroy(){this.$options.service.clearAll()}},t4=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"g3wform_content",staticStyle:{position:"relative"}},[i("bar-loader",{attrs:{loading:e.state.loading}}),e._v(" "),i("g3wformheader",{ref:"g3wformheader",attrs:{currentid:e.state.currentheaderid,headers:e.state.headers,update:e.state.update,valid:e.state.valid},on:{"resize-form":e.resizeForm,clickheader:e.switchComponent}}),e._v(" "),i("div",{ref:"g3wform_body",staticClass:"g3wform_body"},[e._l(e.body.components.before,function(r){return i(r,{tag:"component",attrs:{fields:e.state.fields}})}),e._v(" "),i("keep-alive",[i(e.state.component,{tag:"component",attrs:{handleRelation:e.handleRelation,state:e.state},on:{"hook:activated":e.reloadLayout,addtovalidate:e.addToValidate,removetovalidate:e.removeToValidate,changeinput:e.changeInput}})],1),e._v(" "),e._l(e.body.components.after,function(r){return i(r,{tag:"component",attrs:{fields:e.state.fields}})})],2),e._v(" "),i("g3w-form-footer",{ref:"g3w_form_footer",attrs:{isRootComponent:e.isRootComponent,backToRoot:e.backToRoot,state:e.state}})],1)},n4=[],i4=void 0,r4=void 0,s4=void 0,o4=!1;l4=a4({render:t4,staticRenderFns:n4},i4,e4,r4,o4,s4,!1,void 0,void 0,void 0),WE=l4});function st(e){return Object.values(V.catalog).map(n=>n.getLayerById(e)).find(n=>n)}var qn=W(()=>{vt()});var YE,XE=W(()=>{qn();YE={methods:{async autocompleteRequest({layerId:e,field:n,value:i}={}){let r=[];try{r=await st(e).getFilterData({suggest:`${n}|${i}`,unique:n})}catch(o){console.warn(o)}return r.map(o=>({id:o,text:o}))}}}});function m4(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="Field.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Gv(){let e=Gv.styles||(Gv.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` + `)]):e._e()]),e._v(" "),e._l(e.state.buttons,function(r){return i("button",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.btnEnabled(r),expression:"!btnEnabled(button)"},{name:"t",rawName:"v-t",value:r.title,expression:"button.title"}],key:r.id,staticClass:"btn",class:[r.class],attrs:{update:e.state.update,valid:e.state.valid},on:{click:function(o){return o.stopPropagation(),o.preventDefault(),e.exec(r.cbk)}}})})]})]:[i("button",{directives:[{name:"t",rawName:"v-t",value:"back",expression:"'back'"}],staticClass:"btn skin-button",on:{click:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"prevet",void 0,r.key,void 0)?null:(r.stopPropagation(),e.backToRoot.apply(null,arguments))}}})]],2)},H5=[],Y5=void 0,X5=void 0,Z5=void 0,K5=!1;J5=Q5({render:W5,staticRenderFns:H5},Y5,V5,X5,K5,Z5,!1,void 0,void 0,void 0),UE=J5});function a4(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="Form.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var e4,t4,n4,i4,r4,s4,o4,l4,WE,HE=W(()=>{BE();VE();e4={name:"g3w-form",data(){return{state:{},switchcomponent:!1,body:{components:{before:[],after:[]}}}},components:{g3wformheader:$E,G3wFormFooter:UE},transitions:{addremovetransition:"showhide"},methods:{isRootComponent(e){return this.$options.service.isRootComponent(e)},backToRoot(){this.$options.service.setRootComponent()},handleRelation(e){this.$options.service.handleRelation(e)},disableComponent({id:e,disabled:n=!1}){this.$options.service.disableComponent({id:e,disabled:n})},resizeForm(e){this.$options.service.setCurrentFormPercentage(e)},switchComponent(e){this.switchcomponent=!0,this.$options.service.setCurrentComponentById(e)},changeInput(e){return this.$options.service.changeInput(e)},addToValidate(e){this.$options.service.addToValidate(e)},removeToValidate(e){this.$options.service.removeToValidate(e)},reloadLayout(){let e=$(this.$el).height();if(!e)return;let n=$(this.$refs.g3w_form_footer.$el),i=$(this.$refs.g3wform_body),r=n.height()?n.height()+50:50,o=e-($(this.$refs.g3wformheader.$el).height()+r);i.height(o)}},async updated(){await this.$nextTick(),this.switchcomponent&&setTimeout(()=>this.switchcomponent=!1,0)},created(){this.$options.service.getEventBus().$on("set-main-component",()=>{this.switchComponent(0)}),this.$options.service.getEventBus().$on("component-validation",({id:e,valid:n})=>{this.$options.service.setValidComponent({id:e,valid:n})}),this.$options.service.getEventBus().$on("addtovalidate",this.addToValidate),this.$options.service.getEventBus().$on("disable-component",this.disableComponent)},mounted(){this.$options.service.isValid(),this.$options.service.setReady(!0)},beforeDestroy(){this.$options.service.clearAll()}},t4=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"g3wform_content",staticStyle:{position:"relative"}},[i("bar-loader",{attrs:{loading:e.state.loading}}),e._v(" "),i("g3wformheader",{ref:"g3wformheader",attrs:{currentid:e.state.currentheaderid,headers:e.state.headers,update:e.state.update,valid:e.state.valid},on:{"resize-form":e.resizeForm,clickheader:e.switchComponent}}),e._v(" "),i("div",{ref:"g3wform_body",staticClass:"g3wform_body"},[e._l(e.body.components.before,function(r){return i(r,{tag:"component",attrs:{fields:e.state.fields}})}),e._v(" "),i("keep-alive",[i(e.state.component,{tag:"component",attrs:{handleRelation:e.handleRelation,state:e.state},on:{"hook:activated":e.reloadLayout,addtovalidate:e.addToValidate,removetovalidate:e.removeToValidate,changeinput:e.changeInput}})],1),e._v(" "),e._l(e.body.components.after,function(r){return i(r,{tag:"component",attrs:{fields:e.state.fields}})})],2),e._v(" "),i("g3w-form-footer",{ref:"g3w_form_footer",attrs:{isRootComponent:e.isRootComponent,backToRoot:e.backToRoot,state:e.state}})],1)},n4=[],i4=void 0,r4=void 0,s4=void 0,o4=!1;l4=a4({render:t4,staticRenderFns:n4},i4,e4,r4,o4,s4,!1,void 0,void 0,void 0),WE=l4});function st(e){return Object.values(V.catalog).map(n=>n.getLayerById(e)).find(n=>n)}var Bn=W(()=>{vt()});var YE,XE=W(()=>{Bn();YE={methods:{async autocompleteRequest({layerId:e,field:n,value:i}={}){let r=[];try{r=await st(e).getFilterData({suggest:`${n}|${i}`,unique:n})}catch(o){console.warn(o)}return r.map(o=>({id:o,text:o}))}}}});function m4(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="Field.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Gv(){let e=Gv.styles||(Gv.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var c4,u4,d4,h4,f4,p4,g4,_4,Ua,gf=W(()=>{c4={name:"field",props:["state"]},u4=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"field"},[e.state.label?i("div",{staticClass:"col-sm-6 field_label"},[e._t("label",function(){return[e._v(e._s(e.state.label))]})],2):e._e(),e._v(" "),i("div",{staticClass:"field_value",class:[e.state.label?"col-sm-6":null]},[e._t("field",function(){return[i("span",{staticStyle:{"word-wrap":"break-word"},domProps:{innerHTML:e._s(e.state.value)}})]})],2)])},d4=[],h4=function(e){e&&e("data-v-6e3a094b_0",{source:".field[data-v-6e3a094b]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6e3a094b]{position:relative}.field div[data-v-6e3a094b]{padding-left:3px}.field_value button[data-v-6e3a094b]{margin-right:5px}.field_value[data-v-6e3a094b]{padding-left:0!important;padding-right:8px;text-align:right}",map:void 0,media:void 0})},f4="data-v-6e3a094b",p4=void 0,g4=!1;_4=m4({render:u4,staticRenderFns:d4},h4,c4,f4,g4,p4,!1,Gv,void 0,void 0),Ua=_4});function C4(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="FieldText.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function $v(){let e=$v.styles||($v.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` @@ -227,68 +227,68 @@ export default { `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var Y4,X4,Z4,K4,Q4,J4,eD,nD,mf,Zv=W(()=>{Yv();gf();Ko();bn();Y4={name:"field-image",props:["state"],data(){return{id:ut(),active:null,value:this.state.value.mime_type!==void 0?this.state.value.value:this.state.value}},components:{Field:Ua,Teleport:Ng},computed:{images(){return[].concat(this.value).map(e=>({src:(e||{}).photo||e}))}},methods:{async showGallery(e){this.active=e,wi(this.value)==="Object"&&(this.value.active=!0),$(`#gallery_${this.id}`).modal("show")},isRelativePath(e){return!e.startsWith("/")&&!e.startsWith("http")?`${window.initConfig.mediaurl}${e}`:e}}},X4=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("field",{attrs:{state:e.state}},[i("div",{staticStyle:{"text-align":"left",display:"inline-block"},attrs:{slot:"field"},slot:"field"},[e._l(e.images,function(r,o){return i("img",{staticClass:"img-responsive",staticStyle:{"max-height":"50px"},attrs:{alt:"",src:r.src},on:{click:function(u){return u.stopPropagation(),e.showGallery(o)}}})}),e._v(" "),i("Teleport",{attrs:{to:"body"}},[i("div",{staticClass:"modal fade modal-fullscreen",attrs:{id:"gallery_"+e.id,tabindex:"-1",role:"dialog","aria-labelledby":"","aria-hidden":"true"}},[i("div",{staticClass:"modal-dialog"},[i("div",{staticClass:"modal-content"},[i("div",{staticClass:"modal-body"},[i("div",{staticClass:"carousel slide",attrs:{id:"carousel_"+e.id,"data-interval":"false"}},[i("div",{staticClass:"carousel-inner"},e._l(e.images,function(r,o){return i("div",{staticClass:"item",class:e.active==o?"active":""},[i("img",{staticStyle:{margin:"auto"},attrs:{src:e.isRelativePath(r.src),alt:""}})])}),0),e._v(" "),e.images.length>1?i("a",{staticClass:"left carousel-control",attrs:{href:"#carousel_"+e.id,role:"button","data-slide":"prev"}},[i("span",{class:e.$fa("arrow-left")})]):e._e(),e._v(" "),e.images.length>1?i("a",{staticClass:"right carousel-control",attrs:{href:"#carousel_"+e.id,role:"button","data-slide":"next"}},[i("span",{class:e.$fa("arrow-right")})]):e._e()])])])])])])],2)])},Z4=[],K4=function(e){e&&e("data-v-1ce80f58_0",{source:".img-responsive[data-v-1ce80f58]{cursor:pointer}.modal-content[data-v-1ce80f58]{background:rgba(255,255,255,.6);border-radius:3px}.modal-dialog[data-v-1ce80f58]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-1ce80f58]{text-align:center;padding:0!important}.modal[data-v-1ce80f58]:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-1ce80f58]{color:#3c8dbc;position:absolute;top:50%}",map:void 0,media:void 0})},Q4="data-v-1ce80f58",J4=void 0,eD=!1;nD=tD({render:X4,staticRenderFns:Z4},K4,Y4,Q4,eD,J4,!1,Xv,void 0,void 0),mf=nD});function uD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="FieldGeo.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Kv(){let e=Kv.styles||(Kv.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var iD,rD,sD,oD,aD,lD,cD,dD,eC,tC=W(()=>{rr();iD={name:"g3w-geospatial",props:{data:{}},mixins:[Rg],data(){return{layerId:`table_layer_${Date.now()}`,visible:!1,id:`geo_table_${Date.now()}`}}},rD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"geo-content"},[i("span",{staticClass:"show-hide-geo",class:[e.visible?e.g3wtemplate.font["eye-close"]:e.g3wtemplate.font.eye],on:{click:function(r){return r.stopPropagation(),e.showLayer()}}})])},sD=[],oD=function(e){e&&e("data-v-fb42eb1e_0",{source:".show-hide-geo[data-v-fb42eb1e]{color:#3c8dbc;cursor:pointer;font-size:1.2em}",map:void 0,media:void 0})},aD="data-v-fb42eb1e",lD=void 0,cD=!1;dD=uD({render:rD,staticRenderFns:sD},oD,iD,aD,cD,lD,!1,Kv,void 0,void 0),eC=dD});function vD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FieldMedia.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var hD,fD,pD,gD,mD,_D,yD,bD,nC,iC=W(()=>{rr();hD={name:"g3w-media",mixins:[Mg],props:["state"],computed:{type(){return this.getMediaType(this.state.mime_type).type},value(){return this.state.value}}},fD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.value?i("div",{staticClass:"preview"},[i("a",{attrs:{href:e.value,target:"_blank"}},[i("div",{staticClass:"previewtype",class:e.type},[i("i",{staticClass:"fa-2x",class:e.g3wtemplate.font[e.type]})])]),e._v(" "),i("div",{staticClass:"filename"},[e._v(e._s(e.filename))]),e._v(" "),e._t("default")],2):e._e()},pD=[],gD=void 0,mD="data-v-79e0e018",_D=void 0,yD=!1;bD=vD({render:fD,staticRenderFns:pD},gD,hD,mD,yD,_D,!1,void 0,void 0,void 0),nC=bD});function LD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FieldVue.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var xD,wD,SD,ED,CD,ID,kD,TD,Ag,Qv=W(()=>{gf();xD={name:"vuefield",props:{feature:{type:Object},state:{type:Object,default:{value:null,vueoptions:{component:{}}}}},components:{Field:Ua}},wD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("field",{attrs:{state:e.state}},[i("div",{attrs:{slot:"field"},slot:"field"},[i(e.state.vueoptions.component,{tag:"component",attrs:{feature:e.feature,value:e.state.value}})],1)])},SD=[],ED=void 0,CD=void 0,ID=void 0,kD=!1;TD=LD({render:wD,staticRenderFns:SD},ED,xD,CD,kD,ID,!1,void 0,void 0,void 0),Ag=TD});var Nu=Qe((Are,rC)=>{ZE();Vv();Zv();tC();iC();Qv();rC.exports={simple_field:Bv,text_field:Bv,link_field:Lg,image_field:mf,geo_field:eC,photo_field:mf,media_field:nC,vue_field:Ag}});var Og=Qe((Pre,oC)=>{Ko();var sC=Nu();oC.exports={getType(e){let n=e.type;if(n!=="vue"){let i=e.value,r=i&&wi(i)==="Object"&&!i.coordinates&&!i.vue?i.value:i;r?r&&typeof r=="object"?r.coordinates?n="geo":r.vue&&(n="vue"):r&&Array.isArray(r)?r.length&&r[0].photo?n="photo":n="simple":r.toString().toLowerCase().match(/[^\s]+.(png|jpg|jpeg|gif)$/g)?n="photo":r.toString().match(/^(https?:\/\/[^\s]+)/g)?n="link":n="simple":n="simple"}return`${n}_field`},isSimple(e){return this.getType(e)==="simple_field"},isLink(e){return this.getType(e)==="link_field"},isImage(e){return this.getType(e)==="image_field"},isPhoto(e){return this.getType(e)==="photo_field"},isVue(e){return this.getType(e)==="vue_field"},add({type:e,field:n}){sC[e]=n},remove(e){delete sC[e]}}});var us,aC=W(()=>{us={methods:{getFieldService(){return this._fieldsService===void 0&&(this._fieldsService=Og()),this._fieldsService},getFieldType(e){return this.getFieldService().getType(e)},isSimple(e){return this.getFieldService().isSimple(e)},isLink(e){return this.getFieldService().isLink(e)},isImage(e){return this.getFieldService().isImage(e)},isPhoto(e){return this.getFieldService().isPhoto(e)},isVue(e){return this.getFieldService().isVue(e)},sanitizeFieldValue(e){return Array.isArray(e)&&!e.length?"":e}}}});var Mg,lC=W(()=>{Mg={computed:{filename(){return this.value?this.value.split("/").pop():this.value}},methods:{isMedia(e){return e&&typeof e=="object"&&Object===e.constructor?!!e.mime_type:!1},getMediaType(e){let n={type:null,options:{}};switch(e){case"image/gif":case"image/png":case"image/jpeg":case"image/bmp":n.type="image";break;case"application/pdf":n.type="pdf";break;case"video/mp4":case"video/ogg":case"video/x-ms-wmv":case"video/x-msvideo":case"video/quicktime":n.type="video",n.options.format=e;break;case"application/gzip":case"application/zip":n.type="zip";break;case"application/msword":case"application/vnd.oasis.opendocument.text":n.type="text";break;case"application/vnd.ms-office":case"application/vnd.oasis.opendocument.spreadsheet":n.type="excel";break;case"application/vnd.openxmlformats-officedocument.presentationml.presentation":case"application/vnd.ms-powerpoint":case"application/vnd.oasis.opendocument.presentation":n.type="ppt";break;default:n.type="unknow"}return n}}}});var Rg,cC=W(()=>{bt();Rg={methods:{showLayer(){this.visible=!this.visible,this.layer.setVisible(this.visible)}},created(){let e=this.data,n=U.getService("map").getProjection().getCode(),i;switch(e.type){case"Point":case"MultiPoint":i=[new ol.style.Style({image:new ol.style.Circle({radius:6,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})}),new ol.style.Style({image:new ol.style.Circle({radius:2,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})})];break;case"Line":case"MultiLineString":case"Polygon":case"MultiPolygon":i=new ol.style.Style({fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.3)"}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})});break}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:new ol.format.GeoJSON().readFeatures(e,{featureProjection:n})}),visible:!!this.visible,style:i}),U.getService("map").getMap().addLayer(this.layer)},beforeDestroy(){U.getService("map").getMap().removeLayer(this.layer)}}});var uC,br,_f=W(()=>{bt();$o();Go();uC={throttle:Hn,debounce:Li},br={created(){let e=this.delayType&&uC[this.delayType]||uC.throttle;this.delayResize=this.resize?e(this.resize.bind(this),this.delayTime):null,U.on("resize",this.delayResize)},async mounted(){await this.$nextTick(),this.resize&&this.resize()},beforeDestroy(){U.off("resize",this.delayResize),this.delayResize=null,this.delayTime=null}}});var Ru,dC=W(()=>{Ru={methods:{getLanguage(){return window.initConfig.user.i18n||"en"},async changeSelect(e){this.state.value=e==="null"?null:e,await this.$nextTick(),this.change()},getValue(e){return e===null?"null":e},resetValues(){this.state.input.options.values.splice(0)}},computed:{autocomplete(){return this.state.input.type==="select_autocomplete"&&this.state.input.options.usecompleter}},watch:{async notvalid(e){await this.$nextTick(),this.select2&&this.select2.data("select2").$container[e?"addClass":"removeClass"]("input-error-validation")}}}});var Pg,hC=W(()=>{vt();_f();Pg={mixins:[br],methods:{setValue(){this.select2.val(this.state.value).trigger("change")},resize(){this.select2&&!V.ismobile&&this.select2.select2("close")}},beforeDestroy(){this.select2&&(this.select2.select2("destroy"),this.select2.off(),this.select2=null)}}});var fC,pC=W(()=>{fC={data(){return{valid:!1}},methods:{addToValidate(e){this.tovalidate.push(e)},changeInput(e){this.isValid(e)},isValid(e){if(e){if(e.validate.mutually){if(!e.validate.required)if(!e.validate.empty)e.validate._valid=e.validate.valid,e.validate.mutually_valid=e.validate.mutually.reduce((n,i)=>n&&this.tovalidate[i].validate.empty,!0),e.validate.valid=e.validate.mutually_valid&&e.validate.valid;else{e.value=null,e.validate.mutually_valid=!0,e.validate.valid=!0,e.validate._valid=!0;let n=[];for(let i=e.validate.mutually.length;i--;){let r=e.validate.mutually[i];this.tovalidate[r].validate.empty||n.push(r)}n.length<2&&n.forEach(i=>{this.tovalidate[i].validate.mutually_valid=!0,this.tovalidate[i].validate.valid=!0,setTimeout(()=>{this.tovalidate[i].validate.valid=this.tovalidate[i].validate._valid,this.state.valid=this.state.valid&&this.tovalidate[i].validate.valid})})}}else if(!e.validate.empty&&(e.validate.min_field||e.validate.max_field)){let n=e.validate.min_field||e.validate.max_field;e.validate.valid=e.validate.min_field?this.tovalidate[e.validate.min_field].validate.empty||1*e.value>1*this.tovalidate[e.validate.min_field].value:this.tovalidate[e.validate.max_field].validate.empty||1*e.value<1*this.tovalidate[e.validate.max_field].value,e.validate.valid&&(this.tovalidate[n].validate.valid=!0)}}this.valid=Object.values(this.tovalidate).reduce((n,i)=>n&&i.validate.valid,!0)}},created(){this.tovalidate=[]},destroyed(){this.tovalidate=null}}});var Mu,gC=W(()=>{Mu={computed:{tabIndex(){return this.editable?0:-1},notvalid(){return this.state.validate.valid===!1},editable(){return this.state.editable},showhelpicon(){return this.state.help&&this.state.help.message.trim()},disabled(){return!this.editable||["loading","error"].includes(this.loadingState)},loadingState(){return this.state.input.options.loading?this.state.input.options.loading.state:null}},methods:{setLoading(e){this.state.input.options.loading.state=e?"loading":"ready"},showHideHelp(){this.state.help.visible=!this.state.help.visible},mobileChange(e){this.state.value=e.target.value,this.change()},change(){this.service.setEmpty(),this.service.validate(),this.service.setUpdate(),this.$emit("changeinput",this.state)},isVisible(){}}}});var ND,mC,rr=W(()=>{XE();aC();lC();cC();_f();dC();hC();pC();gC();ND={autocompleteMixin:YE,fieldsMixin:us,mediaMixin:Mg,geoMixin:Rg,resizeMixin:br,selectMixin:Ru,select2Mixin:Pg,formInputsMixins:fC,baseInputMixin:Mu},mC=ND});function jD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputBase.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Jv(){let e=Jv.styles||(Jv.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var iD,rD,sD,oD,aD,lD,cD,dD,eC,tC=W(()=>{rr();iD={name:"g3w-geospatial",props:{data:{}},mixins:[Rg],data(){return{layerId:`table_layer_${Date.now()}`,visible:!1,id:`geo_table_${Date.now()}`}}},rD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"geo-content"},[i("span",{staticClass:"show-hide-geo",class:[e.visible?e.g3wtemplate.font["eye-close"]:e.g3wtemplate.font.eye],on:{click:function(r){return r.stopPropagation(),e.showLayer()}}})])},sD=[],oD=function(e){e&&e("data-v-fb42eb1e_0",{source:".show-hide-geo[data-v-fb42eb1e]{color:#3c8dbc;cursor:pointer;font-size:1.2em}",map:void 0,media:void 0})},aD="data-v-fb42eb1e",lD=void 0,cD=!1;dD=uD({render:rD,staticRenderFns:sD},oD,iD,aD,cD,lD,!1,Kv,void 0,void 0),eC=dD});function vD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FieldMedia.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var hD,fD,pD,gD,mD,_D,yD,bD,nC,iC=W(()=>{rr();hD={name:"g3w-media",mixins:[Mg],props:["state"],computed:{type(){return this.getMediaType(this.state.mime_type).type},value(){return this.state.value}}},fD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.value?i("div",{staticClass:"preview"},[i("a",{attrs:{href:e.value,target:"_blank"}},[i("div",{staticClass:"previewtype",class:e.type},[i("i",{staticClass:"fa-2x",class:e.g3wtemplate.font[e.type]})])]),e._v(" "),i("div",{staticClass:"filename"},[e._v(e._s(e.filename))]),e._v(" "),e._t("default")],2):e._e()},pD=[],gD=void 0,mD="data-v-79e0e018",_D=void 0,yD=!1;bD=vD({render:fD,staticRenderFns:pD},gD,hD,mD,yD,_D,!1,void 0,void 0,void 0),nC=bD});function LD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FieldVue.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var xD,wD,SD,ED,CD,ID,kD,TD,Ag,Qv=W(()=>{gf();xD={name:"vuefield",props:{feature:{type:Object},state:{type:Object,default:{value:null,vueoptions:{component:{}}}}},components:{Field:Ua}},wD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("field",{attrs:{state:e.state}},[i("div",{attrs:{slot:"field"},slot:"field"},[i(e.state.vueoptions.component,{tag:"component",attrs:{feature:e.feature,value:e.state.value}})],1)])},SD=[],ED=void 0,CD=void 0,ID=void 0,kD=!1;TD=LD({render:wD,staticRenderFns:SD},ED,xD,CD,kD,ID,!1,void 0,void 0,void 0),Ag=TD});var Nu=Qe((Are,rC)=>{ZE();Vv();Zv();tC();iC();Qv();rC.exports={simple_field:Bv,text_field:Bv,link_field:Lg,image_field:mf,geo_field:eC,photo_field:mf,media_field:nC,vue_field:Ag}});var Og=Qe((Pre,oC)=>{Ko();var sC=Nu();oC.exports={getType(e){let n=e.type;if(n!=="vue"){let i=e.value,r=i&&wi(i)==="Object"&&!i.coordinates&&!i.vue?i.value:i;r?r&&typeof r=="object"?r.coordinates?n="geo":r.vue&&(n="vue"):r&&Array.isArray(r)?r.length&&r[0].photo?n="photo":n="simple":r.toString().toLowerCase().match(/[^\s]+.(png|jpg|jpeg|gif)$/g)?n="photo":r.toString().match(/^(https?:\/\/[^\s]+)/g)?n="link":n="simple":n="simple"}return`${n}_field`},isSimple(e){return this.getType(e)==="simple_field"},isLink(e){return this.getType(e)==="link_field"},isImage(e){return this.getType(e)==="image_field"},isPhoto(e){return this.getType(e)==="photo_field"},isVue(e){return this.getType(e)==="vue_field"},add({type:e,field:n}){sC[e]=n},remove(e){delete sC[e]}}});var cs,aC=W(()=>{cs={methods:{getFieldService(){return this._fieldsService===void 0&&(this._fieldsService=Og()),this._fieldsService},getFieldType(e){return this.getFieldService().getType(e)},isSimple(e){return this.getFieldService().isSimple(e)},isLink(e){return this.getFieldService().isLink(e)},isImage(e){return this.getFieldService().isImage(e)},isPhoto(e){return this.getFieldService().isPhoto(e)},isVue(e){return this.getFieldService().isVue(e)},sanitizeFieldValue(e){return Array.isArray(e)&&!e.length?"":e}}}});var Mg,lC=W(()=>{Mg={computed:{filename(){return this.value?this.value.split("/").pop():this.value}},methods:{isMedia(e){return e&&typeof e=="object"&&Object===e.constructor?!!e.mime_type:!1},getMediaType(e){let n={type:null,options:{}};switch(e){case"image/gif":case"image/png":case"image/jpeg":case"image/bmp":n.type="image";break;case"application/pdf":n.type="pdf";break;case"video/mp4":case"video/ogg":case"video/x-ms-wmv":case"video/x-msvideo":case"video/quicktime":n.type="video",n.options.format=e;break;case"application/gzip":case"application/zip":n.type="zip";break;case"application/msword":case"application/vnd.oasis.opendocument.text":n.type="text";break;case"application/vnd.ms-office":case"application/vnd.oasis.opendocument.spreadsheet":n.type="excel";break;case"application/vnd.openxmlformats-officedocument.presentationml.presentation":case"application/vnd.ms-powerpoint":case"application/vnd.oasis.opendocument.presentation":n.type="ppt";break;default:n.type="unknow"}return n}}}});var Rg,cC=W(()=>{bt();Rg={methods:{showLayer(){this.visible=!this.visible,this.layer.setVisible(this.visible)}},created(){let e=this.data,n=U.getService("map").getProjection().getCode(),i;switch(e.type){case"Point":case"MultiPoint":i=[new ol.style.Style({image:new ol.style.Circle({radius:6,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})}),new ol.style.Style({image:new ol.style.Circle({radius:2,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})})];break;case"Line":case"MultiLineString":case"Polygon":case"MultiPolygon":i=new ol.style.Style({fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.3)"}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})});break}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:new ol.format.GeoJSON().readFeatures(e,{featureProjection:n})}),visible:!!this.visible,style:i}),U.getService("map").getMap().addLayer(this.layer)},beforeDestroy(){U.getService("map").getMap().removeLayer(this.layer)}}});var uC,vr,_f=W(()=>{bt();$o();Go();uC={throttle:Hn,debounce:Li},vr={created(){let e=this.delayType&&uC[this.delayType]||uC.throttle;this.delayResize=this.resize?e(this.resize.bind(this),this.delayTime):null,U.on("resize",this.delayResize)},async mounted(){await this.$nextTick(),this.resize&&this.resize()},beforeDestroy(){U.off("resize",this.delayResize),this.delayResize=null,this.delayTime=null}}});var Ru,dC=W(()=>{Ru={methods:{getLanguage(){return window.initConfig.user.i18n||"en"},async changeSelect(e){this.state.value=e==="null"?null:e,await this.$nextTick(),this.change()},getValue(e){return e===null?"null":e},resetValues(){this.state.input.options.values.splice(0)}},computed:{autocomplete(){return this.state.input.type==="select_autocomplete"&&this.state.input.options.usecompleter}},watch:{async notvalid(e){await this.$nextTick(),this.select2&&this.select2.data("select2").$container[e?"addClass":"removeClass"]("input-error-validation")}}}});var Pg,hC=W(()=>{vt();_f();Pg={mixins:[vr],methods:{setValue(){this.select2.val(this.state.value).trigger("change")},resize(){this.select2&&!V.ismobile&&this.select2.select2("close")}},beforeDestroy(){this.select2&&(this.select2.select2("destroy"),this.select2.off(),this.select2=null)}}});var fC,pC=W(()=>{fC={data(){return{valid:!1}},methods:{addToValidate(e){this.tovalidate.push(e)},changeInput(e){this.isValid(e)},isValid(e){if(e){if(e.validate.mutually){if(!e.validate.required)if(!e.validate.empty)e.validate._valid=e.validate.valid,e.validate.mutually_valid=e.validate.mutually.reduce((n,i)=>n&&this.tovalidate[i].validate.empty,!0),e.validate.valid=e.validate.mutually_valid&&e.validate.valid;else{e.value=null,e.validate.mutually_valid=!0,e.validate.valid=!0,e.validate._valid=!0;let n=[];for(let i=e.validate.mutually.length;i--;){let r=e.validate.mutually[i];this.tovalidate[r].validate.empty||n.push(r)}n.length<2&&n.forEach(i=>{this.tovalidate[i].validate.mutually_valid=!0,this.tovalidate[i].validate.valid=!0,setTimeout(()=>{this.tovalidate[i].validate.valid=this.tovalidate[i].validate._valid,this.state.valid=this.state.valid&&this.tovalidate[i].validate.valid})})}}else if(!e.validate.empty&&(e.validate.min_field||e.validate.max_field)){let n=e.validate.min_field||e.validate.max_field;e.validate.valid=e.validate.min_field?this.tovalidate[e.validate.min_field].validate.empty||1*e.value>1*this.tovalidate[e.validate.min_field].value:this.tovalidate[e.validate.max_field].validate.empty||1*e.value<1*this.tovalidate[e.validate.max_field].value,e.validate.valid&&(this.tovalidate[n].validate.valid=!0)}}this.valid=Object.values(this.tovalidate).reduce((n,i)=>n&&i.validate.valid,!0)}},created(){this.tovalidate=[]},destroyed(){this.tovalidate=null}}});var Mu,gC=W(()=>{Mu={computed:{tabIndex(){return this.editable?0:-1},notvalid(){return this.state.validate.valid===!1},editable(){return this.state.editable},showhelpicon(){return this.state.help&&this.state.help.message.trim()},disabled(){return!this.editable||["loading","error"].includes(this.loadingState)},loadingState(){return this.state.input.options.loading?this.state.input.options.loading.state:null}},methods:{setLoading(e){this.state.input.options.loading.state=e?"loading":"ready"},showHideHelp(){this.state.help.visible=!this.state.help.visible},mobileChange(e){this.state.value=e.target.value,this.change()},change(){this.service.setEmpty(),this.service.validate(),this.service.setUpdate(),this.$emit("changeinput",this.state)},isVisible(){}}}});var ND,mC,rr=W(()=>{XE();aC();lC();cC();_f();dC();hC();pC();gC();ND={autocompleteMixin:YE,fieldsMixin:cs,mediaMixin:Mg,geoMixin:Rg,resizeMixin:vr,selectMixin:Ru,select2Mixin:Pg,formInputsMixins:fC,baseInputMixin:Mu},mC=ND});function jD(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputBase.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Jv(){let e=Jv.styles||(Jv.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var RD,MD,AD,OD,PD,FD,DD,qD,_C,yC=W(()=>{rr();RD={name:"InputBase",props:["state"],...Mu},MD=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.state.visible?i("div",{staticClass:"form-group"},[e._t("label",function(){return[i("label",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],staticClass:"col-sm-12 control-label",attrs:{for:e.state.name}},[e.state.i18nLabel?i("span",{directives:[{name:"t",rawName:"v-t",value:e.state.label,expression:"state.label"}]}):i("span",[e._v(e._s(e.state.label))]),e._v(" "),e.state.validate&&e.state.validate.required?i("span",[e._v("*")]):e._e(),e._v(" "),e.showhelpicon?i("i",{staticClass:"skin-color",class:e.g3wtemplate.font.info,staticStyle:{"margin-left":"3px",cursor:"pointer"},on:{click:function(r){return r.stopPropagation(),e.showHideHelp.apply(null,arguments)}}}):e._e(),e._v(" "),e._t("label-action")],2)]}),e._v(" "),e.state.relationField?i("div",{staticStyle:{color:"var(--skin-warning)",padding:"3px 0 3px 15px"}},[i("span",{class:e.g3wtemplate.getFontClass("warning")}),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.relations.field",expression:"'sdk.relations.field'"}]})]):e._e(),e._v(" "),i("div",{staticClass:"col-sm-12"},[e._t("loading",function(){return[e.loadingState==="loading"?i("div",{staticStyle:{position:"relative",width:"100%"},attrs:{slot:"loading"},slot:"loading"},[i("bar-loader",{attrs:{loading:!0}})],1):e._e()]}),e._v(" "),e._t("body"),e._v(" "),e._t("message",function(){return[e.notvalid?i("p",{staticClass:"g3w-long-text error-input-message",staticStyle:{margin:"0"},domProps:{innerHTML:e._s(e.state.validate.message)}}):e.state.info?i("p",{staticStyle:{margin:"0"},domProps:{innerHTML:e._s(e.state.info)}}):e._e()]}),e._v(" "),e.state.help&&this.state.help.visible?i("div",{staticClass:"g3w_input_help skin-background-color",staticStyle:{"background-color":"var(--skin-l48) !important"},domProps:{innerHTML:e._s(e.state.help.message)}}):e._e()],2)],2):e._e()},AD=[],OD=function(e){e&&e("data-v-8683517c_0",{source:".control-label[data-v-8683517c]{text-align:left!important;padding-top:0!important;margin-bottom:3px}",map:void 0,media:void 0})},PD="data-v-8683517c",FD=void 0,DD=!1;qD=jD({render:MD,staticRenderFns:AD},OD,RD,PD,DD,FD,!1,Jv,void 0,void 0),_C=qD});var Si=Qe((vC,bC)=>{Ko();ln();var zD={validators:{float:(e={})=>({options:e,validate:n=>!Number.isNaN(Number(1*n))}),bigint:(e={})=>({options:e,validate(n){return n=1*n,Number.isNaN(n)?!1:n<=Number.MAX_SAFE_INTEGER}}),integer:(e={})=>({options:e,validate(n){let i=1*n;return Number.isNaN(i)?!1:Number.isSafeInteger(i)&&i<=2147483647}}),checkbox:(e={})=>({options:e,validate:n=>(vC.options.values||[]).includes(n)}),datetimepicker:(e={})=>({options:e,validate:(n,i)=>moment(n,i.fielddatetimeformat,!0).isValid()}),char:e=>({options:e,validate:n=>n&&`${n}`.length===1}),varchar:(e={})=>({options:e,validate:()=>!0}),text:(e={})=>({options:e,validate:()=>!0}),string:(e={})=>({options:e,validate:()=>!0}),radio:(e={})=>({options:e,validate:()=>!0}),default:(e={})=>({options:e,validate:()=>!0}),range:(e={})=>({options:e,validate(n){return n=1*n,n>=e.min&&n<=e.max}})},get(e,n={}){return(this.validators[e]||this.validators.default)(n)}};bC.exports=class{constructor(n={}){this.state=n.state||{},this.setValue(this.state.value),this.setEmpty(this.state.value);let i=this.state.type,r=n.validatorOptions||this.state.input.options||{};this._validator=zD.get(i,r),this.setErrorMessage()}getState(){return this.state}getValue(){return this.state.value}setValue(n){if(![null,void 0].includes(n))return;let{options:i}=this.state.input,r=i.default;Array.isArray(i)&&(i[0].default?r=i[0].default:Array.isArray(i.values)&&i.values.length>0&&(r=i.values[0]&&(i.values[0].value||i.values[0])));let o=this.state.get_default_value&&r!==void 0&&r!==null;o&&i.default_expression===void 0&&(this.state.value=r),this.state.value_from_default_value=o}addValueToValues(n){this.state.input.options.values.unshift(n)}_getValidatorType(){return this.state.type}setState(n={}){this.state=wi(n)==="Object"?n:{}}getValidator(){return this._validator}setValidator(n){this._validator=n}setEmpty(){this.state.validate.empty=this.state.value===null||`${this.state.value}`.trim()===""}validate(){return this.state.validate.empty?(this.state.value=null,this.state.validate.valid=!this.state.validate.required):(["integer","float","bigint"].includes(this.state.input.type)&&(+this.state.value<0?(this.state.value=null,this.state.validate.empty=!0,this.state.validate.valid=!this.state.validate.required):this.state.validate.valid=this._validator.validate(this.state.value)),this.state.validate.unique&&this.state.validate.exclude_values&&this.state.validate.exclude_values.size?this.state.validate.valid=!this.state.validate.exclude_values.has(`${this.state.value}`):this.state.validate.valid=this._validator.validate(this.state.value)),this.state.validate.valid}setErrorMessage(){if(this.state.validate.error){this.state.validate.message=He(this.state.validate.error);return}let n;this.state.validate.mutually&&!this.state.validate.mutually_valid?this.state.validate.message=`${He("sdk.form.inputs.input_validation_mutually_exclusive")} ( ${this.state.validate.mutually.join(",")} )`:this.state.validate.max_field?this.state.validate.message=`${He("sdk.form.inputs.input_validation_max_field")} (${this.state.validate.max_field})`:this.state.validate.min_field?this.state.validate.message=`${He("sdk.form.inputs.input_validation_min_field")} (${this.state.validate.min_field})`:(this.state.input.type==="unique"||this.state.validate.unique)&&this.state.validate.exclude_values&&this.state.validate.exclude_values.size?this.state.validate.message=`${He("sdk.form.inputs.input_validation_exclude_values")}`:this.state.validate.required?(n=`${He("sdk.form.inputs.input_validation_error")} ( ${He("sdk.form.inputs."+this.state.type)} )`,this.state.info&&(n=`${n}
${this.state.info}
- `),this.state.validate.message=this.state.info||n):this.state.validate.message=this.state.info||`${He("sdk.form.inputs.input_validation_error_type")} ( ${He("sdk.form.inputs."+this.state.type)} )`}setUpdate(){let{value:n,_value:i}=this.state;this.state.input.type==="media"&&wi(n)!=="Object"&&wi(i)!=="Object"?this.state.update=n.value!=i.value:this.state.input.type==="datetimepicker"?this.state.update=(n!==null?n.toUpperCase():n)!=(i&&i.toUpperCase()):this.state.update=n!=i}}});var wC=Qe((hse,xC)=>{var GD=Si();xC.exports=class extends GD{constructor(n={}){super(n)}}});var EC=Qe((pse,SC)=>{var $D=Si();SC.exports=class extends $D{constructor(n={}){super(n)}}});var IC=Qe((mse,CC)=>{var BD=Si();CC.exports=class extends BD{constructor(n={}){super(n)}}});var LC=Qe((yse,kC)=>{var UD=Si();kC.exports=class extends UD{constructor(n={}){n.validatorOptions={values:n.state.input.options.values.map(i=>i)},super(n)}}});var NC=Qe((bse,TC)=>{var VD=Si();TC.exports=class extends VD{constructor(n={}){let{min:i,max:r}=n.state.input.options.values[0];n.state.info=`[MIN: ${i} - MAX: ${r}]`,super(n),this.setValidator({validate(o){return o=1*o,o>=1*i&&o<=1*r}})}isValueInRange(n,i,r){return n<=r&&n>=i}}});function yf(e){e=e.replace(/y/g,"Y");let n=e.match(/d/g);return n&&n.length<3&&(e=e.replace(/d/g,"D")),e}var e0=W(()=>{});var MC=Qe((Ese,RC)=>{e0();var WD=Si();RC.exports=class extends WD{constructor(n={}){super(n),this.validatorOptions={}}getLocale(){return window.initConfig.user.i18n?window.initConfig.user.i18n:"en"}convertQGISDateTimeFormatToMoment(n){return yf(n)}setValidatorOptions(n={}){this.validatorOptions=n}}});var OC=Qe((Ise,AC)=>{var HD=Si();AC.exports=class extends HD{constructor(n={}){super(n)}}});var t0=Qe((Tse,PC)=>{qn();var YD=Si();PC.exports=class extends YD{constructor(n={}){super(n),this.layer=null}_getLayerById(n){return st(n)}addValue(n){this.state.input.options.values.push(n)}sortValues(){let{orderbyvalue:n}=this.state.input.options;this.state.input.options.values.sort((i,r)=>{let o=i[n?"value":"key"],u=r[n?"value":"key"];return ou?1:0})}getKeyByValue({search:n}={}){let{value:i,key:r}=this.state.input.options;return new Promise((o,u)=>{this.getData({key:r,value:i,search:n}).then(c=>{c.forEach(({$value:f,text:p})=>{this.addValue({key:f,value:p})}),this.sortValues(),o(this.state.input.options.values)}).catch(c=>{console.warn(c),u(c)})})}getData({layer_id:n=this.state.input.options.layer_id,key:i=this.state.input.options.key,value:r=this.state.input.options.value,search:o}={}){return new Promise((u,c)=>{this._layer||(this._layer=this._getLayerById(n)),this._layer.getDataTable({[Array.isArray(o)?"field":"suggest"]:Array.isArray(o)?o.map((f,p)=>[].concat(o[p]).map(g=>`${i}|eq|${encodeURIComponent(g)}`).join("|null,")).join("|OR,")||"":`${i}|${o}`.trim(),ordering:this.state.input.options.orderbyvalue?r:i}).then(f=>{let p=f.features.map(g=>({text:g.properties[i],id:g.properties[r],$value:g.properties[r]}));u(p)}).fail(f=>{console.warn(f),c(f)})})}}});var DC=Qe((Rse,FC)=>{var XD=Si();FC.exports=class extends XD{constructor(n={}){super(n)}}});var qC=Qe((Mse,jC)=>{var ZD=Si(),n0=class extends ZD{constructor(n={}){let{state:i}=n;n.state.info=`[MIN: ${i.input.options.min} - MAX: ${i.input.options.max}]`,super(n),this.setValidator({validate(r){return r=1*r,r>=1*n.state.input.options.min&&r<=1*n.state.input.options.max}})}validate(){this.state.value=1*this.state.value,this.state.validate.valid=this.state.value>=this.state.input.options.min||this.state.value<=this.state.input.options.max}changeInfoMessage(){this.state.info=`[MIN: ${this.state.input.options.min} - MAX: ${this.state.input.options.max}]`}};jC.exports=n0});var GC=Qe((Pse,zC)=>{bt();var KD=Si();zC.exports=class extends KD{constructor(n={}){super(n),this.coordinatebutton,this.mapService=U.getService("map"),this.mapEpsg=this.mapService.getCrs(),this.mapControlToggleEventHandler=i=>{i.target.isToggled()&&i.target.isClickMap()&&this.coordinatebutton.active&&this.toggleGetCoordinate()},this.map=this.mapService.getMap(),this.outputEpsg=this.state.epsg||this.mapEpsg,this.eventMapKey}setCoordinateButtonReactiveObject(n){this.coordinatebutton=n}validate(){this.state.values.lon<-180?this.state.values.lon=-180:this.state.values.lon>180&&(this.state.values.lon=180),this.state.values.lat<-90?this.state.values.lon=-90:this.state.values.lat>90&&(this.state.values.lon=90),this.state.validate.valid=!Number.isNaN(1*this.state.values.lon)}toggleGetCoordinate(){this.coordinatebutton.active=!this.coordinatebutton.active,this.coordinatebutton.active?this.startToGetCoordinates():this.stopToGetCoordinates()}startToGetCoordinates(){this.mapService.deactiveMapControls(),this.mapService.on("mapcontrol:toggled",this.mapControlToggleEventHandler),this.eventMapKey=this.map.on("click",n=>{n.originalEvent.stopPropagation(),n.preventDefault();let i=this.mapEpsg!==this.outputEpsg?ol.proj.transform(n.coordinate,this.mapEpsg,this.outputEpsg):n.coordinate;this.state.value=[i];let[r,o]=i;this.state.values.lon=r,this.state.values.lat=o})}stopToGetCoordinates(){ol.Observable.unByKey(this.eventMapKey),this.mapService.off("mapcontrol:toggled",this.mapControlToggleEventHandler)}clear(){this.stopToGetCoordinates()}}});var BC=Qe((Fse,$C)=>{var QD={text:Si(),textarea:Si(),texthtml:Si(),integer:wC(),string:Si(),float:EC(),radio:IC(),check:LC(),range:NC(),datetimepicker:MC(),unique:OC(),select:t0(),media:DC(),select_autocomplete:t0(),picklayer:Si(),color:Si(),slider:qC(),lonlat:GC()};$C.exports=QD});var Ti=Qe((zse,UC)=>{vt();yC();rr();var JD=BC(),ej={props:["state"],mixins:[Mu],components:{baseinput:_C},watch:{notvalid(e){e&&this.service.setErrorMessage()},"state.value"(){this.state.input.options.default_expression!==void 0&&setTimeout(()=>this.change())}},created(){this.service=new JD[this.state.input.type]({state:this.state}),this.$watch(()=>V.language,async()=>{this.state.visible&&(this.state.visible=!1,this.service.setErrorMessage(),await this.$nextTick(),this.state.visible=!0)}),this.state.editable&&this.state.validate.required&&this.service.validate(),this.$emit("addinput",this.state),this.state.value_from_default_value&&this.$emit("changeinput",this.state)},destroyed(){this.$emit("removeinput",this.state)}};UC.exports=ej});function cj(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputText.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var tj,nj,ij,rj,sj,oj,aj,lj,uj,Au,Fg=W(()=>{tj=Ti(),nj={name:"input-text",mixins:[tj]},ij=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},attrs:{slot:"body",placeholder:e.state.default,tabIndex:e.tabIndex,field:e.state.name,id:e.state.name},domProps:{value:e.state.value},on:{keyup:function(r){e.isMobile()?e.mobileChange(r):e.change()},input:function(r){r.target.composing||e.$set(e.state,"value",r.target.value)}},slot:"body"})])},rj=[],sj=void 0,oj=void 0,aj=void 0,lj=!1;uj=cj({render:ij,staticRenderFns:rj},sj,nj,oj,lj,aj,!1,void 0,void 0,void 0),Au=uj});var vf=Qe((Bse,VC)=>{Fg();var dj=Vue.extend(Au);VC.exports=dj});var hj,Dg,i0=W(()=>{hj=typeof global=="object"&&global&&global.Object===Object&&global,Dg=hj});var fj,pj,ii,Gs=W(()=>{i0();fj=typeof self=="object"&&self&&self.Object===Object&&self,pj=Dg||fj||Function("return this")(),ii=pj});var gj,ds,bf=W(()=>{Gs();gj=ii.Symbol,ds=gj});function yj(e){var n=mj.call(e,xf),i=e[xf];try{e[xf]=void 0;var r=!0}catch{}var o=_j.call(e);return r&&(n?e[xf]=i:delete e[xf]),o}var WC,mj,_j,xf,HC,YC=W(()=>{bf();WC=Object.prototype,mj=WC.hasOwnProperty,_j=WC.toString,xf=ds?ds.toStringTag:void 0;HC=yj});function xj(e){return bj.call(e)}var vj,bj,XC,ZC=W(()=>{vj=Object.prototype,bj=vj.toString;XC=xj});function Ej(e){return e==null?e===void 0?Sj:wj:KC&&KC in Object(e)?HC(e):XC(e)}var wj,Sj,KC,$s,Ou=W(()=>{bf();YC();ZC();wj="[object Null]",Sj="[object Undefined]",KC=ds?ds.toStringTag:void 0;$s=Ej});function Cj(e){return e!=null&&typeof e=="object"}var Ni,Qo=W(()=>{Ni=Cj});var Ij,hs,Pu=W(()=>{Ij=Array.isArray,hs=Ij});function kj(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Gi,Jo=W(()=>{Gi=kj});function Lj(e){return e}var jg,r0=W(()=>{jg=Lj});function Aj(e){if(!Gi(e))return!1;var n=$s(e);return n==Nj||n==Rj||n==Tj||n==Mj}var Tj,Nj,Rj,Mj,Fu,qg=W(()=>{Ou();Jo();Tj="[object AsyncFunction]",Nj="[object Function]",Rj="[object GeneratorFunction]",Mj="[object Proxy]";Fu=Aj});var Oj,zg,QC=W(()=>{Gs();Oj=ii["__core-js_shared__"],zg=Oj});function Pj(e){return!!JC&&JC in e}var JC,eI,tI=W(()=>{QC();JC=function(){var e=/[^.]+$/.exec(zg&&zg.keys&&zg.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();eI=Pj});function jj(e){if(e!=null){try{return Dj.call(e)}catch{}try{return e+""}catch{}}return""}var Fj,Dj,ea,s0=W(()=>{Fj=Function.prototype,Dj=Fj.toString;ea=jj});function Wj(e){if(!Gi(e)||eI(e))return!1;var n=Fu(e)?Vj:zj;return n.test(ea(e))}var qj,zj,Gj,$j,Bj,Uj,Vj,nI,iI=W(()=>{qg();tI();Jo();s0();qj=/[\\^$.*+?()[\]{}|]/g,zj=/^\[object .+?Constructor\]$/,Gj=Function.prototype,$j=Object.prototype,Bj=Gj.toString,Uj=$j.hasOwnProperty,Vj=RegExp("^"+Bj.call(Uj).replace(qj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");nI=Wj});function Hj(e,n){return e?.[n]}var rI,sI=W(()=>{rI=Hj});function Yj(e,n){var i=rI(e,n);return nI(i)?i:void 0}var xr,Va=W(()=>{iI();sI();xr=Yj});var Xj,Gg,oI=W(()=>{Va();Gs();Xj=xr(ii,"WeakMap"),Gg=Xj});var aI,Zj,lI,cI=W(()=>{Jo();aI=Object.create,Zj=function(){function e(){}return function(n){if(!Gi(n))return{};if(aI)return aI(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}(),lI=Zj});function Kj(e,n,i){switch(i.length){case 0:return e.call(n);case 1:return e.call(n,i[0]);case 2:return e.call(n,i[0],i[1]);case 3:return e.call(n,i[0],i[1],i[2])}return e.apply(n,i)}var uI,dI=W(()=>{uI=Kj});function Qj(e,n){var i=-1,r=e.length;for(n||(n=Array(r));++i{$g=Qj});function n6(e){var n=0,i=0;return function(){var r=t6(),o=e6-(r-i);if(i=r,o>0){if(++n>=Jj)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Jj,e6,t6,hI,fI=W(()=>{Jj=800,e6=16,t6=Date.now;hI=n6});function i6(e){return function(){return e}}var pI,gI=W(()=>{pI=i6});var r6,Du,a0=W(()=>{Va();r6=function(){try{var e=xr(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Du=r6});var s6,mI,_I=W(()=>{gI();a0();r0();s6=Du?function(e,n){return Du(e,"toString",{configurable:!0,enumerable:!1,value:pI(n),writable:!0})}:jg,mI=s6});var o6,yI,vI=W(()=>{_I();fI();o6=hI(mI),yI=o6});function a6(e,n){for(var i=-1,r=e==null?0:e.length;++i{bI=a6});function u6(e,n){var i=typeof e;return n=n??l6,!!n&&(i=="number"||i!="symbol"&&c6.test(e))&&e>-1&&e%1==0&&e{l6=9007199254740991,c6=/^(?:0|[1-9]\d*)$/;Bg=u6});function d6(e,n,i){n=="__proto__"&&Du?Du(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var ju,Ug=W(()=>{a0();ju=d6});function h6(e,n){return e===n||e!==e&&n!==n}var fo,qu=W(()=>{fo=h6});function g6(e,n,i){var r=e[n];(!(p6.call(e,n)&&fo(r,i))||i===void 0&&!(n in e))&&ju(e,n,i)}var f6,p6,Vg,c0=W(()=>{Ug();qu();f6=Object.prototype,p6=f6.hasOwnProperty;Vg=g6});function m6(e,n,i,r){var o=!i;i||(i={});for(var u=-1,c=n.length;++u{c0();Ug();po=m6});function _6(e,n,i){return n=wI(n===void 0?e.length-1:n,0),function(){for(var r=arguments,o=-1,u=wI(r.length-n,0),c=Array(u);++o{dI();wI=Math.max;SI=_6});function y6(e,n){return yI(SI(e,n,jg),e+"")}var CI,II=W(()=>{r0();EI();vI();CI=y6});function b6(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=v6}var v6,Wg,u0=W(()=>{v6=9007199254740991;Wg=b6});function x6(e){return e!=null&&Wg(e.length)&&!Fu(e)}var Wa,wf=W(()=>{qg();u0();Wa=x6});function w6(e,n,i){if(!Gi(i))return!1;var r=typeof n;return(r=="number"?Wa(i)&&Bg(n,i.length):r=="string"&&n in i)?fo(i[n],e):!1}var kI,LI=W(()=>{qu();wf();l0();Jo();kI=w6});function S6(e){return CI(function(n,i){var r=-1,o=i.length,u=o>1?i[o-1]:void 0,c=o>2?i[2]:void 0;for(u=e.length>3&&typeof u=="function"?(o--,u):void 0,c&&kI(i[0],i[1],c)&&(u=o<3?void 0:u,o=1),n=Object(n);++r{II();LI();TI=S6});function C6(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||E6;return e===i}var E6,Gu,Hg=W(()=>{E6=Object.prototype;Gu=C6});function I6(e,n){for(var i=-1,r=Array(e);++i{RI=I6});function L6(e){return Ni(e)&&$s(e)==k6}var k6,d0,AI=W(()=>{Ou();Qo();k6="[object Arguments]";d0=L6});var OI,T6,N6,R6,Sf,h0=W(()=>{AI();Qo();OI=Object.prototype,T6=OI.hasOwnProperty,N6=OI.propertyIsEnumerable,R6=d0(function(){return arguments}())?d0:function(e){return Ni(e)&&T6.call(e,"callee")&&!N6.call(e,"callee")},Sf=R6});function M6(){return!1}var PI,FI=W(()=>{PI=M6});var qI,DI,A6,jI,O6,P6,ta,Ef=W(()=>{Gs();FI();qI=typeof exports=="object"&&exports&&!exports.nodeType&&exports,DI=qI&&typeof module=="object"&&module&&!module.nodeType&&module,A6=DI&&DI.exports===qI,jI=A6?ii.Buffer:void 0,O6=jI?jI.isBuffer:void 0,P6=O6||PI,ta=P6});function oq(e){return Ni(e)&&Wg(e.length)&&!!Rn[$s(e)]}var F6,D6,j6,q6,z6,G6,$6,B6,U6,V6,W6,H6,Y6,X6,Z6,K6,Q6,J6,eq,tq,nq,iq,rq,sq,Rn,zI,GI=W(()=>{Ou();u0();Qo();F6="[object Arguments]",D6="[object Array]",j6="[object Boolean]",q6="[object Date]",z6="[object Error]",G6="[object Function]",$6="[object Map]",B6="[object Number]",U6="[object Object]",V6="[object RegExp]",W6="[object Set]",H6="[object String]",Y6="[object WeakMap]",X6="[object ArrayBuffer]",Z6="[object DataView]",K6="[object Float32Array]",Q6="[object Float64Array]",J6="[object Int8Array]",eq="[object Int16Array]",tq="[object Int32Array]",nq="[object Uint8Array]",iq="[object Uint8ClampedArray]",rq="[object Uint16Array]",sq="[object Uint32Array]",Rn={};Rn[K6]=Rn[Q6]=Rn[J6]=Rn[eq]=Rn[tq]=Rn[nq]=Rn[iq]=Rn[rq]=Rn[sq]=!0;Rn[F6]=Rn[D6]=Rn[X6]=Rn[j6]=Rn[Z6]=Rn[q6]=Rn[z6]=Rn[G6]=Rn[$6]=Rn[B6]=Rn[U6]=Rn[V6]=Rn[W6]=Rn[H6]=Rn[Y6]=!1;zI=oq});function aq(e){return function(n){return e(n)}}var $u,Yg=W(()=>{$u=aq});var $I,Cf,lq,f0,cq,na,Xg=W(()=>{i0();$I=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Cf=$I&&typeof module=="object"&&module&&!module.nodeType&&module,lq=Cf&&Cf.exports===$I,f0=lq&&Dg.process,cq=function(){try{var e=Cf&&Cf.require&&Cf.require("util").types;return e||f0&&f0.binding&&f0.binding("util")}catch{}}(),na=cq});var BI,uq,Bu,Zg=W(()=>{GI();Yg();Xg();BI=na&&na.isTypedArray,uq=BI?$u(BI):zI,Bu=uq});function fq(e,n){var i=hs(e),r=!i&&Sf(e),o=!i&&!r&&ta(e),u=!i&&!r&&!o&&Bu(e),c=i||r||o||u,f=c?RI(e.length,String):[],p=f.length;for(var g in e)(n||hq.call(e,g))&&!(c&&(g=="length"||o&&(g=="offset"||g=="parent")||u&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||Bg(g,p)))&&f.push(g);return f}var dq,hq,Kg,p0=W(()=>{MI();h0();Pu();Ef();l0();Zg();dq=Object.prototype,hq=dq.hasOwnProperty;Kg=fq});function pq(e,n){return function(i){return e(n(i))}}var Qg,g0=W(()=>{Qg=pq});var gq,UI,VI=W(()=>{g0();gq=Qg(Object.keys,Object),UI=gq});function yq(e){if(!Gu(e))return UI(e);var n=[];for(var i in Object(e))_q.call(e,i)&&i!="constructor"&&n.push(i);return n}var mq,_q,WI,HI=W(()=>{Hg();VI();mq=Object.prototype,_q=mq.hasOwnProperty;WI=yq});function vq(e){return Wa(e)?Kg(e):WI(e)}var Uu,Jg=W(()=>{p0();HI();wf();Uu=vq});function bq(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var YI,XI=W(()=>{YI=bq});function Sq(e){if(!Gi(e))return YI(e);var n=Gu(e),i=[];for(var r in e)r=="constructor"&&(n||!wq.call(e,r))||i.push(r);return i}var xq,wq,ZI,KI=W(()=>{Jo();Hg();XI();xq=Object.prototype,wq=xq.hasOwnProperty;ZI=Sq});function Eq(e){return Wa(e)?Kg(e,!0):ZI(e)}var go,Vu=W(()=>{p0();KI();wf();go=Eq});var Cq,ia,If=W(()=>{Va();Cq=xr(Object,"create"),ia=Cq});function Iq(){this.__data__=ia?ia(null):{},this.size=0}var QI,JI=W(()=>{If();QI=Iq});function kq(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var ek,tk=W(()=>{ek=kq});function Rq(e){var n=this.__data__;if(ia){var i=n[e];return i===Lq?void 0:i}return Nq.call(n,e)?n[e]:void 0}var Lq,Tq,Nq,nk,ik=W(()=>{If();Lq="__lodash_hash_undefined__",Tq=Object.prototype,Nq=Tq.hasOwnProperty;nk=Rq});function Oq(e){var n=this.__data__;return ia?n[e]!==void 0:Aq.call(n,e)}var Mq,Aq,rk,sk=W(()=>{If();Mq=Object.prototype,Aq=Mq.hasOwnProperty;rk=Oq});function Fq(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=ia&&n===void 0?Pq:n,this}var Pq,ok,ak=W(()=>{If();Pq="__lodash_hash_undefined__";ok=Fq});function Wu(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n{JI();tk();ik();sk();ak();Wu.prototype.clear=QI;Wu.prototype.delete=ek;Wu.prototype.get=nk;Wu.prototype.has=rk;Wu.prototype.set=ok;m0=Wu});function Dq(){this.__data__=[],this.size=0}var ck,uk=W(()=>{ck=Dq});function jq(e,n){for(var i=e.length;i--;)if(fo(e[i][0],n))return i;return-1}var Ha,kf=W(()=>{qu();Ha=jq});function Gq(e){var n=this.__data__,i=Ha(n,e);if(i<0)return!1;var r=n.length-1;return i==r?n.pop():zq.call(n,i,1),--this.size,!0}var qq,zq,dk,hk=W(()=>{kf();qq=Array.prototype,zq=qq.splice;dk=Gq});function $q(e){var n=this.__data__,i=Ha(n,e);return i<0?void 0:n[i][1]}var fk,pk=W(()=>{kf();fk=$q});function Bq(e){return Ha(this.__data__,e)>-1}var gk,mk=W(()=>{kf();gk=Bq});function Uq(e,n){var i=this.__data__,r=Ha(i,e);return r<0?(++this.size,i.push([e,n])):i[r][1]=n,this}var _k,yk=W(()=>{kf();_k=Uq});function Hu(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n{uk();hk();pk();mk();yk();Hu.prototype.clear=ck;Hu.prototype.delete=dk;Hu.prototype.get=fk;Hu.prototype.has=gk;Hu.prototype.set=_k;Ya=Hu});var Vq,Xa,em=W(()=>{Va();Gs();Vq=xr(ii,"Map"),Xa=Vq});function Wq(){this.size=0,this.__data__={hash:new m0,map:new(Xa||Ya),string:new m0}}var vk,bk=W(()=>{lk();Lf();em();vk=Wq});function Hq(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}var xk,wk=W(()=>{xk=Hq});function Yq(e,n){var i=e.__data__;return xk(n)?i[typeof n=="string"?"string":"hash"]:i.map}var Za,Tf=W(()=>{wk();Za=Yq});function Xq(e){var n=Za(this,e).delete(e);return this.size-=n?1:0,n}var Sk,Ek=W(()=>{Tf();Sk=Xq});function Zq(e){return Za(this,e).get(e)}var Ck,Ik=W(()=>{Tf();Ck=Zq});function Kq(e){return Za(this,e).has(e)}var kk,Lk=W(()=>{Tf();kk=Kq});function Qq(e,n){var i=Za(this,e),r=i.size;return i.set(e,n),this.size+=i.size==r?0:1,this}var Tk,Nk=W(()=>{Tf();Tk=Qq});function Yu(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n{bk();Ek();Ik();Lk();Nk();Yu.prototype.clear=vk;Yu.prototype.delete=Sk;Yu.prototype.get=Ck;Yu.prototype.has=kk;Yu.prototype.set=Tk;tm=Yu});function Jq(e,n){for(var i=-1,r=n.length,o=e.length;++i{nm=Jq});var e8,Xu,im=W(()=>{g0();e8=Qg(Object.getPrototypeOf,Object),Xu=e8});function o8(e){if(!Ni(e)||$s(e)!=t8)return!1;var n=Xu(e);if(n===null)return!0;var i=r8.call(n,"constructor")&&n.constructor;return typeof i=="function"&&i instanceof i&&Rk.call(i)==s8}var t8,n8,i8,Rk,r8,s8,Mk,Ak=W(()=>{Ou();im();Qo();t8="[object Object]",n8=Function.prototype,i8=Object.prototype,Rk=n8.toString,r8=i8.hasOwnProperty,s8=Rk.call(Object);Mk=o8});function a8(){this.__data__=new Ya,this.size=0}var Ok,Pk=W(()=>{Lf();Ok=a8});function l8(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}var Fk,Dk=W(()=>{Fk=l8});function c8(e){return this.__data__.get(e)}var jk,qk=W(()=>{jk=c8});function u8(e){return this.__data__.has(e)}var zk,Gk=W(()=>{zk=u8});function h8(e,n){var i=this.__data__;if(i instanceof Ya){var r=i.__data__;if(!Xa||r.length{Lf();em();_0();d8=200;$k=h8});function Zu(e){var n=this.__data__=new Ya(e);this.size=n.size}var Ka,rm=W(()=>{Lf();Pk();Dk();qk();Gk();Bk();Zu.prototype.clear=Ok;Zu.prototype.delete=Fk;Zu.prototype.get=jk;Zu.prototype.has=zk;Zu.prototype.set=$k;Ka=Zu});function f8(e,n){return e&&po(n,Uu(n),e)}var Uk,Vk=W(()=>{zu();Jg();Uk=f8});function p8(e,n){return e&&po(n,go(n),e)}var Wk,Hk=W(()=>{zu();Vu();Wk=p8});function m8(e,n){if(n)return e.slice();var i=e.length,r=Zk?Zk(i):new e.constructor(i);return e.copy(r),r}var Kk,Yk,g8,Xk,Zk,sm,v0=W(()=>{Gs();Kk=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yk=Kk&&typeof module=="object"&&module&&!module.nodeType&&module,g8=Yk&&Yk.exports===Kk,Xk=g8?ii.Buffer:void 0,Zk=Xk?Xk.allocUnsafe:void 0;sm=m8});function _8(e,n){for(var i=-1,r=e==null?0:e.length,o=0,u=[];++i{Qk=_8});function y8(){return[]}var om,b0=W(()=>{om=y8});var v8,b8,eL,x8,Ku,am=W(()=>{Jk();b0();v8=Object.prototype,b8=v8.propertyIsEnumerable,eL=Object.getOwnPropertySymbols,x8=eL?function(e){return e==null?[]:(e=Object(e),Qk(eL(e),function(n){return b8.call(e,n)}))}:om,Ku=x8});function w8(e,n){return po(e,Ku(e),n)}var tL,nL=W(()=>{zu();am();tL=w8});var S8,E8,lm,x0=W(()=>{y0();im();am();b0();S8=Object.getOwnPropertySymbols,E8=S8?function(e){for(var n=[];e;)nm(n,Ku(e)),e=Xu(e);return n}:om,lm=E8});function C8(e,n){return po(e,lm(e),n)}var iL,rL=W(()=>{zu();x0();iL=C8});function I8(e,n,i){var r=n(e);return hs(e)?r:nm(r,i(e))}var cm,w0=W(()=>{y0();Pu();cm=I8});function k8(e){return cm(e,Uu,Ku)}var Nf,S0=W(()=>{w0();am();Jg();Nf=k8});function L8(e){return cm(e,go,lm)}var sL,oL=W(()=>{w0();x0();Vu();sL=L8});var T8,um,aL=W(()=>{Va();Gs();T8=xr(ii,"DataView"),um=T8});var N8,dm,lL=W(()=>{Va();Gs();N8=xr(ii,"Promise"),dm=N8});var R8,hm,cL=W(()=>{Va();Gs();R8=xr(ii,"Set"),hm=R8});var uL,M8,dL,hL,fL,pL,A8,O8,P8,F8,D8,ic,ra,Rf=W(()=>{aL();em();lL();cL();oI();Ou();s0();uL="[object Map]",M8="[object Object]",dL="[object Promise]",hL="[object Set]",fL="[object WeakMap]",pL="[object DataView]",A8=ea(um),O8=ea(Xa),P8=ea(dm),F8=ea(hm),D8=ea(Gg),ic=$s;(um&&ic(new um(new ArrayBuffer(1)))!=pL||Xa&&ic(new Xa)!=uL||dm&&ic(dm.resolve())!=dL||hm&&ic(new hm)!=hL||Gg&&ic(new Gg)!=fL)&&(ic=function(e){var n=$s(e),i=n==M8?e.constructor:void 0,r=i?ea(i):"";if(r)switch(r){case A8:return pL;case O8:return uL;case P8:return dL;case F8:return hL;case D8:return fL}return n});ra=ic});function z8(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&q8.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var j8,q8,gL,mL=W(()=>{j8=Object.prototype,q8=j8.hasOwnProperty;gL=z8});var G8,Qu,E0=W(()=>{Gs();G8=ii.Uint8Array,Qu=G8});function $8(e){var n=new e.constructor(e.byteLength);return new Qu(n).set(new Qu(e)),n}var Ju,fm=W(()=>{E0();Ju=$8});function B8(e,n){var i=n?Ju(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var _L,yL=W(()=>{fm();_L=B8});function V8(e){var n=new e.constructor(e.source,U8.exec(e));return n.lastIndex=e.lastIndex,n}var U8,vL,bL=W(()=>{U8=/\w*$/;vL=V8});function W8(e){return wL?Object(wL.call(e)):{}}var xL,wL,SL,EL=W(()=>{bf();xL=ds?ds.prototype:void 0,wL=xL?xL.valueOf:void 0;SL=W8});function H8(e,n){var i=n?Ju(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var pm,C0=W(()=>{fm();pm=H8});function fz(e,n,i){var r=e.constructor;switch(n){case nz:return Ju(e);case Y8:case X8:return new r(+e);case iz:return _L(e,i);case rz:case sz:case oz:case az:case lz:case cz:case uz:case dz:case hz:return pm(e,i);case Z8:return new r;case K8:case ez:return new r(e);case Q8:return vL(e);case J8:return new r;case tz:return SL(e)}}var Y8,X8,Z8,K8,Q8,J8,ez,tz,nz,iz,rz,sz,oz,az,lz,cz,uz,dz,hz,CL,IL=W(()=>{fm();yL();bL();EL();C0();Y8="[object Boolean]",X8="[object Date]",Z8="[object Map]",K8="[object Number]",Q8="[object RegExp]",J8="[object Set]",ez="[object String]",tz="[object Symbol]",nz="[object ArrayBuffer]",iz="[object DataView]",rz="[object Float32Array]",sz="[object Float64Array]",oz="[object Int8Array]",az="[object Int16Array]",lz="[object Int32Array]",cz="[object Uint8Array]",uz="[object Uint8ClampedArray]",dz="[object Uint16Array]",hz="[object Uint32Array]";CL=fz});function pz(e){return typeof e.constructor=="function"&&!Gu(e)?lI(Xu(e)):{}}var gm,I0=W(()=>{cI();im();Hg();gm=pz});function mz(e){return Ni(e)&&ra(e)==gz}var gz,kL,LL=W(()=>{Rf();Qo();gz="[object Map]";kL=mz});var TL,_z,NL,RL=W(()=>{LL();Yg();Xg();TL=na&&na.isMap,_z=TL?$u(TL):kL,NL=_z});function vz(e){return Ni(e)&&ra(e)==yz}var yz,ML,AL=W(()=>{Rf();Qo();yz="[object Set]";ML=vz});var OL,bz,PL,FL=W(()=>{AL();Yg();Xg();OL=na&&na.isSet,bz=OL?$u(OL):ML,PL=bz});function mm(e,n,i,r,o,u){var c,f=n&xz,p=n&wz,g=n&Sz;if(i&&(c=o?i(e,r,o,u):i(e)),c!==void 0)return c;if(!Gi(e))return e;var d=hs(e);if(d){if(c=gL(e),!f)return $g(e,c)}else{var v=ra(e),y=v==jL||v==Lz;if(ta(e))return sm(e,f);if(v==qL||v==DL||y&&!o){if(c=p||y?{}:gm(e),!f)return p?iL(e,Wk(c,e)):tL(e,Uk(c,e))}else{if(!kn[v])return o?e:{};c=CL(e,v,f)}}u||(u=new Ka);var S=u.get(e);if(S)return S;u.set(e,c),PL(e)?e.forEach(function(I){c.add(mm(I,n,i,I,e,u))}):NL(e)&&e.forEach(function(I,O){c.set(O,mm(I,n,i,O,e,u))});var w=g?p?sL:Nf:p?go:Uu,E=d?void 0:w(e);return bI(E||e,function(I,O){E&&(O=I,I=e[O]),Vg(c,O,mm(I,n,i,O,e,u))}),c}var xz,wz,Sz,DL,Ez,Cz,Iz,kz,jL,Lz,Tz,Nz,qL,Rz,Mz,Az,Oz,Pz,Fz,Dz,jz,qz,zz,Gz,$z,Bz,Uz,Vz,Wz,kn,zL,GL=W(()=>{rm();xI();c0();Vk();Hk();v0();o0();nL();rL();S0();oL();Rf();mL();IL();I0();Pu();Ef();RL();Jo();FL();Jg();Vu();xz=1,wz=2,Sz=4,DL="[object Arguments]",Ez="[object Array]",Cz="[object Boolean]",Iz="[object Date]",kz="[object Error]",jL="[object Function]",Lz="[object GeneratorFunction]",Tz="[object Map]",Nz="[object Number]",qL="[object Object]",Rz="[object RegExp]",Mz="[object Set]",Az="[object String]",Oz="[object Symbol]",Pz="[object WeakMap]",Fz="[object ArrayBuffer]",Dz="[object DataView]",jz="[object Float32Array]",qz="[object Float64Array]",zz="[object Int8Array]",Gz="[object Int16Array]",$z="[object Int32Array]",Bz="[object Uint8Array]",Uz="[object Uint8ClampedArray]",Vz="[object Uint16Array]",Wz="[object Uint32Array]",kn={};kn[DL]=kn[Ez]=kn[Fz]=kn[Dz]=kn[Cz]=kn[Iz]=kn[jz]=kn[qz]=kn[zz]=kn[Gz]=kn[$z]=kn[Tz]=kn[Nz]=kn[qL]=kn[Rz]=kn[Mz]=kn[Az]=kn[Oz]=kn[Bz]=kn[Uz]=kn[Vz]=kn[Wz]=!0;kn[kz]=kn[jL]=kn[Pz]=!1;zL=mm});function Xz(e){return zL(e,Hz|Yz)}var Hz,Yz,mo,$L=W(()=>{GL();Hz=1,Yz=4;mo=Xz});function Kz(e){return this.__data__.set(e,Zz),this}var Zz,BL,UL=W(()=>{Zz="__lodash_hash_undefined__";BL=Kz});function Qz(e){return this.__data__.has(e)}var VL,WL=W(()=>{VL=Qz});function _m(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new tm;++n{_0();UL();WL();_m.prototype.add=_m.prototype.push=BL;_m.prototype.has=VL;HL=_m});function Jz(e,n){for(var i=-1,r=e==null?0:e.length;++i{XL=Jz});function eG(e,n){return e.has(n)}var KL,QL=W(()=>{KL=eG});function iG(e,n,i,r,o,u){var c=i&tG,f=e.length,p=n.length;if(f!=p&&!(c&&p>f))return!1;var g=u.get(e),d=u.get(n);if(g&&d)return g==n&&d==e;var v=-1,y=!0,S=i&nG?new HL:void 0;for(u.set(e,n),u.set(n,e);++v{YL();ZL();QL();tG=1,nG=2;ym=iG});function rG(e){var n=-1,i=Array(e.size);return e.forEach(function(r,o){i[++n]=[o,r]}),i}var JL,e2=W(()=>{JL=rG});function sG(e){var n=-1,i=Array(e.size);return e.forEach(function(r){i[++n]=r}),i}var t2,n2=W(()=>{t2=sG});function vG(e,n,i,r,o,u,c){switch(i){case yG:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case _G:return!(e.byteLength!=n.byteLength||!u(new Qu(e),new Qu(n)));case lG:case cG:case hG:return fo(+e,+n);case uG:return e.name==n.name&&e.message==n.message;case fG:case gG:return e==n+"";case dG:var f=JL;case pG:var p=r&oG;if(f||(f=t2),e.size!=n.size&&!p)return!1;var g=c.get(e);if(g)return g==n;r|=aG,c.set(e,n);var d=ym(f(e),f(n),r,o,u,c);return c.delete(e),d;case mG:if(L0)return L0.call(e)==L0.call(n)}return!1}var oG,aG,lG,cG,uG,dG,hG,fG,pG,gG,mG,_G,yG,i2,L0,r2,s2=W(()=>{bf();E0();qu();k0();e2();n2();oG=1,aG=2,lG="[object Boolean]",cG="[object Date]",uG="[object Error]",dG="[object Map]",hG="[object Number]",fG="[object RegExp]",pG="[object Set]",gG="[object String]",mG="[object Symbol]",_G="[object ArrayBuffer]",yG="[object DataView]",i2=ds?ds.prototype:void 0,L0=i2?i2.valueOf:void 0;r2=vG});function SG(e,n,i,r,o,u){var c=i&bG,f=Nf(e),p=f.length,g=Nf(n),d=g.length;if(p!=d&&!c)return!1;for(var v=p;v--;){var y=f[v];if(!(c?y in n:wG.call(n,y)))return!1}var S=u.get(e),w=u.get(n);if(S&&w)return S==n&&w==e;var E=!0;u.set(e,n),u.set(n,e);for(var I=c;++v{S0();bG=1,xG=Object.prototype,wG=xG.hasOwnProperty;o2=SG});function IG(e,n,i,r,o,u){var c=hs(e),f=hs(n),p=c?c2:ra(e),g=f?c2:ra(n);p=p==l2?vm:p,g=g==l2?vm:g;var d=p==vm,v=g==vm,y=p==g;if(y&&ta(e)){if(!ta(n))return!1;c=!0,d=!1}if(y&&!d)return u||(u=new Ka),c||Bu(e)?ym(e,n,i,r,o,u):r2(e,n,p,i,r,o,u);if(!(i&EG)){var S=d&&u2.call(e,"__wrapped__"),w=v&&u2.call(n,"__wrapped__");if(S||w){var E=S?e.value():e,I=w?n.value():n;return u||(u=new Ka),o(E,I,i,r,u)}}return y?(u||(u=new Ka),o2(e,n,i,r,o,u)):!1}var EG,l2,c2,vm,CG,u2,d2,h2=W(()=>{rm();k0();s2();a2();Rf();Pu();Ef();Zg();EG=1,l2="[object Arguments]",c2="[object Array]",vm="[object Object]",CG=Object.prototype,u2=CG.hasOwnProperty;d2=IG});function f2(e,n,i,r,o){return e===n?!0:e==null||n==null||!Ni(e)&&!Ni(n)?e!==e&&n!==n:d2(e,n,i,r,f2,o)}var p2,g2=W(()=>{h2();Qo();p2=f2});function kG(e){return function(n,i,r){for(var o=-1,u=Object(n),c=r(n),f=c.length;f--;){var p=c[e?f:++o];if(i(u[p],p,u)===!1)break}return n}}var m2,_2=W(()=>{m2=kG});var LG,y2,v2=W(()=>{_2();LG=m2(),y2=LG});function TG(e,n,i){(i!==void 0&&!fo(e[n],i)||i===void 0&&!(n in e))&&ju(e,n,i)}var Mf,T0=W(()=>{Ug();qu();Mf=TG});function NG(e){return Ni(e)&&Wa(e)}var b2,x2=W(()=>{wf();Qo();b2=NG});function RG(e,n){if(!(n==="constructor"&&typeof e[n]=="function")&&n!="__proto__")return e[n]}var Af,N0=W(()=>{Af=RG});function MG(e){return po(e,go(e))}var w2,S2=W(()=>{zu();Vu();w2=MG});function AG(e,n,i,r,o,u,c){var f=Af(e,i),p=Af(n,i),g=c.get(p);if(g){Mf(e,i,g);return}var d=u?u(f,p,i+"",e,n,c):void 0,v=d===void 0;if(v){var y=hs(p),S=!y&&ta(p),w=!y&&!S&&Bu(p);d=p,y||S||w?hs(f)?d=f:b2(f)?d=$g(f):S?(v=!1,d=sm(p,!0)):w?(v=!1,d=pm(p,!0)):d=[]:Mk(p)||Sf(p)?(d=f,Sf(f)?d=w2(f):(!Gi(f)||Fu(f))&&(d=gm(p))):v=!1}v&&(c.set(p,d),o(d,p,r,u,c),c.delete(p)),Mf(e,i,d)}var E2,C2=W(()=>{T0();v0();C0();o0();I0();h0();Pu();x2();Ef();qg();Jo();Ak();Zg();N0();S2();E2=AG});function I2(e,n,i,r,o){e!==n&&y2(n,function(u,c){if(o||(o=new Ka),Gi(u))E2(e,n,c,i,I2,r,o);else{var f=r?r(Af(e,c),u,c+"",e,n,o):void 0;f===void 0&&(f=u),Mf(e,c,f)}},go)}var k2,L2=W(()=>{rm();T0();v2();C2();Jo();Vu();N0();k2=I2});function OG(e,n){return p2(e,n)}var rc,T2=W(()=>{g2();rc=OG});var PG,wr,N2=W(()=>{L2();NI();PG=TI(function(e,n,i){k2(e,n,i)}),wr=PG});var Qa=W(()=>{$L();T2();N2();});var od={};vi(od,{Attributor:()=>sr,AttributorStore:()=>Of,BlockBlot:()=>sc,ClassAttributor:()=>ri,ContainerBlot:()=>rd,EmbedBlot:()=>zn,InlineBlot:()=>bm,LeafBlot:()=>si,ParentBlot:()=>Sr,Registry:()=>tl,Scope:()=>rt,ScrollBlot:()=>Pf,StyleAttributor:()=>Er,TextBlot:()=>sd});function R2(e,n){return(e.getAttribute("class")||"").split(/\s+/).filter(i=>i.indexOf(`${n}-`)===0)}function R0(e){let n=e.split("-"),i=n.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("");return n[0]+i}function M2(e,n){let i=n.find(e);if(i)return i;try{return n.create(e)}catch{let r=n.create(rt.INLINE);return Array.from(e.childNodes).forEach(o=>{r.domNode.appendChild(o)}),e.parentNode&&e.parentNode.replaceChild(r.domNode,e),r.attach(),r}}function jG(e,n){if(Object.keys(e).length!==Object.keys(n).length)return!1;for(let i in e)if(e[i]!==n[i])return!1;return!0}var rt,sr,el,A2,tl,A0,ri,O0,Er,P0,Of,O2,P2,F2,FG,si,F0,D2,DG,Sr,ed,qG,bm,nd,zG,sc,j0,GG,rd,q0,zn,$G,BG,id,UG,Pf,z0,VG,sd,xn=W(()=>{rt=(e=>(e[e.TYPE=3]="TYPE",e[e.LEVEL=12]="LEVEL",e[e.ATTRIBUTE=13]="ATTRIBUTE",e[e.BLOT=14]="BLOT",e[e.INLINE=7]="INLINE",e[e.BLOCK=11]="BLOCK",e[e.BLOCK_BLOT=10]="BLOCK_BLOT",e[e.INLINE_BLOT=6]="INLINE_BLOT",e[e.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",e[e.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",e[e.ANY=15]="ANY",e))(rt||{}),sr=class{constructor(n,i,r={}){this.attrName=n,this.keyName=i;let o=rt.TYPE&rt.ATTRIBUTE;this.scope=r.scope!=null?r.scope&rt.LEVEL|o:rt.ATTRIBUTE,r.whitelist!=null&&(this.whitelist=r.whitelist)}static keys(n){return Array.from(n.attributes).map(i=>i.name)}add(n,i){return this.canAdd(n,i)?(n.setAttribute(this.keyName,i),!0):!1}canAdd(n,i){return this.whitelist==null?!0:typeof i=="string"?this.whitelist.indexOf(i.replace(/["']/g,""))>-1:this.whitelist.indexOf(i)>-1}remove(n){n.removeAttribute(this.keyName)}value(n){let i=n.getAttribute(this.keyName);return this.canAdd(n,i)&&i?i:""}},el=class extends Error{constructor(n){n="[Parchment] "+n,super(n),this.message=n,this.name=this.constructor.name}},A2=class M0{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(n,i=!1){if(n==null)return null;if(this.blots.has(n))return this.blots.get(n)||null;if(i){let r=null;try{r=n.parentNode}catch{return null}return this.find(r,i)}return null}create(n,i,r){let o=this.query(i);if(o==null)throw new el(`Unable to create ${i} blot`);let u=o,c=i instanceof Node||i.nodeType===Node.TEXT_NODE?i:u.create(r),f=new u(n,c,r);return M0.blots.set(f.domNode,f),f}find(n,i=!1){return M0.find(n,i)}query(n,i=rt.ANY){let r;return typeof n=="string"?r=this.types[n]||this.attributes[n]:n instanceof Text||n.nodeType===Node.TEXT_NODE?r=this.types.text:typeof n=="number"?n&rt.LEVEL&rt.BLOCK?r=this.types.block:n&rt.LEVEL&rt.INLINE&&(r=this.types.inline):n instanceof Element&&((n.getAttribute("class")||"").split(/\s+/).some(o=>(r=this.classes[o],!!r)),r=r||this.tags[n.tagName]),r==null?null:"scope"in r&&i&rt.LEVEL&r.scope&&i&rt.TYPE&r.scope?r:null}register(...n){return n.map(i=>{let r="blotName"in i,o="attrName"in i;if(!r&&!o)throw new el("Invalid definition");if(r&&i.blotName==="abstract")throw new el("Cannot register abstract class");let u=r?i.blotName:o?i.attrName:void 0;return this.types[u]=i,o?typeof i.keyName=="string"&&(this.attributes[i.keyName]=i):r&&(i.className&&(this.classes[i.className]=i),i.tagName&&(Array.isArray(i.tagName)?i.tagName=i.tagName.map(c=>c.toUpperCase()):i.tagName=i.tagName.toUpperCase(),(Array.isArray(i.tagName)?i.tagName:[i.tagName]).forEach(c=>{(this.tags[c]==null||i.className==null)&&(this.tags[c]=i)}))),i})}};A2.blots=new WeakMap;tl=A2;A0=class extends sr{static keys(n){return(n.getAttribute("class")||"").split(/\s+/).map(i=>i.split("-").slice(0,-1).join("-"))}add(n,i){return this.canAdd(n,i)?(this.remove(n),n.classList.add(`${this.keyName}-${i}`),!0):!1}remove(n){R2(n,this.keyName).forEach(i=>{n.classList.remove(i)}),n.classList.length===0&&n.removeAttribute("class")}value(n){let i=(R2(n,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(n,i)?i:""}},ri=A0;O0=class extends sr{static keys(n){return(n.getAttribute("style")||"").split(";").map(i=>i.split(":")[0].trim())}add(n,i){return this.canAdd(n,i)?(n.style[R0(this.keyName)]=i,!0):!1}remove(n){n.style[R0(this.keyName)]="",n.getAttribute("style")||n.removeAttribute("style")}value(n){let i=n.style[R0(this.keyName)];return this.canAdd(n,i)?i:""}},Er=O0,P0=class{constructor(n){this.attributes={},this.domNode=n,this.build()}attribute(n,i){i?n.add(this.domNode,i)&&(n.value(this.domNode)!=null?this.attributes[n.attrName]=n:delete this.attributes[n.attrName]):(n.remove(this.domNode),delete this.attributes[n.attrName])}build(){this.attributes={};let n=tl.find(this.domNode);if(n==null)return;let i=sr.keys(this.domNode),r=ri.keys(this.domNode),o=Er.keys(this.domNode);i.concat(r).concat(o).forEach(u=>{let c=n.scroll.query(u,rt.ATTRIBUTE);c instanceof sr&&(this.attributes[c.attrName]=c)})}copy(n){Object.keys(this.attributes).forEach(i=>{let r=this.attributes[i].value(this.domNode);n.format(i,r)})}move(n){this.copy(n),Object.keys(this.attributes).forEach(i=>{this.attributes[i].remove(this.domNode)}),this.attributes={}}values(){return Object.keys(this.attributes).reduce((n,i)=>(n[i]=this.attributes[i].value(this.domNode),n),{})}},Of=P0,O2=class{constructor(n,i){this.scroll=n,this.domNode=i,tl.blots.set(i,this),this.prev=null,this.next=null}static create(n){if(this.tagName==null)throw new el("Blot definition missing tagName");let i,r;return Array.isArray(this.tagName)?(typeof n=="string"?(r=n.toUpperCase(),parseInt(r,10).toString()===r&&(r=parseInt(r,10))):typeof n=="number"&&(r=n),typeof r=="number"?i=document.createElement(this.tagName[r-1]):r&&this.tagName.indexOf(r)>-1?i=document.createElement(r):i=document.createElement(this.tagName[0])):i=document.createElement(this.tagName),this.className&&i.classList.add(this.className),i}get statics(){return this.constructor}attach(){}clone(){let n=this.domNode.cloneNode(!1);return this.scroll.create(n)}detach(){this.parent!=null&&this.parent.removeChild(this),tl.blots.delete(this.domNode)}deleteAt(n,i){this.isolate(n,i).remove()}formatAt(n,i,r,o){let u=this.isolate(n,i);if(this.scroll.query(r,rt.BLOT)!=null&&o)u.wrap(r,o);else if(this.scroll.query(r,rt.ATTRIBUTE)!=null){let c=this.scroll.create(this.statics.scope);u.wrap(c),c.format(r,o)}}insertAt(n,i,r){let o=r==null?this.scroll.create("text",i):this.scroll.create(i,r),u=this.split(n);this.parent.insertBefore(o,u||void 0)}isolate(n,i){let r=this.split(n);if(r==null)throw new Error("Attempt to isolate at end");return r.split(i),r}length(){return 1}offset(n=this.parent){return this.parent==null||this===n?0:this.parent.children.offset(this)+this.parent.offset(n)}optimize(n){this.statics.requiredContainer&&!(this.parent instanceof this.statics.requiredContainer)&&this.wrap(this.statics.requiredContainer.blotName)}remove(){this.domNode.parentNode!=null&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(n,i){let r=typeof n=="string"?this.scroll.create(n,i):n;return this.parent!=null&&(this.parent.insertBefore(r,this.next||void 0),this.remove()),r}split(n,i){return n===0?this:this.next}update(n,i){}wrap(n,i){let r=typeof n=="string"?this.scroll.create(n,i):n;if(this.parent!=null&&this.parent.insertBefore(r,this.next||void 0),typeof r.appendChild!="function")throw new el(`Cannot wrap ${n}`);return r.appendChild(this),r}};O2.blotName="abstract";P2=O2,F2=class extends P2{static value(n){return!0}index(n,i){return this.domNode===n||this.domNode.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(i,1):-1}position(n,i){let r=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return n>0&&(r+=1),[this.parent.domNode,r]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};F2.scope=rt.INLINE_BLOT;FG=F2,si=FG,F0=class{constructor(){this.head=null,this.tail=null,this.length=0}append(...n){if(this.insertBefore(n[0],null),n.length>1){let i=n.slice(1);this.append(...i)}}at(n){let i=this.iterator(),r=i();for(;r&&n>0;)n-=1,r=i();return r}contains(n){let i=this.iterator(),r=i();for(;r;){if(r===n)return!0;r=i()}return!1}indexOf(n){let i=this.iterator(),r=i(),o=0;for(;r;){if(r===n)return o;o+=1,r=i()}return-1}insertBefore(n,i){n!=null&&(this.remove(n),n.next=i,i!=null?(n.prev=i.prev,i.prev!=null&&(i.prev.next=n),i.prev=n,i===this.head&&(this.head=n)):this.tail!=null?(this.tail.next=n,n.prev=this.tail,this.tail=n):(n.prev=null,this.head=this.tail=n),this.length+=1)}offset(n){let i=0,r=this.head;for(;r!=null;){if(r===n)return i;i+=r.length(),r=r.next}return-1}remove(n){this.contains(n)&&(n.prev!=null&&(n.prev.next=n.next),n.next!=null&&(n.next.prev=n.prev),n===this.head&&(this.head=n.next),n===this.tail&&(this.tail=n.prev),this.length-=1)}iterator(n=this.head){return()=>{let i=n;return n!=null&&(n=n.next),i}}find(n,i=!1){let r=this.iterator(),o=r();for(;o;){let u=o.length();if(nc?r(p,n-c,Math.min(i,c+g-n)):r(p,0,Math.min(g,n+i-c)),c+=g,p=f()}}map(n){return this.reduce((i,r)=>(i.push(n(r)),i),[])}reduce(n,i){let r=this.iterator(),o=r();for(;o;)i=n(i,o),o=r();return i}};D2=class Ja extends P2{constructor(n,i){super(n,i),this.uiNode=null,this.build()}appendChild(n){this.insertBefore(n)}attach(){super.attach(),this.children.forEach(n=>{n.attach()})}attachUI(n){this.uiNode!=null&&this.uiNode.remove(),this.uiNode=n,Ja.uiClass&&this.uiNode.classList.add(Ja.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new F0,Array.from(this.domNode.childNodes).filter(n=>n!==this.uiNode).reverse().forEach(n=>{try{let i=M2(n,this.scroll);this.insertBefore(i,this.children.head||void 0)}catch(i){if(i instanceof el)return;throw i}})}deleteAt(n,i){if(n===0&&i===this.length())return this.remove();this.children.forEachAt(n,i,(r,o,u)=>{r.deleteAt(o,u)})}descendant(n,i=0){let[r,o]=this.children.find(i);return n.blotName==null&&n(r)||n.blotName!=null&&r instanceof n?[r,o]:r instanceof Ja?r.descendant(n,o):[null,-1]}descendants(n,i=0,r=Number.MAX_VALUE){let o=[],u=r;return this.children.forEachAt(i,r,(c,f,p)=>{(n.blotName==null&&n(c)||n.blotName!=null&&c instanceof n)&&o.push(c),c instanceof Ja&&(o=o.concat(c.descendants(n,f,u))),u-=p}),o}detach(){this.children.forEach(n=>{n.detach()}),super.detach()}enforceAllowedChildren(){let n=!1;this.children.forEach(i=>{n||this.statics.allowedChildren.some(r=>i instanceof r)||(i.statics.scope===rt.BLOCK_BLOT?(i.next!=null&&this.splitAfter(i),i.prev!=null&&this.splitAfter(i.prev),i.parent.unwrap(),n=!0):i instanceof Ja?i.unwrap():i.remove())})}formatAt(n,i,r,o){this.children.forEachAt(n,i,(u,c,f)=>{u.formatAt(c,f,r,o)})}insertAt(n,i,r){let[o,u]=this.children.find(n);if(o)o.insertAt(u,i,r);else{let c=r==null?this.scroll.create("text",i):this.scroll.create(i,r);this.appendChild(c)}}insertBefore(n,i){n.parent!=null&&n.parent.children.remove(n);let r=null;this.children.insertBefore(n,i||null),n.parent=this,i!=null&&(r=i.domNode),(this.domNode.parentNode!==n.domNode||this.domNode.nextSibling!==r)&&this.domNode.insertBefore(n.domNode,r),n.attach()}length(){return this.children.reduce((n,i)=>n+i.length(),0)}moveChildren(n,i){this.children.forEach(r=>{n.insertBefore(r,i)})}optimize(n){if(super.optimize(n),this.enforceAllowedChildren(),this.uiNode!=null&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),this.children.length===0)if(this.statics.defaultChild!=null){let i=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(i)}else this.remove()}path(n,i=!1){let[r,o]=this.children.find(n,i),u=[[this,n]];return r instanceof Ja?u.concat(r.path(o,i)):(r!=null&&u.push([r,o]),u)}removeChild(n){this.children.remove(n)}replaceWith(n,i){let r=typeof n=="string"?this.scroll.create(n,i):n;return r instanceof Ja&&this.moveChildren(r),super.replaceWith(r)}split(n,i=!1){if(!i){if(n===0)return this;if(n===this.length())return this.next}let r=this.clone();return this.parent&&this.parent.insertBefore(r,this.next||void 0),this.children.forEachAt(n,this.length(),(o,u,c)=>{let f=o.split(u,i);f!=null&&r.appendChild(f)}),r}splitAfter(n){let i=this.clone();for(;n.next!=null;)i.appendChild(n.next);return this.parent&&this.parent.insertBefore(i,this.next||void 0),i}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(n,i){let r=[],o=[];n.forEach(u=>{u.target===this.domNode&&u.type==="childList"&&(r.push(...u.addedNodes),o.push(...u.removedNodes))}),o.forEach(u=>{if(u.parentNode!=null&&u.tagName!=="IFRAME"&&document.body.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;let c=this.scroll.find(u);c!=null&&(c.domNode.parentNode==null||c.domNode.parentNode===this.domNode)&&c.detach()}),r.filter(u=>u.parentNode===this.domNode&&u!==this.uiNode).sort((u,c)=>u===c?0:u.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1).forEach(u=>{let c=null;u.nextSibling!=null&&(c=this.scroll.find(u.nextSibling));let f=M2(u,this.scroll);(f.next!==c||f.next==null)&&(f.parent!=null&&f.parent.removeChild(this),this.insertBefore(f,c||void 0))}),this.enforceAllowedChildren()}};D2.uiClass="";DG=D2,Sr=DG;ed=class td extends Sr{static create(n){return super.create(n)}static formats(n,i){let r=i.query(td.blotName);if(!(r!=null&&n.tagName===r.tagName)){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return n.tagName.toLowerCase()}}constructor(n,i){super(n,i),this.attributes=new Of(this.domNode)}format(n,i){if(n===this.statics.blotName&&!i)this.children.forEach(r=>{r instanceof td||(r=r.wrap(td.blotName,!0)),this.attributes.copy(r)}),this.unwrap();else{let r=this.scroll.query(n,rt.INLINE);if(r==null)return;r instanceof sr?this.attributes.attribute(r,i):i&&(n!==this.statics.blotName||this.formats()[n]!==i)&&this.replaceWith(n,i)}}formats(){let n=this.attributes.values(),i=this.statics.formats(this.domNode,this.scroll);return i!=null&&(n[this.statics.blotName]=i),n}formatAt(n,i,r,o){this.formats()[r]!=null||this.scroll.query(r,rt.ATTRIBUTE)?this.isolate(n,i).format(r,o):super.formatAt(n,i,r,o)}optimize(n){super.optimize(n);let i=this.formats();if(Object.keys(i).length===0)return this.unwrap();let r=this.next;r instanceof td&&r.prev===this&&jG(i,r.formats())&&(r.moveChildren(this),r.remove())}replaceWith(n,i){let r=super.replaceWith(n,i);return this.attributes.copy(r),r}update(n,i){super.update(n,i),n.some(r=>r.target===this.domNode&&r.type==="attributes")&&this.attributes.build()}wrap(n,i){let r=super.wrap(n,i);return r instanceof td&&this.attributes.move(r),r}};ed.allowedChildren=[ed,si],ed.blotName="inline",ed.scope=rt.INLINE_BLOT,ed.tagName="SPAN";qG=ed,bm=qG,nd=class D0 extends Sr{static create(n){return super.create(n)}static formats(n,i){let r=i.query(D0.blotName);if(!(r!=null&&n.tagName===r.tagName)){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return n.tagName.toLowerCase()}}constructor(n,i){super(n,i),this.attributes=new Of(this.domNode)}format(n,i){let r=this.scroll.query(n,rt.BLOCK);r!=null&&(r instanceof sr?this.attributes.attribute(r,i):n===this.statics.blotName&&!i?this.replaceWith(D0.blotName):i&&(n!==this.statics.blotName||this.formats()[n]!==i)&&this.replaceWith(n,i))}formats(){let n=this.attributes.values(),i=this.statics.formats(this.domNode,this.scroll);return i!=null&&(n[this.statics.blotName]=i),n}formatAt(n,i,r,o){this.scroll.query(r,rt.BLOCK)!=null?this.format(r,o):super.formatAt(n,i,r,o)}insertAt(n,i,r){if(r==null||this.scroll.query(i,rt.INLINE)!=null)super.insertAt(n,i,r);else{let o=this.split(n);if(o!=null){let u=this.scroll.create(i,r);o.parent.insertBefore(u,o)}else throw new Error("Attempt to insertAt after block boundaries")}}replaceWith(n,i){let r=super.replaceWith(n,i);return this.attributes.copy(r),r}update(n,i){super.update(n,i),n.some(r=>r.target===this.domNode&&r.type==="attributes")&&this.attributes.build()}};nd.blotName="block",nd.scope=rt.BLOCK_BLOT,nd.tagName="P",nd.allowedChildren=[bm,nd,si];zG=nd,sc=zG,j0=class extends Sr{checkMerge(){return this.next!==null&&this.next.statics.blotName===this.statics.blotName}deleteAt(n,i){super.deleteAt(n,i),this.enforceAllowedChildren()}formatAt(n,i,r,o){super.formatAt(n,i,r,o),this.enforceAllowedChildren()}insertAt(n,i,r){super.insertAt(n,i,r),this.enforceAllowedChildren()}optimize(n){super.optimize(n),this.children.length>0&&this.next!=null&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};j0.blotName="container",j0.scope=rt.BLOCK_BLOT;GG=j0,rd=GG,q0=class extends si{static formats(n,i){}format(n,i){super.formatAt(0,this.length(),n,i)}formatAt(n,i,r,o){n===0&&i===this.length()?this.format(r,o):super.formatAt(n,i,r,o)}formats(){return this.statics.formats(this.domNode,this.scroll)}},zn=q0,$G={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},BG=100,id=class extends Sr{constructor(n,i){super(null,i),this.registry=n,this.scroll=this,this.build(),this.observer=new MutationObserver(r=>{this.update(r)}),this.observer.observe(this.domNode,$G),this.attach()}create(n,i){return this.registry.create(this,n,i)}find(n,i=!1){let r=this.registry.find(n,i);return r?r.scroll===this?r:i?this.find(r.scroll.domNode.parentNode,!0):null:null}query(n,i=rt.ANY){return this.registry.query(n,i)}register(...n){return this.registry.register(...n)}build(){this.scroll!=null&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(n,i){this.update(),n===0&&i===this.length()?this.children.forEach(r=>{r.remove()}):super.deleteAt(n,i)}formatAt(n,i,r,o){this.update(),super.formatAt(n,i,r,o)}insertAt(n,i,r){this.update(),super.insertAt(n,i,r)}optimize(n=[],i={}){super.optimize(i);let r=i.mutationsMap||new WeakMap,o=Array.from(this.observer.takeRecords());for(;o.length>0;)n.push(o.pop());let u=(p,g=!0)=>{p==null||p===this||p.domNode.parentNode!=null&&(r.has(p.domNode)||r.set(p.domNode,[]),g&&u(p.parent))},c=p=>{r.has(p.domNode)&&(p instanceof Sr&&p.children.forEach(c),r.delete(p.domNode),p.optimize(i))},f=n;for(let p=0;f.length>0;p+=1){if(p>=BG)throw new Error("[Parchment] Maximum optimize iterations reached");for(f.forEach(g=>{let d=this.find(g.target,!0);d!=null&&(d.domNode===g.target&&(g.type==="childList"?(u(this.find(g.previousSibling,!1)),Array.from(g.addedNodes).forEach(v=>{let y=this.find(v,!1);u(y,!1),y instanceof Sr&&y.children.forEach(S=>{u(S,!1)})})):g.type==="attributes"&&u(d.prev)),u(d))}),this.children.forEach(c),f=Array.from(this.observer.takeRecords()),o=f.slice();o.length>0;)n.push(o.pop())}}update(n,i={}){n=n||this.observer.takeRecords();let r=new WeakMap;n.map(o=>{let u=this.find(o.target,!0);return u==null?null:r.has(u.domNode)?(r.get(u.domNode).push(o),null):(r.set(u.domNode,[o]),u)}).forEach(o=>{o!=null&&o!==this&&r.has(o.domNode)&&o.update(r.get(o.domNode)||[],i)}),i.mutationsMap=r,r.has(this.domNode)&&super.update(r.get(this.domNode),i),this.optimize(n,i)}};id.blotName="scroll",id.defaultChild=sc,id.allowedChildren=[sc,rd],id.scope=rt.BLOCK_BLOT,id.tagName="DIV";UG=id,Pf=UG,z0=class j2 extends si{static create(n){return document.createTextNode(n)}static value(n){return n.data}constructor(n,i){super(n,i),this.text=this.statics.value(this.domNode)}deleteAt(n,i){this.domNode.data=this.text=this.text.slice(0,n)+this.text.slice(n+i)}index(n,i){return this.domNode===n?i:-1}insertAt(n,i,r){r==null?(this.text=this.text.slice(0,n)+i+this.text.slice(n),this.domNode.data=this.text):super.insertAt(n,i,r)}length(){return this.text.length}optimize(n){super.optimize(n),this.text=this.statics.value(this.domNode),this.text.length===0?this.remove():this.next instanceof j2&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(n,i=!1){return[this.domNode,n]}split(n,i=!1){if(!i){if(n===0)return this;if(n===this.length())return this.next}let r=this.scroll.create(this.domNode.splitText(n));return this.parent.insertBefore(r,this.next||void 0),this.text=this.statics.value(this.domNode),r}update(n,i){n.some(r=>r.type==="characterData"&&r.target===this.domNode)&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};z0.blotName="text",z0.scope=rt.INLINE_BLOT;VG=z0,sd=VG});var X2=Qe((xfe,Y2)=>{var $r=-1,or=1,fi=0;function Ff(e,n,i,r,o){if(e===n)return e?[[fi,e]]:[];if(i!=null){var u=e$(e,n,i);if(u)return u}var c=$0(e,n),f=e.substring(0,c);e=e.substring(c),n=n.substring(c),c=xm(e,n);var p=e.substring(e.length-c);e=e.substring(0,e.length-c),n=n.substring(0,n.length-c);var g=WG(e,n);return f&&g.unshift([fi,f]),p&&g.push([fi,p]),B0(g,o),r&&XG(g),g}function WG(e,n){var i;if(!e)return[[or,n]];if(!n)return[[$r,e]];var r=e.length>n.length?e:n,o=e.length>n.length?n:e,u=r.indexOf(o);if(u!==-1)return i=[[or,r.substring(0,u)],[fi,o],[or,r.substring(u+o.length)]],e.length>n.length&&(i[0][0]=i[2][0]=$r),i;if(o.length===1)return[[$r,e],[or,n]];var c=YG(e,n);if(c){var f=c[0],p=c[1],g=c[2],d=c[3],v=c[4],y=Ff(f,g),S=Ff(p,d);return y.concat([[fi,v]],S)}return HG(e,n)}function HG(e,n){for(var i=e.length,r=n.length,o=Math.ceil((i+r)/2),u=o,c=2*o,f=new Array(c),p=new Array(c),g=0;gi)S+=2;else if(re>r)y+=2;else if(v){var z=u+d-O;if(z>=0&&z=Z)return q2(e,n,X,re)}}}for(var te=-I+w;te<=I-E;te+=2){var z=u+te,Z;te===-I||te!==I&&p[z-1]i)E+=2;else if(ee>r)w+=2;else if(!v){var H=u+d-te;if(H>=0&&H=Z)return q2(e,n,X,re)}}}}return[[$r,e],[or,n]]}function q2(e,n,i,r){var o=e.substring(0,i),u=n.substring(0,r),c=e.substring(i),f=n.substring(r),p=Ff(o,u),g=Ff(c,f);return p.concat(g)}function $0(e,n){if(!e||!n||e.charAt(0)!==n.charAt(0))return 0;for(var i=0,r=Math.min(e.length,n.length),o=r,u=0;ir?e=e.substring(i-r):in.length?e:n,r=e.length>n.length?n:e;if(i.length<4||r.length*2=S.length?[X,re,z,Z,H]:null}var u=o(i,r,Math.ceil(i.length/4)),c=o(i,r,Math.ceil(i.length/2)),f;if(!u&&!c)return null;c?u?f=u[4].length>c[4].length?u:c:f=c:f=u;var p,g,d,v;e.length>n.length?(p=f[0],g=f[1],d=f[2],v=f[3]):(d=f[0],v=f[1],p=f[2],g=f[3]);var y=f[4];return[p,g,d,v,y]}function XG(e){for(var n=!1,i=[],r=0,o=null,u=0,c=0,f=0,p=0,g=0;u0?i[r-1]:-1,c=0,f=0,p=0,g=0,o=null,n=!0)),u++;for(n&&B0(e),QG(e),u=1;u=S?(y>=d.length/2||y>=v.length/2)&&(e.splice(u,0,[fi,v.substring(0,y)]),e[u-1][1]=d.substring(0,d.length-y),e[u+1][1]=v.substring(y),u++):(S>=d.length/2||S>=v.length/2)&&(e.splice(u,0,[fi,d.substring(0,S)]),e[u-1][0]=or,e[u-1][1]=v.substring(0,v.length-S),e[u+1][0]=$r,e[u+1][1]=d.substring(S),u++),u++}u++}}var G2=/[^a-zA-Z0-9]/,$2=/\s/,B2=/[\r\n]/,ZG=/\n\r?\n$/,KG=/^\r?\n\r?\n/;function QG(e){function n(S,w){if(!S||!w)return 6;var E=S.charAt(S.length-1),I=w.charAt(0),O=E.match(G2),H=I.match(G2),X=O&&E.match($2),re=H&&I.match($2),z=X&&E.match(B2),Z=re&&I.match(B2),te=z&&S.match(ZG),ee=Z&&w.match(KG);return te||ee?5:z||Z?4:O&&!X&&re?3:X||re?2:O||H?1:0}for(var i=1;i=v&&(v=y,p=r,g=o,d=u)}e[i-1][1]!=p&&(p?e[i-1][1]=p:(e.splice(i-1,1),i--),e[i][1]=g,d?e[i+1][1]=d:(e.splice(i+1,1),i--))}i++}}function B0(e,n){e.push([fi,""]);for(var i=0,r=0,o=0,u="",c="",f;i=0&&H2(e[p][1])){var g=e[p][1].slice(-1);if(e[p][1]=e[p][1].slice(0,-1),u=g+u,c=g+c,!e[p][1]){e.splice(p,1),i--;var d=p-1;e[d]&&e[d][0]===or&&(o++,c=e[d][1]+c,d--),e[d]&&e[d][0]===$r&&(r++,u=e[d][1]+u,d--),p=d}}if(W2(e[i][1])){var g=e[i][1].charAt(0);e[i][1]=e[i][1].slice(1),u+=g,c+=g}}if(i0||c.length>0){u.length>0&&c.length>0&&(f=$0(c,u),f!==0&&(p>=0?e[p][1]+=c.substring(0,f):(e.splice(0,0,[fi,c.substring(0,f)]),i++),c=c.substring(f),u=u.substring(f)),f=xm(c,u),f!==0&&(e[i][1]=c.substring(c.length-f)+e[i][1],c=c.substring(0,c.length-f),u=u.substring(0,u.length-f)));var v=o+r;u.length===0&&c.length===0?(e.splice(i-v,v),i=i-v):u.length===0?(e.splice(i-v,v,[or,c]),i=i-v+1):c.length===0?(e.splice(i-v,v,[$r,u]),i=i-v+1):(e.splice(i-v,v,[$r,u],[or,c]),i=i-v+2)}i!==0&&e[i-1][0]===fi?(e[i-1][1]+=e[i][1],e.splice(i,1)):i++,o=0,r=0,u="",c="";break}}e[e.length-1][1]===""&&e.pop();var y=!1;for(i=1;i=55296&&e<=56319}function V2(e){return e>=56320&&e<=57343}function W2(e){return V2(e.charCodeAt(0))}function H2(e){return U2(e.charCodeAt(e.length-1))}function JG(e){for(var n=[],i=0;i0&&n.push(e[i]);return n}function G0(e,n,i,r){return H2(e)||W2(r)?null:JG([[fi,e],[$r,n],[or,i],[fi,r]])}function e$(e,n,i){var r=typeof i=="number"?{index:i,length:0}:i.oldRange,o=typeof i=="number"?null:i.newRange,u=e.length,c=n.length;if(r.length===0&&(o===null||o.length===0)){var f=r.index,p=e.slice(0,f),g=e.slice(f),d=o?o.index:null;e:{var v=f+c-u;if(d!==null&&d!==v||v<0||v>c)break e;var y=n.slice(0,v),S=n.slice(v);if(S!==g)break e;var w=Math.min(f,v),E=p.slice(0,w),I=y.slice(0,w);if(E!==I)break e;var O=p.slice(w),H=y.slice(w);return G0(E,O,H,g)}e:{if(d!==null&&d!==f)break e;var X=f,y=n.slice(0,X),S=n.slice(X);if(y!==p)break e;var re=Math.min(u-X,c-X),z=g.slice(g.length-re),Z=S.slice(S.length-re);if(z!==Z)break e;var O=g.slice(0,g.length-re),H=S.slice(0,S.length-re);return G0(p,O,H,z)}}if(r.length>0&&o&&o.length===0)e:{var E=e.slice(0,r.index),z=e.slice(r.index+r.length),w=E.length,re=z.length;if(c{var t$=200,eb="__lodash_hash_undefined__",Nm=1,aT=2,lT=9007199254740991,Sm="[object Arguments]",H0="[object Array]",n$="[object AsyncFunction]",cT="[object Boolean]",uT="[object Date]",dT="[object Error]",hT="[object Function]",i$="[object GeneratorFunction]",Em="[object Map]",fT="[object Number]",r$="[object Null]",ad="[object Object]",Z2="[object Promise]",s$="[object Proxy]",pT="[object RegExp]",Cm="[object Set]",gT="[object String]",o$="[object Symbol]",a$="[object Undefined]",Y0="[object WeakMap]",mT="[object ArrayBuffer]",Im="[object DataView]",l$="[object Float32Array]",c$="[object Float64Array]",u$="[object Int8Array]",d$="[object Int16Array]",h$="[object Int32Array]",f$="[object Uint8Array]",p$="[object Uint8ClampedArray]",g$="[object Uint16Array]",m$="[object Uint32Array]",_$=/[\\^$.*+?()[\]{}|]/g,y$=/^\[object .+?Constructor\]$/,v$=/^(?:0|[1-9]\d*)$/,Mn={};Mn[l$]=Mn[c$]=Mn[u$]=Mn[d$]=Mn[h$]=Mn[f$]=Mn[p$]=Mn[g$]=Mn[m$]=!0;Mn[Sm]=Mn[H0]=Mn[mT]=Mn[cT]=Mn[Im]=Mn[uT]=Mn[dT]=Mn[hT]=Mn[Em]=Mn[fT]=Mn[ad]=Mn[pT]=Mn[Cm]=Mn[gT]=Mn[Y0]=!1;var _T=typeof global=="object"&&global&&global.Object===Object&&global,b$=typeof self=="object"&&self&&self.Object===Object&&self,sa=_T||b$||Function("return this")(),yT=typeof Df=="object"&&Df&&!Df.nodeType&&Df,K2=yT&&typeof ld=="object"&&ld&&!ld.nodeType&&ld,vT=K2&&K2.exports===yT,U0=vT&&_T.process,Q2=function(){try{return U0&&U0.binding&&U0.binding("util")}catch{}}(),J2=Q2&&Q2.isTypedArray;function x$(e,n){for(var i=-1,r=e==null?0:e.length,o=0,u=[];++i-1}function K$(e,n){var i=this.__data__,r=Mm(i,e);return r<0?(++this.size,i.push([e,n])):i[r][1]=n,this}oa.prototype.clear=H$;oa.prototype.delete=Y$;oa.prototype.get=X$;oa.prototype.has=Z$;oa.prototype.set=K$;function lc(e){var n=-1,i=e==null?0:e.length;for(this.clear();++nf))return!1;var g=u.get(e);if(g&&u.get(n))return g==n;var d=-1,v=!0,y=i&aT?new Lm:void 0;for(u.set(e,n),u.set(n,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=lT}function LT(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function zf(e){return e!=null&&typeof e=="object"}var TT=J2?C$(J2):pB;function LB(e){return IB(e)?uB(e):gB(e)}function TB(){return[]}function NB(){return!1}ld.exports=kB});var NT=Qe(ib=>{"use strict";Object.defineProperty(ib,"__esModule",{value:!0});var RB=Ql(),MB=tb(),nb;(function(e){function n(u={},c={},f=!1){typeof u!="object"&&(u={}),typeof c!="object"&&(c={});let p=RB(c);f||(p=Object.keys(p).reduce((g,d)=>(p[d]!=null&&(g[d]=p[d]),g),{}));for(let g in u)u[g]!==void 0&&c[g]===void 0&&(p[g]=u[g]);return Object.keys(p).length>0?p:void 0}e.compose=n;function i(u={},c={}){typeof u!="object"&&(u={}),typeof c!="object"&&(c={});let f=Object.keys(u).concat(Object.keys(c)).reduce((p,g)=>(MB(u[g],c[g])||(p[g]=c[g]===void 0?null:c[g]),p),{});return Object.keys(f).length>0?f:void 0}e.diff=i;function r(u={},c={}){u=u||{};let f=Object.keys(c).reduce((p,g)=>(c[g]!==u[g]&&u[g]!==void 0&&(p[g]=c[g]),p),{});return Object.keys(u).reduce((p,g)=>(u[g]!==c[g]&&c[g]===void 0&&(p[g]=null),p),f)}e.invert=r;function o(u,c,f=!1){if(typeof u!="object")return c;if(typeof c!="object")return;if(!f)return c;let p=Object.keys(c).reduce((g,d)=>(u[d]===void 0&&(g[d]=c[d]),g),{});return Object.keys(p).length>0?p:void 0}e.transform=o})(nb||(nb={}));ib.default=nb});var ob=Qe(sb=>{"use strict";Object.defineProperty(sb,"__esModule",{value:!0});var rb;(function(e){function n(i){return typeof i.delete=="number"?i.delete:typeof i.retain=="number"?i.retain:typeof i.retain=="object"&&i.retain!==null?1:typeof i.insert=="string"?i.insert.length:1}e.length=n})(rb||(rb={}));sb.default=rb});var MT=Qe(lb=>{"use strict";Object.defineProperty(lb,"__esModule",{value:!0});var RT=ob(),ab=class{constructor(n){this.ops=n,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(n){n||(n=1/0);let i=this.ops[this.index];if(i){let r=this.offset,o=RT.default.length(i);if(n>=o-r?(n=o-r,this.index+=1,this.offset=0):this.offset+=n,typeof i.delete=="number")return{delete:n};{let u={};return i.attributes&&(u.attributes=i.attributes),typeof i.retain=="number"?u.retain=n:typeof i.retain=="object"&&i.retain!==null?u.retain=i.retain:typeof i.insert=="string"?u.insert=i.insert.substr(r,n):u.insert=i.insert,u}}else return{retain:1/0}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?RT.default.length(this.ops[this.index])-this.offset:1/0}peekType(){let n=this.ops[this.index];return n?typeof n.delete=="number"?"delete":typeof n.retain=="number"||typeof n.retain=="object"&&n.retain!==null?"retain":"insert":"retain"}rest(){if(this.hasNext()){if(this.offset===0)return this.ops.slice(this.index);{let n=this.offset,i=this.index,r=this.next(),o=this.ops.slice(this.index);return this.offset=n,this.index=i,[r].concat(o)}}else return[]}};lb.default=ab});var Br=Qe((la,Pm)=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.AttributeMap=la.OpIterator=la.Op=void 0;var Om=X2(),AB=Ql(),cb=tb(),uc=NT();la.AttributeMap=uc.default;var aa=ob();la.Op=aa.default;var fs=MT();la.OpIterator=fs.default;var OB="\0",AT=(e,n)=>{if(typeof e!="object"||e===null)throw new Error(`cannot retain a ${typeof e}`);if(typeof n!="object"||n===null)throw new Error(`cannot retain a ${typeof n}`);let i=Object.keys(e)[0];if(!i||i!==Object.keys(n)[0])throw new Error(`embed types not matched: ${i} != ${Object.keys(n)[0]}`);return[i,e[i],n[i]]},ca=class e{constructor(n){Array.isArray(n)?this.ops=n:n!=null&&Array.isArray(n.ops)?this.ops=n.ops:this.ops=[]}static registerEmbed(n,i){this.handlers[n]=i}static unregisterEmbed(n){delete this.handlers[n]}static getHandler(n){let i=this.handlers[n];if(!i)throw new Error(`no handlers for embed type "${n}"`);return i}insert(n,i){let r={};return typeof n=="string"&&n.length===0?this:(r.insert=n,i!=null&&typeof i=="object"&&Object.keys(i).length>0&&(r.attributes=i),this.push(r))}delete(n){return n<=0?this:this.push({delete:n})}retain(n,i){if(typeof n=="number"&&n<=0)return this;let r={retain:n};return i!=null&&typeof i=="object"&&Object.keys(i).length>0&&(r.attributes=i),this.push(r)}push(n){let i=this.ops.length,r=this.ops[i-1];if(n=AB(n),typeof r=="object"){if(typeof n.delete=="number"&&typeof r.delete=="number")return this.ops[i-1]={delete:r.delete+n.delete},this;if(typeof r.delete=="number"&&n.insert!=null&&(i-=1,r=this.ops[i-1],typeof r!="object"))return this.ops.unshift(n),this;if(cb(n.attributes,r.attributes)){if(typeof n.insert=="string"&&typeof r.insert=="string")return this.ops[i-1]={insert:r.insert+n.insert},typeof n.attributes=="object"&&(this.ops[i-1].attributes=n.attributes),this;if(typeof n.retain=="number"&&typeof r.retain=="number")return this.ops[i-1]={retain:r.retain+n.retain},typeof n.attributes=="object"&&(this.ops[i-1].attributes=n.attributes),this}}return i===this.ops.length?this.ops.push(n):this.ops.splice(i,0,n),this}chop(){let n=this.ops[this.ops.length-1];return n&&typeof n.retain=="number"&&!n.attributes&&this.ops.pop(),this}filter(n){return this.ops.filter(n)}forEach(n){this.ops.forEach(n)}map(n){return this.ops.map(n)}partition(n){let i=[],r=[];return this.forEach(o=>{(n(o)?i:r).push(o)}),[i,r]}reduce(n,i){return this.ops.reduce(n,i)}changeLength(){return this.reduce((n,i)=>i.insert?n+aa.default.length(i):i.delete?n-i.delete:n,0)}length(){return this.reduce((n,i)=>n+aa.default.length(i),0)}slice(n=0,i=1/0){let r=[],o=new fs.default(this.ops),u=0;for(;u0&&r.next(u.retain-f)}let c=new e(o);for(;i.hasNext()||r.hasNext();)if(r.peekType()==="insert")c.push(r.next());else if(i.peekType()==="delete")c.push(i.next());else{let f=Math.min(i.peekLength(),r.peekLength()),p=i.next(f),g=r.next(f);if(g.retain){let d={};if(typeof p.retain=="number")d.retain=typeof g.retain=="number"?f:g.retain;else if(typeof g.retain=="number")p.retain==null?d.insert=p.insert:d.retain=p.retain;else{let y=p.retain==null?"insert":"retain",[S,w,E]=AT(p[y],g.retain),I=e.getHandler(S);d[y]={[S]:I.compose(w,E,y==="retain")}}let v=uc.default.compose(p.attributes,g.attributes,typeof p.retain=="number");if(v&&(d.attributes=v),c.push(d),!r.hasNext()&&cb(c.ops[c.ops.length-1],d)){let y=new e(i.rest());return c.concat(y).chop()}}else typeof g.delete=="number"&&(typeof p.retain=="number"||typeof p.retain=="object"&&p.retain!==null)&&c.push(g)}return c.chop()}concat(n){let i=new e(this.ops.slice());return n.ops.length>0&&(i.push(n.ops[0]),i.ops=i.ops.concat(n.ops.slice(1))),i}diff(n,i){if(this.ops===n.ops)return new e;let r=[this,n].map(p=>p.map(g=>{if(g.insert!=null)return typeof g.insert=="string"?g.insert:OB;let d=p===n?"on":"with";throw new Error("diff() called "+d+" non-document")}).join("")),o=new e,u=Om(r[0],r[1],i,!0),c=new fs.default(this.ops),f=new fs.default(n.ops);return u.forEach(p=>{let g=p[1].length;for(;g>0;){let d=0;switch(p[0]){case Om.INSERT:d=Math.min(f.peekLength(),g),o.push(f.next(d));break;case Om.DELETE:d=Math.min(g,c.peekLength()),c.next(d),o.delete(d);break;case Om.EQUAL:d=Math.min(c.peekLength(),f.peekLength(),g);let v=c.next(d),y=f.next(d);cb(v.insert,y.insert)?o.retain(d,uc.default.diff(v.attributes,y.attributes)):o.push(y).delete(d);break}g-=d}}),o.chop()}eachLine(n,i=` -`){let r=new fs.default(this.ops),o=new e,u=0;for(;r.hasNext();){if(r.peekType()!=="insert")return;let c=r.peek(),f=aa.default.length(c)-r.peekLength(),p=typeof c.insert=="string"?c.insert.indexOf(i,f)-f:-1;if(p<0)o.push(r.next());else if(p>0)o.push(r.next(p));else{if(n(o,r.next(1).attributes||{},u)===!1)return;u+=1,o=new e}}o.length()>0&&n(o,{},u)}invert(n){let i=new e;return this.reduce((r,o)=>{if(o.insert)i.delete(aa.default.length(o));else{if(typeof o.retain=="number"&&o.attributes==null)return i.retain(o.retain),r+o.retain;if(o.delete||typeof o.retain=="number"){let u=o.delete||o.retain;return n.slice(r,r+u).forEach(f=>{o.delete?i.push(f):o.retain&&o.attributes&&i.retain(aa.default.length(f),uc.default.invert(o.attributes,f.attributes))}),r+u}else if(typeof o.retain=="object"&&o.retain!==null){let u=n.slice(r,r+1),c=new fs.default(u.ops).next(),[f,p,g]=AT(o.retain,c.insert),d=e.getHandler(f);return i.retain({[f]:d.invert(p,g)},uc.default.invert(o.attributes,c.attributes)),r+1}}return r},0),i.chop()}transform(n,i=!1){if(i=!!i,typeof n=="number")return this.transformPosition(n,i);let r=n,o=new fs.default(this.ops),u=new fs.default(r.ops),c=new e;for(;o.hasNext()||u.hasNext();)if(o.peekType()==="insert"&&(i||u.peekType()!=="insert"))c.retain(aa.default.length(o.next()));else if(u.peekType()==="insert")c.push(u.next());else{let f=Math.min(o.peekLength(),u.peekLength()),p=o.next(f),g=u.next(f);if(p.delete)continue;if(g.delete)c.push(g);else{let d=p.retain,v=g.retain,y=typeof v=="object"&&v!==null?v:f;if(typeof d=="object"&&d!==null&&typeof v=="object"&&v!==null){let S=Object.keys(d)[0];if(S===Object.keys(v)[0]){let w=e.getHandler(S);w&&(y={[S]:w.transform(d[S],v[S],i)})}}c.retain(y,uc.default.transform(p.attributes,g.attributes,i))}}return c.chop()}transformPosition(n,i=!1){i=!!i;let r=new fs.default(this.ops),o=0;for(;r.hasNext()&&o<=n;){let u=r.peekLength(),c=r.peekType();if(r.next(),c==="delete"){n-=Math.min(u,n-o);continue}else c==="insert"&&(o{xn();$f=class extends zn{static value(){}optimize(){(this.prev||this.next)&&this.remove()}length(){return 0}value(){return""}};$f.blotName="break";$f.tagName="BR";$i=$f});function dc(e){return e.replace(/[&<>"']/g,n=>PB[n])}var Kn,PB,ua=W(()=>{xn();Kn=class extends sd{},PB={"&":"&","<":"<",">":">",'"':""","'":"'"}});var ub,Bi,da=W(()=>{xn();rl();ua();ub=class e extends bm{static allowedChildren=[e,$i,zn,Kn];static order=["cursor","inline","link","underline","strike","italic","bold","script","code"];static compare(n,i){let r=e.order.indexOf(n),o=e.order.indexOf(i);return r>=0||o>=0?r-o:n===i?0:n0){let i=this.parent.isolate(this.offset(),this.length());this.moveChildren(i),i.wrap(this)}}},Bi=ub});function hb(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.descendants(si).reduce((i,r)=>r.length()===0?i:i.insert(r.value(),Cr(r,{},n)),new db.default).insert(` -`,Cr(e))}function Cr(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e==null||("formats"in e&&typeof e.formats=="function"&&(n={...n,...e.formats()},i&&delete n["code-token"]),e.parent==null||e.parent.statics.blotName==="scroll"||e.parent.statics.scope!==e.statics.scope)?n:Cr(e.parent,n,i)}var db,OT,wn,pi,ps=W(()=>{xn();db=hn(Br(),1);rl();da();ua();OT=1,wn=class extends sc{cache={};delta(){return this.cache.delta==null&&(this.cache.delta=hb(this)),this.cache.delta}deleteAt(n,i){super.deleteAt(n,i),this.cache={}}formatAt(n,i,r,o){i<=0||(this.scroll.query(r,rt.BLOCK)?n+i===this.length()&&this.format(r,o):super.formatAt(n,Math.min(i,this.length()-n-1),r,o),this.cache={})}insertAt(n,i,r){if(r!=null){super.insertAt(n,i,r),this.cache={};return}if(i.length===0)return;let o=i.split(` -`),u=o.shift();u.length>0&&(n(c=c.split(f,!0),c.insertAt(0,p),p.length),n+u.length)}insertBefore(n,i){let{head:r}=this.children;super.insertBefore(n,i),r instanceof $i&&r.remove(),this.cache={}}length(){return this.cache.length==null&&(this.cache.length=super.length()+OT),this.cache.length}moveChildren(n,i){super.moveChildren(n,i),this.cache={}}optimize(n){super.optimize(n),this.cache={}}path(n){return super.path(n,!0)}removeChild(n){super.removeChild(n),this.cache={}}split(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(i&&(n===0||n>=this.length()-OT)){let o=this.clone();return n===0?(this.parent.insertBefore(o,this),this):(this.parent.insertBefore(o,this.next),o)}let r=super.split(n,i);return this.cache={},r}};wn.blotName="block";wn.tagName="P";wn.defaultChild=$i;wn.allowedChildren=[$i,Bi,zn,Kn];pi=class extends zn{attach(){super.attach(),this.attributes=new Of(this.domNode)}delta(){return new db.default().insert(this.value(),{...this.formats(),...this.attributes.values()})}format(n,i){let r=this.scroll.query(n,rt.BLOCK_ATTRIBUTE);r!=null&&this.attributes.attribute(r,i)}formatAt(n,i,r,o){this.format(r,o)}insertAt(n,i,r){if(r!=null){super.insertAt(n,i,r);return}let o=i.split(` -`),u=o.pop(),c=o.map(p=>{let g=this.scroll.create(wn.blotName);return g.insertAt(0,p),g}),f=this.split(n);c.forEach(p=>{this.parent.insertBefore(p,f)}),u&&this.parent.insertBefore(this.scroll.create("text",u),f)}};pi.scope=rt.BLOCK_BLOT});var fb,sl,Bf=W(()=>{xn();ua();fb=class e extends zn{static blotName="cursor";static className="ql-cursor";static tagName="span";static CONTENTS="\uFEFF";static value(){}constructor(n,i,r){super(n,i),this.selection=r,this.textNode=document.createTextNode(e.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){this.parent!=null&&this.parent.removeChild(this)}format(n,i){if(this.savedLength!==0){super.format(n,i);return}let r=this,o=0;for(;r!=null&&r.statics.scope!==rt.BLOCK_BLOT;)o+=r.offset(r.parent),r=r.parent;r!=null&&(this.savedLength=e.CONTENTS.length,r.optimize(),r.formatAt(o,e.CONTENTS.length,n,i),this.savedLength=0)}index(n,i){return n===this.textNode?0:super.index(n,i)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){if(this.selection.composing||this.parent==null)return null;let n=this.selection.getNativeRange();for(;this.domNode.lastChild!=null&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);let i=this.prev instanceof Kn?this.prev:null,r=i?i.length():0,o=this.next instanceof Kn?this.next:null,u=o?o.text:"",{textNode:c}=this,f=c.data.split(e.CONTENTS).join("");c.data=e.CONTENTS;let p;if(i)p=i,(f||o)&&(i.insertAt(i.length(),f+u),o&&o.remove());else if(o)p=o,o.insertAt(0,f);else{let g=document.createTextNode(f);p=this.scroll.create(g),this.parent.insertBefore(p,this)}if(this.remove(),n){let g=(y,S)=>i&&y===i.domNode?S:y===c?r+S-1:o&&y===o.domNode?r+f.length+S:null,d=g(n.start.node,n.start.offset),v=g(n.end.node,n.end.offset);if(d!==null&&v!==null)return{startNode:p.domNode,startOffset:d,endNode:p.domNode,endOffset:v}}return null}update(n,i){if(n.some(r=>r.type==="characterData"&&r.target===this.textNode)){let r=this.restore();r&&(i.range=r)}}optimize(n){super.optimize(n);let{parent:i}=this;for(;i;){if(i.domNode.tagName==="A"){this.savedLength=e.CONTENTS.length,i.isolate(this.offset(i),this.length()).unwrap(),this.savedLength=0;break}i=i.parent}}value(){return""}},sl=fb});var FT=Qe((Gfe,pb)=>{"use strict";var FB=Object.prototype.hasOwnProperty,ar="~";function Uf(){}Object.create&&(Uf.prototype=Object.create(null),new Uf().__proto__||(ar=!1));function DB(e,n,i){this.fn=e,this.context=n,this.once=i||!1}function PT(e,n,i,r,o){if(typeof i!="function")throw new TypeError("The listener must be a function");var u=new DB(i,r||e,o),c=ar?ar+n:n;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],u]:e._events[c].push(u):(e._events[c]=u,e._eventsCount++),e}function Fm(e,n){--e._eventsCount===0?e._events=new Uf:delete e._events[n]}function Ui(){this._events=new Uf,this._eventsCount=0}Ui.prototype.eventNames=function(){var n=[],i,r;if(this._eventsCount===0)return n;for(r in i=this._events)FB.call(i,r)&&n.push(ar?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(i)):n};Ui.prototype.listeners=function(n){var i=ar?ar+n:n,r=this._events[i];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,u=r.length,c=new Array(u);o{gb=hn(FT(),1)});var Vf,mb=W(()=>{Vf=new WeakMap});function jT(e){if(yb&&_b.indexOf(e)<=_b.indexOf(yb)){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r(n[i]=jT.bind(console,i,e),n),{})}var _b,yb,Ur,hc=W(()=>{_b=["error","warn","log","info"],yb="warn";vb.level=e=>{yb=e};jT.level=vb.level;Ur=vb});var bb,jB,xb,ot,ha=W(()=>{DT();mb();hc();bb=Ur("quill:events"),jB=["selectionchange","mousedown","mouseup","click"];jB.forEach(e=>{document.addEventListener(e,function(){for(var n=arguments.length,i=new Array(n),r=0;r{let u=Vf.get(o);u&&u.emitter&&u.emitter.handleDOM(...i)})})});xb=class extends gb.default{static events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"};static sources={API:"api",SILENT:"silent",USER:"user"};constructor(){super(),this.domListeners={},this.on("error",bb.error)}emit(){for(var n=arguments.length,i=new Array(n),r=0;r1?i-1:0),o=1;o{let{node:c,handler:f}=u;(n.target===c||c.contains(n.target))&&f(n,...r)})}listenDOM(n,i,r){this.domListeners[n]||(this.domListeners[n]=[]),this.domListeners[n].push({node:i,handler:r})}},ot=xb});function Sb(e,n){try{n.parentNode}catch{return!1}return e.contains(n)}var wb,Vi,Eb,qT,Wf=W(()=>{xn();Qa();ha();hc();wb=Ur("quill:selection"),Vi=class{constructor(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;this.index=n,this.length=i}},Eb=class{constructor(n,i){this.emitter=i,this.scroll=n,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new Vi(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,()=>{!this.mouseDown&&!this.composing&&setTimeout(this.update.bind(this,ot.sources.USER),1)}),this.emitter.on(ot.events.SCROLL_BEFORE_UPDATE,()=>{if(!this.hasFocus())return;let r=this.getNativeRange();r!=null&&r.start.node!==this.cursor.textNode&&this.emitter.once(ot.events.SCROLL_UPDATE,(o,u)=>{try{this.root.contains(r.start.node)&&this.root.contains(r.end.node)&&this.setNativeRange(r.start.node,r.start.offset,r.end.node,r.end.offset);let c=u.some(f=>f.type==="characterData"||f.type==="childList"||f.type==="attributes"&&f.target===this.root);this.update(c?ot.sources.SILENT:o)}catch{}})}),this.emitter.on(ot.events.SCROLL_OPTIMIZE,(r,o)=>{if(o.range){let{startNode:u,startOffset:c,endNode:f,endOffset:p}=o.range;this.setNativeRange(u,c,f,p),this.update(ot.sources.SILENT)}}),this.update(ot.sources.SILENT)}handleComposition(){this.emitter.on(ot.events.COMPOSITION_BEFORE_START,()=>{this.composing=!0}),this.emitter.on(ot.events.COMPOSITION_END,()=>{if(this.composing=!1,this.cursor.parent){let n=this.cursor.restore();if(!n)return;setTimeout(()=>{this.setNativeRange(n.startNode,n.startOffset,n.endNode,n.endOffset)},1)}})}handleDragging(){this.emitter.listenDOM("mousedown",document.body,()=>{this.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,()=>{this.mouseDown=!1,this.update(ot.sources.USER)})}focus(){this.hasFocus()||(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(n,i){this.scroll.update();let r=this.getNativeRange();if(!(r==null||!r.native.collapsed||this.scroll.query(n,rt.BLOCK))){if(r.start.node!==this.cursor.textNode){let o=this.scroll.find(r.start.node,!1);if(o==null)return;if(o instanceof si){let u=o.split(r.start.offset);o.parent.insertBefore(this.cursor,u)}else o.insertBefore(this.cursor,r.start.node);this.cursor.attach()}this.cursor.format(n,i),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=this.scroll.length();n=Math.min(n,r-1),i=Math.min(n+i,r-1)-n;let o,[u,c]=this.scroll.leaf(n);if(u==null)return null;if(i>0&&c===u.length()){let[d]=this.scroll.leaf(n+1);if(d){let[v]=this.scroll.line(n),[y]=this.scroll.line(n+1);v===y&&(u=d,c=0)}}[o,c]=u.position(c,!0);let f=document.createRange();if(i>0)return f.setStart(o,c),[u,c]=this.scroll.leaf(n+i),u==null?null:([o,c]=u.position(c,!0),f.setEnd(o,c),f.getBoundingClientRect());let p="left",g;if(o instanceof Text){if(!o.data.length)return null;c0&&(p="right")}return{bottom:g.top+g.height,height:g.height,left:g[p],right:g[p],top:g.top,width:0}}getNativeRange(){let n=document.getSelection();if(n==null||n.rangeCount<=0)return null;let i=n.getRangeAt(0);if(i==null)return null;let r=this.normalizeNative(i);return wb.info("getNativeRange",r),r}getRange(){let n=this.scroll.domNode;if("isConnected"in n&&!n.isConnected)return[null,null];let i=this.getNativeRange();return i==null?[null,null]:[this.normalizedToRange(i),i]}hasFocus(){return document.activeElement===this.root||document.activeElement!=null&&Sb(this.root,document.activeElement)}normalizedToRange(n){let i=[[n.start.node,n.start.offset]];n.native.collapsed||i.push([n.end.node,n.end.offset]);let r=i.map(c=>{let[f,p]=c,g=this.scroll.find(f,!0),d=g.offset(this.scroll);return p===0?d:g instanceof si?d+g.index(f,p):d+g.length()}),o=Math.min(Math.max(...r),this.scroll.length()-1),u=Math.min(o,...r);return new Vi(u,o-u)}normalizeNative(n){if(!Sb(this.root,n.startContainer)||!n.collapsed&&!Sb(this.root,n.endContainer))return null;let i={start:{node:n.startContainer,offset:n.startOffset},end:{node:n.endContainer,offset:n.endOffset},native:n};return[i.start,i.end].forEach(r=>{let{node:o,offset:u}=r;for(;!(o instanceof Text)&&o.childNodes.length>0;)if(o.childNodes.length>u)o=o.childNodes[u],u=0;else if(o.childNodes.length===u)o=o.lastChild,o instanceof Text?u=o.data.length:o.childNodes.length>0?u=o.childNodes.length:u=o.childNodes.length+1;else break;r.node=o,r.offset=u}),i}rangeToNative(n){let i=this.scroll.length(),r=(o,u)=>{o=Math.min(i-1,o);let[c,f]=this.scroll.leaf(o);return c?c.position(f,u):[null,-1]};return[...r(n.index,!1),...r(n.index+n.length,!0)]}setNativeRange(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:i,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(wb.info("setNativeRange",n,i,r,o),n!=null&&(this.root.parentNode==null||n.parentNode==null||r.parentNode==null))return;let c=document.getSelection();if(c!=null)if(n!=null){this.hasFocus()||this.root.focus({preventScroll:!0});let{native:f}=this.getNativeRange()||{};if(f==null||u||n!==f.startContainer||i!==f.startOffset||r!==f.endContainer||o!==f.endOffset){n instanceof Element&&n.tagName==="BR"&&(i=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode),r instanceof Element&&r.tagName==="BR"&&(o=Array.from(r.parentNode.childNodes).indexOf(r),r=r.parentNode);let p=document.createRange();p.setStart(n,i),p.setEnd(r,o),c.removeAllRanges(),c.addRange(p)}}else c.removeAllRanges(),this.root.blur()}setRange(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ot.sources.API;if(typeof i=="string"&&(r=i,i=!1),wb.info("setRange",n),n!=null){let o=this.rangeToNative(n);this.setNativeRange(...o,i)}else this.setNativeRange(null);this.update(r)}update(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ot.sources.USER,i=this.lastRange,[r,o]=this.getRange();if(this.lastRange=r,this.lastNative=o,this.lastRange!=null&&(this.savedRange=this.lastRange),!rc(i,this.lastRange)){if(!this.composing&&o!=null&&o.native.collapsed&&o.start.node!==this.cursor.textNode){let c=this.cursor.restore();c&&this.setNativeRange(c.startNode,c.startOffset,c.endNode,c.endOffset)}let u=[ot.events.SELECTION_CHANGE,mo(this.lastRange),mo(i),n];this.emitter.emit(ot.events.EDITOR_CHANGE,...u),n!==ot.sources.SILENT&&this.emitter.emit(...u)}}};qT=Eb});function ud(e,n,i){if(e.length===0){let[S]=Cb(i.pop());return n<=0?``:`${ud([],n-1,i)}`}let[{child:r,offset:o,length:u,indent:c,type:f},...p]=e,[g,d]=Cb(f);if(c>n)return i.push(f),c===n+1?`<${g}>${Hf(r,o,u)}${ud(p,c,i)}`:`<${g}>
  • ${ud(e,n+1,i)}`;let v=i[i.length-1];if(c===n&&f===v)return`
  • ${Hf(r,o,u)}${ud(p,c,i)}`;let[y]=Cb(i.pop());return`${ud(e,n-1,i)}`}function Hf(e,n,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if("html"in e&&typeof e.html=="function")return e.html(n,i);if(e instanceof Kn)return dc(e.value().slice(n,n+i)).replaceAll(" "," ");if(e instanceof Sr){if(e.statics.blotName==="list-container"){let g=[];return e.children.forEachAt(n,i,(d,v,y)=>{let S="formats"in d&&typeof d.formats=="function"?d.formats():{};g.push({child:d,offset:v,length:y,indent:S.indent||0,type:S.list})}),ud(g,-1,[])}let o=[];if(e.children.forEachAt(n,i,(g,d,v)=>{o.push(Hf(g,d,v))}),r||e.statics.blotName==="list")return o.join("");let{outerHTML:u,innerHTML:c}=e.domNode,[f,p]=u.split(`>${c}<`);return f==="${o.join("")}<${p}`:`${f}>${o.join("")}<${p}`}return e.domNode instanceof Element?e.domNode.outerHTML:""}function zB(e,n){return Object.keys(n).reduce((i,r)=>{if(e[r]==null)return i;let o=n[r];return o===e[r]?i[r]=o:Array.isArray(o)?o.indexOf(e[r])<0?i[r]=o.concat([e[r]]):i[r]=o:i[r]=[o,e[r]],i},{})}function Cb(e){let n=e==="ordered"?"ol":"ul";switch(e){case"checked":return[n,' data-list="checked"'];case"unchecked":return[n,' data-list="unchecked"'];default:return[n,""]}}function zT(e){return e.reduce((n,i)=>{if(typeof i.insert=="string"){let r=i.insert.replace(/\r\n/g,` + `),this.state.validate.message=this.state.info||n):this.state.validate.message=this.state.info||`${He("sdk.form.inputs.input_validation_error_type")} ( ${He("sdk.form.inputs."+this.state.type)} )`}setUpdate(){let{value:n,_value:i}=this.state;this.state.input.type==="media"&&wi(n)!=="Object"&&wi(i)!=="Object"?this.state.update=n.value!=i.value:this.state.input.type==="datetimepicker"?this.state.update=(n!==null?n.toUpperCase():n)!=(i&&i.toUpperCase()):this.state.update=n!=i}}});var wC=Qe((hse,xC)=>{var GD=Si();xC.exports=class extends GD{constructor(n={}){super(n)}}});var EC=Qe((pse,SC)=>{var $D=Si();SC.exports=class extends $D{constructor(n={}){super(n)}}});var IC=Qe((mse,CC)=>{var BD=Si();CC.exports=class extends BD{constructor(n={}){super(n)}}});var LC=Qe((yse,kC)=>{var UD=Si();kC.exports=class extends UD{constructor(n={}){n.validatorOptions={values:n.state.input.options.values.map(i=>i)},super(n)}}});var NC=Qe((bse,TC)=>{var VD=Si();TC.exports=class extends VD{constructor(n={}){let{min:i,max:r}=n.state.input.options.values[0];n.state.info=`[MIN: ${i} - MAX: ${r}]`,super(n),this.setValidator({validate(o){return o=1*o,o>=1*i&&o<=1*r}})}isValueInRange(n,i,r){return n<=r&&n>=i}}});function yf(e){e=e.replace(/y/g,"Y");let n=e.match(/d/g);return n&&n.length<3&&(e=e.replace(/d/g,"D")),e}var e0=W(()=>{});var MC=Qe((Ese,RC)=>{e0();var WD=Si();RC.exports=class extends WD{constructor(n={}){super(n),this.validatorOptions={}}getLocale(){return window.initConfig.user.i18n?window.initConfig.user.i18n:"en"}convertQGISDateTimeFormatToMoment(n){return yf(n)}setValidatorOptions(n={}){this.validatorOptions=n}}});var OC=Qe((Ise,AC)=>{var HD=Si();AC.exports=class extends HD{constructor(n={}){super(n)}}});var t0=Qe((Tse,PC)=>{Bn();var YD=Si();PC.exports=class extends YD{constructor(n={}){super(n),this.layer=null}_getLayerById(n){return st(n)}addValue(n){this.state.input.options.values.push(n)}sortValues(){let{orderbyvalue:n}=this.state.input.options;this.state.input.options.values.sort((i,r)=>{let o=i[n?"value":"key"],u=r[n?"value":"key"];return ou?1:0})}getKeyByValue({search:n}={}){let{value:i,key:r}=this.state.input.options;return new Promise((o,u)=>{this.getData({key:r,value:i,search:n}).then(c=>{c.forEach(({$value:f,text:p})=>{this.addValue({key:f,value:p})}),this.sortValues(),o(this.state.input.options.values)}).catch(c=>{console.warn(c),u(c)})})}getData({layer_id:n=this.state.input.options.layer_id,key:i=this.state.input.options.key,value:r=this.state.input.options.value,search:o}={}){return new Promise((u,c)=>{this._layer||(this._layer=this._getLayerById(n)),this._layer.getDataTable({[Array.isArray(o)?"field":"suggest"]:Array.isArray(o)?o.map((f,p)=>[].concat(o[p]).map(g=>`${i}|eq|${encodeURIComponent(g)}`).join("|null,")).join("|OR,")||"":`${i}|${o}`.trim(),ordering:this.state.input.options.orderbyvalue?r:i}).then(f=>{let p=f.features.map(g=>({text:g.properties[i],id:g.properties[r],$value:g.properties[r]}));u(p)}).fail(f=>{console.warn(f),c(f)})})}}});var DC=Qe((Rse,FC)=>{var XD=Si();FC.exports=class extends XD{constructor(n={}){super(n)}}});var qC=Qe((Mse,jC)=>{var ZD=Si(),n0=class extends ZD{constructor(n={}){let{state:i}=n;n.state.info=`[MIN: ${i.input.options.min} - MAX: ${i.input.options.max}]`,super(n),this.setValidator({validate(r){return r=1*r,r>=1*n.state.input.options.min&&r<=1*n.state.input.options.max}})}validate(){this.state.value=1*this.state.value,this.state.validate.valid=this.state.value>=this.state.input.options.min||this.state.value<=this.state.input.options.max}changeInfoMessage(){this.state.info=`[MIN: ${this.state.input.options.min} - MAX: ${this.state.input.options.max}]`}};jC.exports=n0});var GC=Qe((Pse,zC)=>{bt();var KD=Si();zC.exports=class extends KD{constructor(n={}){super(n),this.coordinatebutton,this.mapService=U.getService("map"),this.mapEpsg=this.mapService.getCrs(),this.mapControlToggleEventHandler=i=>{i.target.isToggled()&&i.target.isClickMap()&&this.coordinatebutton.active&&this.toggleGetCoordinate()},this.map=this.mapService.getMap(),this.outputEpsg=this.state.epsg||this.mapEpsg,this.eventMapKey}setCoordinateButtonReactiveObject(n){this.coordinatebutton=n}validate(){this.state.values.lon<-180?this.state.values.lon=-180:this.state.values.lon>180&&(this.state.values.lon=180),this.state.values.lat<-90?this.state.values.lon=-90:this.state.values.lat>90&&(this.state.values.lon=90),this.state.validate.valid=!Number.isNaN(1*this.state.values.lon)}toggleGetCoordinate(){this.coordinatebutton.active=!this.coordinatebutton.active,this.coordinatebutton.active?this.startToGetCoordinates():this.stopToGetCoordinates()}startToGetCoordinates(){this.mapService.deactiveMapControls(),this.mapService.on("mapcontrol:toggled",this.mapControlToggleEventHandler),this.eventMapKey=this.map.on("click",n=>{n.originalEvent.stopPropagation(),n.preventDefault();let i=this.mapEpsg!==this.outputEpsg?ol.proj.transform(n.coordinate,this.mapEpsg,this.outputEpsg):n.coordinate;this.state.value=[i];let[r,o]=i;this.state.values.lon=r,this.state.values.lat=o})}stopToGetCoordinates(){ol.Observable.unByKey(this.eventMapKey),this.mapService.off("mapcontrol:toggled",this.mapControlToggleEventHandler)}clear(){this.stopToGetCoordinates()}}});var BC=Qe((Fse,$C)=>{var QD={text:Si(),textarea:Si(),texthtml:Si(),integer:wC(),string:Si(),float:EC(),radio:IC(),check:LC(),range:NC(),datetimepicker:MC(),unique:OC(),select:t0(),media:DC(),select_autocomplete:t0(),picklayer:Si(),color:Si(),slider:qC(),lonlat:GC()};$C.exports=QD});var Ti=Qe((zse,UC)=>{vt();yC();rr();var JD=BC(),ej={props:["state"],mixins:[Mu],components:{baseinput:_C},watch:{notvalid(e){e&&this.service.setErrorMessage()},"state.value"(){this.state.input.options.default_expression!==void 0&&setTimeout(()=>this.change())}},created(){this.service=new JD[this.state.input.type]({state:this.state}),this.$watch(()=>V.language,async()=>{this.state.visible&&(this.state.visible=!1,this.service.setErrorMessage(),await this.$nextTick(),this.state.visible=!0)}),this.state.editable&&this.state.validate.required&&this.service.validate(),this.$emit("addinput",this.state),this.state.value_from_default_value&&this.$emit("changeinput",this.state)},destroyed(){this.$emit("removeinput",this.state)}};UC.exports=ej});function cj(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputText.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var tj,nj,ij,rj,sj,oj,aj,lj,uj,Au,Fg=W(()=>{tj=Ti(),nj={name:"input-text",mixins:[tj]},ij=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},attrs:{slot:"body",placeholder:e.state.default,tabIndex:e.tabIndex,field:e.state.name,id:e.state.name},domProps:{value:e.state.value},on:{keyup:function(r){e.isMobile()?e.mobileChange(r):e.change()},input:function(r){r.target.composing||e.$set(e.state,"value",r.target.value)}},slot:"body"})])},rj=[],sj=void 0,oj=void 0,aj=void 0,lj=!1;uj=cj({render:ij,staticRenderFns:rj},sj,nj,oj,lj,aj,!1,void 0,void 0,void 0),Au=uj});var vf=Qe((Bse,VC)=>{Fg();var dj=Vue.extend(Au);VC.exports=dj});var hj,Dg,i0=W(()=>{hj=typeof global=="object"&&global&&global.Object===Object&&global,Dg=hj});var fj,pj,ii,zs=W(()=>{i0();fj=typeof self=="object"&&self&&self.Object===Object&&self,pj=Dg||fj||Function("return this")(),ii=pj});var gj,us,bf=W(()=>{zs();gj=ii.Symbol,us=gj});function yj(e){var n=mj.call(e,xf),i=e[xf];try{e[xf]=void 0;var r=!0}catch{}var o=_j.call(e);return r&&(n?e[xf]=i:delete e[xf]),o}var WC,mj,_j,xf,HC,YC=W(()=>{bf();WC=Object.prototype,mj=WC.hasOwnProperty,_j=WC.toString,xf=us?us.toStringTag:void 0;HC=yj});function xj(e){return bj.call(e)}var vj,bj,XC,ZC=W(()=>{vj=Object.prototype,bj=vj.toString;XC=xj});function Ej(e){return e==null?e===void 0?Sj:wj:KC&&KC in Object(e)?HC(e):XC(e)}var wj,Sj,KC,Gs,Ou=W(()=>{bf();YC();ZC();wj="[object Null]",Sj="[object Undefined]",KC=us?us.toStringTag:void 0;Gs=Ej});function Cj(e){return e!=null&&typeof e=="object"}var Ni,Qo=W(()=>{Ni=Cj});var Ij,ds,Pu=W(()=>{Ij=Array.isArray,ds=Ij});function kj(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Gi,Jo=W(()=>{Gi=kj});function Lj(e){return e}var jg,r0=W(()=>{jg=Lj});function Aj(e){if(!Gi(e))return!1;var n=Gs(e);return n==Nj||n==Rj||n==Tj||n==Mj}var Tj,Nj,Rj,Mj,Fu,qg=W(()=>{Ou();Jo();Tj="[object AsyncFunction]",Nj="[object Function]",Rj="[object GeneratorFunction]",Mj="[object Proxy]";Fu=Aj});var Oj,zg,QC=W(()=>{zs();Oj=ii["__core-js_shared__"],zg=Oj});function Pj(e){return!!JC&&JC in e}var JC,eI,tI=W(()=>{QC();JC=function(){var e=/[^.]+$/.exec(zg&&zg.keys&&zg.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();eI=Pj});function jj(e){if(e!=null){try{return Dj.call(e)}catch{}try{return e+""}catch{}}return""}var Fj,Dj,ea,s0=W(()=>{Fj=Function.prototype,Dj=Fj.toString;ea=jj});function Wj(e){if(!Gi(e)||eI(e))return!1;var n=Fu(e)?Vj:zj;return n.test(ea(e))}var qj,zj,Gj,$j,Bj,Uj,Vj,nI,iI=W(()=>{qg();tI();Jo();s0();qj=/[\\^$.*+?()[\]{}|]/g,zj=/^\[object .+?Constructor\]$/,Gj=Function.prototype,$j=Object.prototype,Bj=Gj.toString,Uj=$j.hasOwnProperty,Vj=RegExp("^"+Bj.call(Uj).replace(qj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");nI=Wj});function Hj(e,n){return e?.[n]}var rI,sI=W(()=>{rI=Hj});function Yj(e,n){var i=rI(e,n);return nI(i)?i:void 0}var br,Va=W(()=>{iI();sI();br=Yj});var Xj,Gg,oI=W(()=>{Va();zs();Xj=br(ii,"WeakMap"),Gg=Xj});var aI,Zj,lI,cI=W(()=>{Jo();aI=Object.create,Zj=function(){function e(){}return function(n){if(!Gi(n))return{};if(aI)return aI(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}(),lI=Zj});function Kj(e,n,i){switch(i.length){case 0:return e.call(n);case 1:return e.call(n,i[0]);case 2:return e.call(n,i[0],i[1]);case 3:return e.call(n,i[0],i[1],i[2])}return e.apply(n,i)}var uI,dI=W(()=>{uI=Kj});function Qj(e,n){var i=-1,r=e.length;for(n||(n=Array(r));++i{$g=Qj});function n6(e){var n=0,i=0;return function(){var r=t6(),o=e6-(r-i);if(i=r,o>0){if(++n>=Jj)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Jj,e6,t6,hI,fI=W(()=>{Jj=800,e6=16,t6=Date.now;hI=n6});function i6(e){return function(){return e}}var pI,gI=W(()=>{pI=i6});var r6,Du,a0=W(()=>{Va();r6=function(){try{var e=br(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Du=r6});var s6,mI,_I=W(()=>{gI();a0();r0();s6=Du?function(e,n){return Du(e,"toString",{configurable:!0,enumerable:!1,value:pI(n),writable:!0})}:jg,mI=s6});var o6,yI,vI=W(()=>{_I();fI();o6=hI(mI),yI=o6});function a6(e,n){for(var i=-1,r=e==null?0:e.length;++i{bI=a6});function u6(e,n){var i=typeof e;return n=n??l6,!!n&&(i=="number"||i!="symbol"&&c6.test(e))&&e>-1&&e%1==0&&e{l6=9007199254740991,c6=/^(?:0|[1-9]\d*)$/;Bg=u6});function d6(e,n,i){n=="__proto__"&&Du?Du(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var ju,Ug=W(()=>{a0();ju=d6});function h6(e,n){return e===n||e!==e&&n!==n}var fo,qu=W(()=>{fo=h6});function g6(e,n,i){var r=e[n];(!(p6.call(e,n)&&fo(r,i))||i===void 0&&!(n in e))&&ju(e,n,i)}var f6,p6,Vg,c0=W(()=>{Ug();qu();f6=Object.prototype,p6=f6.hasOwnProperty;Vg=g6});function m6(e,n,i,r){var o=!i;i||(i={});for(var u=-1,c=n.length;++u{c0();Ug();po=m6});function _6(e,n,i){return n=wI(n===void 0?e.length-1:n,0),function(){for(var r=arguments,o=-1,u=wI(r.length-n,0),c=Array(u);++o{dI();wI=Math.max;SI=_6});function y6(e,n){return yI(SI(e,n,jg),e+"")}var CI,II=W(()=>{r0();EI();vI();CI=y6});function b6(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=v6}var v6,Wg,u0=W(()=>{v6=9007199254740991;Wg=b6});function x6(e){return e!=null&&Wg(e.length)&&!Fu(e)}var Wa,wf=W(()=>{qg();u0();Wa=x6});function w6(e,n,i){if(!Gi(i))return!1;var r=typeof n;return(r=="number"?Wa(i)&&Bg(n,i.length):r=="string"&&n in i)?fo(i[n],e):!1}var kI,LI=W(()=>{qu();wf();l0();Jo();kI=w6});function S6(e){return CI(function(n,i){var r=-1,o=i.length,u=o>1?i[o-1]:void 0,c=o>2?i[2]:void 0;for(u=e.length>3&&typeof u=="function"?(o--,u):void 0,c&&kI(i[0],i[1],c)&&(u=o<3?void 0:u,o=1),n=Object(n);++r{II();LI();TI=S6});function C6(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||E6;return e===i}var E6,Gu,Hg=W(()=>{E6=Object.prototype;Gu=C6});function I6(e,n){for(var i=-1,r=Array(e);++i{RI=I6});function L6(e){return Ni(e)&&Gs(e)==k6}var k6,d0,AI=W(()=>{Ou();Qo();k6="[object Arguments]";d0=L6});var OI,T6,N6,R6,Sf,h0=W(()=>{AI();Qo();OI=Object.prototype,T6=OI.hasOwnProperty,N6=OI.propertyIsEnumerable,R6=d0(function(){return arguments}())?d0:function(e){return Ni(e)&&T6.call(e,"callee")&&!N6.call(e,"callee")},Sf=R6});function M6(){return!1}var PI,FI=W(()=>{PI=M6});var qI,DI,A6,jI,O6,P6,ta,Ef=W(()=>{zs();FI();qI=typeof exports=="object"&&exports&&!exports.nodeType&&exports,DI=qI&&typeof module=="object"&&module&&!module.nodeType&&module,A6=DI&&DI.exports===qI,jI=A6?ii.Buffer:void 0,O6=jI?jI.isBuffer:void 0,P6=O6||PI,ta=P6});function oq(e){return Ni(e)&&Wg(e.length)&&!!Rn[Gs(e)]}var F6,D6,j6,q6,z6,G6,$6,B6,U6,V6,W6,H6,Y6,X6,Z6,K6,Q6,J6,eq,tq,nq,iq,rq,sq,Rn,zI,GI=W(()=>{Ou();u0();Qo();F6="[object Arguments]",D6="[object Array]",j6="[object Boolean]",q6="[object Date]",z6="[object Error]",G6="[object Function]",$6="[object Map]",B6="[object Number]",U6="[object Object]",V6="[object RegExp]",W6="[object Set]",H6="[object String]",Y6="[object WeakMap]",X6="[object ArrayBuffer]",Z6="[object DataView]",K6="[object Float32Array]",Q6="[object Float64Array]",J6="[object Int8Array]",eq="[object Int16Array]",tq="[object Int32Array]",nq="[object Uint8Array]",iq="[object Uint8ClampedArray]",rq="[object Uint16Array]",sq="[object Uint32Array]",Rn={};Rn[K6]=Rn[Q6]=Rn[J6]=Rn[eq]=Rn[tq]=Rn[nq]=Rn[iq]=Rn[rq]=Rn[sq]=!0;Rn[F6]=Rn[D6]=Rn[X6]=Rn[j6]=Rn[Z6]=Rn[q6]=Rn[z6]=Rn[G6]=Rn[$6]=Rn[B6]=Rn[U6]=Rn[V6]=Rn[W6]=Rn[H6]=Rn[Y6]=!1;zI=oq});function aq(e){return function(n){return e(n)}}var $u,Yg=W(()=>{$u=aq});var $I,Cf,lq,f0,cq,na,Xg=W(()=>{i0();$I=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Cf=$I&&typeof module=="object"&&module&&!module.nodeType&&module,lq=Cf&&Cf.exports===$I,f0=lq&&Dg.process,cq=function(){try{var e=Cf&&Cf.require&&Cf.require("util").types;return e||f0&&f0.binding&&f0.binding("util")}catch{}}(),na=cq});var BI,uq,Bu,Zg=W(()=>{GI();Yg();Xg();BI=na&&na.isTypedArray,uq=BI?$u(BI):zI,Bu=uq});function fq(e,n){var i=ds(e),r=!i&&Sf(e),o=!i&&!r&&ta(e),u=!i&&!r&&!o&&Bu(e),c=i||r||o||u,f=c?RI(e.length,String):[],p=f.length;for(var g in e)(n||hq.call(e,g))&&!(c&&(g=="length"||o&&(g=="offset"||g=="parent")||u&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||Bg(g,p)))&&f.push(g);return f}var dq,hq,Kg,p0=W(()=>{MI();h0();Pu();Ef();l0();Zg();dq=Object.prototype,hq=dq.hasOwnProperty;Kg=fq});function pq(e,n){return function(i){return e(n(i))}}var Qg,g0=W(()=>{Qg=pq});var gq,UI,VI=W(()=>{g0();gq=Qg(Object.keys,Object),UI=gq});function yq(e){if(!Gu(e))return UI(e);var n=[];for(var i in Object(e))_q.call(e,i)&&i!="constructor"&&n.push(i);return n}var mq,_q,WI,HI=W(()=>{Hg();VI();mq=Object.prototype,_q=mq.hasOwnProperty;WI=yq});function vq(e){return Wa(e)?Kg(e):WI(e)}var Uu,Jg=W(()=>{p0();HI();wf();Uu=vq});function bq(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var YI,XI=W(()=>{YI=bq});function Sq(e){if(!Gi(e))return YI(e);var n=Gu(e),i=[];for(var r in e)r=="constructor"&&(n||!wq.call(e,r))||i.push(r);return i}var xq,wq,ZI,KI=W(()=>{Jo();Hg();XI();xq=Object.prototype,wq=xq.hasOwnProperty;ZI=Sq});function Eq(e){return Wa(e)?Kg(e,!0):ZI(e)}var go,Vu=W(()=>{p0();KI();wf();go=Eq});var Cq,ia,If=W(()=>{Va();Cq=br(Object,"create"),ia=Cq});function Iq(){this.__data__=ia?ia(null):{},this.size=0}var QI,JI=W(()=>{If();QI=Iq});function kq(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var ek,tk=W(()=>{ek=kq});function Rq(e){var n=this.__data__;if(ia){var i=n[e];return i===Lq?void 0:i}return Nq.call(n,e)?n[e]:void 0}var Lq,Tq,Nq,nk,ik=W(()=>{If();Lq="__lodash_hash_undefined__",Tq=Object.prototype,Nq=Tq.hasOwnProperty;nk=Rq});function Oq(e){var n=this.__data__;return ia?n[e]!==void 0:Aq.call(n,e)}var Mq,Aq,rk,sk=W(()=>{If();Mq=Object.prototype,Aq=Mq.hasOwnProperty;rk=Oq});function Fq(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=ia&&n===void 0?Pq:n,this}var Pq,ok,ak=W(()=>{If();Pq="__lodash_hash_undefined__";ok=Fq});function Wu(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n{JI();tk();ik();sk();ak();Wu.prototype.clear=QI;Wu.prototype.delete=ek;Wu.prototype.get=nk;Wu.prototype.has=rk;Wu.prototype.set=ok;m0=Wu});function Dq(){this.__data__=[],this.size=0}var ck,uk=W(()=>{ck=Dq});function jq(e,n){for(var i=e.length;i--;)if(fo(e[i][0],n))return i;return-1}var Ha,kf=W(()=>{qu();Ha=jq});function Gq(e){var n=this.__data__,i=Ha(n,e);if(i<0)return!1;var r=n.length-1;return i==r?n.pop():zq.call(n,i,1),--this.size,!0}var qq,zq,dk,hk=W(()=>{kf();qq=Array.prototype,zq=qq.splice;dk=Gq});function $q(e){var n=this.__data__,i=Ha(n,e);return i<0?void 0:n[i][1]}var fk,pk=W(()=>{kf();fk=$q});function Bq(e){return Ha(this.__data__,e)>-1}var gk,mk=W(()=>{kf();gk=Bq});function Uq(e,n){var i=this.__data__,r=Ha(i,e);return r<0?(++this.size,i.push([e,n])):i[r][1]=n,this}var _k,yk=W(()=>{kf();_k=Uq});function Hu(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n{uk();hk();pk();mk();yk();Hu.prototype.clear=ck;Hu.prototype.delete=dk;Hu.prototype.get=fk;Hu.prototype.has=gk;Hu.prototype.set=_k;Ya=Hu});var Vq,Xa,em=W(()=>{Va();zs();Vq=br(ii,"Map"),Xa=Vq});function Wq(){this.size=0,this.__data__={hash:new m0,map:new(Xa||Ya),string:new m0}}var vk,bk=W(()=>{lk();Lf();em();vk=Wq});function Hq(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}var xk,wk=W(()=>{xk=Hq});function Yq(e,n){var i=e.__data__;return xk(n)?i[typeof n=="string"?"string":"hash"]:i.map}var Za,Tf=W(()=>{wk();Za=Yq});function Xq(e){var n=Za(this,e).delete(e);return this.size-=n?1:0,n}var Sk,Ek=W(()=>{Tf();Sk=Xq});function Zq(e){return Za(this,e).get(e)}var Ck,Ik=W(()=>{Tf();Ck=Zq});function Kq(e){return Za(this,e).has(e)}var kk,Lk=W(()=>{Tf();kk=Kq});function Qq(e,n){var i=Za(this,e),r=i.size;return i.set(e,n),this.size+=i.size==r?0:1,this}var Tk,Nk=W(()=>{Tf();Tk=Qq});function Yu(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n{bk();Ek();Ik();Lk();Nk();Yu.prototype.clear=vk;Yu.prototype.delete=Sk;Yu.prototype.get=Ck;Yu.prototype.has=kk;Yu.prototype.set=Tk;tm=Yu});function Jq(e,n){for(var i=-1,r=n.length,o=e.length;++i{nm=Jq});var e8,Xu,im=W(()=>{g0();e8=Qg(Object.getPrototypeOf,Object),Xu=e8});function o8(e){if(!Ni(e)||Gs(e)!=t8)return!1;var n=Xu(e);if(n===null)return!0;var i=r8.call(n,"constructor")&&n.constructor;return typeof i=="function"&&i instanceof i&&Rk.call(i)==s8}var t8,n8,i8,Rk,r8,s8,Mk,Ak=W(()=>{Ou();im();Qo();t8="[object Object]",n8=Function.prototype,i8=Object.prototype,Rk=n8.toString,r8=i8.hasOwnProperty,s8=Rk.call(Object);Mk=o8});function a8(){this.__data__=new Ya,this.size=0}var Ok,Pk=W(()=>{Lf();Ok=a8});function l8(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}var Fk,Dk=W(()=>{Fk=l8});function c8(e){return this.__data__.get(e)}var jk,qk=W(()=>{jk=c8});function u8(e){return this.__data__.has(e)}var zk,Gk=W(()=>{zk=u8});function h8(e,n){var i=this.__data__;if(i instanceof Ya){var r=i.__data__;if(!Xa||r.length{Lf();em();_0();d8=200;$k=h8});function Zu(e){var n=this.__data__=new Ya(e);this.size=n.size}var Ka,rm=W(()=>{Lf();Pk();Dk();qk();Gk();Bk();Zu.prototype.clear=Ok;Zu.prototype.delete=Fk;Zu.prototype.get=jk;Zu.prototype.has=zk;Zu.prototype.set=$k;Ka=Zu});function f8(e,n){return e&&po(n,Uu(n),e)}var Uk,Vk=W(()=>{zu();Jg();Uk=f8});function p8(e,n){return e&&po(n,go(n),e)}var Wk,Hk=W(()=>{zu();Vu();Wk=p8});function m8(e,n){if(n)return e.slice();var i=e.length,r=Zk?Zk(i):new e.constructor(i);return e.copy(r),r}var Kk,Yk,g8,Xk,Zk,sm,v0=W(()=>{zs();Kk=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yk=Kk&&typeof module=="object"&&module&&!module.nodeType&&module,g8=Yk&&Yk.exports===Kk,Xk=g8?ii.Buffer:void 0,Zk=Xk?Xk.allocUnsafe:void 0;sm=m8});function _8(e,n){for(var i=-1,r=e==null?0:e.length,o=0,u=[];++i{Qk=_8});function y8(){return[]}var om,b0=W(()=>{om=y8});var v8,b8,eL,x8,Ku,am=W(()=>{Jk();b0();v8=Object.prototype,b8=v8.propertyIsEnumerable,eL=Object.getOwnPropertySymbols,x8=eL?function(e){return e==null?[]:(e=Object(e),Qk(eL(e),function(n){return b8.call(e,n)}))}:om,Ku=x8});function w8(e,n){return po(e,Ku(e),n)}var tL,nL=W(()=>{zu();am();tL=w8});var S8,E8,lm,x0=W(()=>{y0();im();am();b0();S8=Object.getOwnPropertySymbols,E8=S8?function(e){for(var n=[];e;)nm(n,Ku(e)),e=Xu(e);return n}:om,lm=E8});function C8(e,n){return po(e,lm(e),n)}var iL,rL=W(()=>{zu();x0();iL=C8});function I8(e,n,i){var r=n(e);return ds(e)?r:nm(r,i(e))}var cm,w0=W(()=>{y0();Pu();cm=I8});function k8(e){return cm(e,Uu,Ku)}var Nf,S0=W(()=>{w0();am();Jg();Nf=k8});function L8(e){return cm(e,go,lm)}var sL,oL=W(()=>{w0();x0();Vu();sL=L8});var T8,um,aL=W(()=>{Va();zs();T8=br(ii,"DataView"),um=T8});var N8,dm,lL=W(()=>{Va();zs();N8=br(ii,"Promise"),dm=N8});var R8,hm,cL=W(()=>{Va();zs();R8=br(ii,"Set"),hm=R8});var uL,M8,dL,hL,fL,pL,A8,O8,P8,F8,D8,ic,ra,Rf=W(()=>{aL();em();lL();cL();oI();Ou();s0();uL="[object Map]",M8="[object Object]",dL="[object Promise]",hL="[object Set]",fL="[object WeakMap]",pL="[object DataView]",A8=ea(um),O8=ea(Xa),P8=ea(dm),F8=ea(hm),D8=ea(Gg),ic=Gs;(um&&ic(new um(new ArrayBuffer(1)))!=pL||Xa&&ic(new Xa)!=uL||dm&&ic(dm.resolve())!=dL||hm&&ic(new hm)!=hL||Gg&&ic(new Gg)!=fL)&&(ic=function(e){var n=Gs(e),i=n==M8?e.constructor:void 0,r=i?ea(i):"";if(r)switch(r){case A8:return pL;case O8:return uL;case P8:return dL;case F8:return hL;case D8:return fL}return n});ra=ic});function z8(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&q8.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var j8,q8,gL,mL=W(()=>{j8=Object.prototype,q8=j8.hasOwnProperty;gL=z8});var G8,Qu,E0=W(()=>{zs();G8=ii.Uint8Array,Qu=G8});function $8(e){var n=new e.constructor(e.byteLength);return new Qu(n).set(new Qu(e)),n}var Ju,fm=W(()=>{E0();Ju=$8});function B8(e,n){var i=n?Ju(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var _L,yL=W(()=>{fm();_L=B8});function V8(e){var n=new e.constructor(e.source,U8.exec(e));return n.lastIndex=e.lastIndex,n}var U8,vL,bL=W(()=>{U8=/\w*$/;vL=V8});function W8(e){return wL?Object(wL.call(e)):{}}var xL,wL,SL,EL=W(()=>{bf();xL=us?us.prototype:void 0,wL=xL?xL.valueOf:void 0;SL=W8});function H8(e,n){var i=n?Ju(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var pm,C0=W(()=>{fm();pm=H8});function fz(e,n,i){var r=e.constructor;switch(n){case nz:return Ju(e);case Y8:case X8:return new r(+e);case iz:return _L(e,i);case rz:case sz:case oz:case az:case lz:case cz:case uz:case dz:case hz:return pm(e,i);case Z8:return new r;case K8:case ez:return new r(e);case Q8:return vL(e);case J8:return new r;case tz:return SL(e)}}var Y8,X8,Z8,K8,Q8,J8,ez,tz,nz,iz,rz,sz,oz,az,lz,cz,uz,dz,hz,CL,IL=W(()=>{fm();yL();bL();EL();C0();Y8="[object Boolean]",X8="[object Date]",Z8="[object Map]",K8="[object Number]",Q8="[object RegExp]",J8="[object Set]",ez="[object String]",tz="[object Symbol]",nz="[object ArrayBuffer]",iz="[object DataView]",rz="[object Float32Array]",sz="[object Float64Array]",oz="[object Int8Array]",az="[object Int16Array]",lz="[object Int32Array]",cz="[object Uint8Array]",uz="[object Uint8ClampedArray]",dz="[object Uint16Array]",hz="[object Uint32Array]";CL=fz});function pz(e){return typeof e.constructor=="function"&&!Gu(e)?lI(Xu(e)):{}}var gm,I0=W(()=>{cI();im();Hg();gm=pz});function mz(e){return Ni(e)&&ra(e)==gz}var gz,kL,LL=W(()=>{Rf();Qo();gz="[object Map]";kL=mz});var TL,_z,NL,RL=W(()=>{LL();Yg();Xg();TL=na&&na.isMap,_z=TL?$u(TL):kL,NL=_z});function vz(e){return Ni(e)&&ra(e)==yz}var yz,ML,AL=W(()=>{Rf();Qo();yz="[object Set]";ML=vz});var OL,bz,PL,FL=W(()=>{AL();Yg();Xg();OL=na&&na.isSet,bz=OL?$u(OL):ML,PL=bz});function mm(e,n,i,r,o,u){var c,f=n&xz,p=n&wz,g=n&Sz;if(i&&(c=o?i(e,r,o,u):i(e)),c!==void 0)return c;if(!Gi(e))return e;var d=ds(e);if(d){if(c=gL(e),!f)return $g(e,c)}else{var v=ra(e),y=v==jL||v==Lz;if(ta(e))return sm(e,f);if(v==qL||v==DL||y&&!o){if(c=p||y?{}:gm(e),!f)return p?iL(e,Wk(c,e)):tL(e,Uk(c,e))}else{if(!kn[v])return o?e:{};c=CL(e,v,f)}}u||(u=new Ka);var S=u.get(e);if(S)return S;u.set(e,c),PL(e)?e.forEach(function(I){c.add(mm(I,n,i,I,e,u))}):NL(e)&&e.forEach(function(I,O){c.set(O,mm(I,n,i,O,e,u))});var w=g?p?sL:Nf:p?go:Uu,E=d?void 0:w(e);return bI(E||e,function(I,O){E&&(O=I,I=e[O]),Vg(c,O,mm(I,n,i,O,e,u))}),c}var xz,wz,Sz,DL,Ez,Cz,Iz,kz,jL,Lz,Tz,Nz,qL,Rz,Mz,Az,Oz,Pz,Fz,Dz,jz,qz,zz,Gz,$z,Bz,Uz,Vz,Wz,kn,zL,GL=W(()=>{rm();xI();c0();Vk();Hk();v0();o0();nL();rL();S0();oL();Rf();mL();IL();I0();Pu();Ef();RL();Jo();FL();Jg();Vu();xz=1,wz=2,Sz=4,DL="[object Arguments]",Ez="[object Array]",Cz="[object Boolean]",Iz="[object Date]",kz="[object Error]",jL="[object Function]",Lz="[object GeneratorFunction]",Tz="[object Map]",Nz="[object Number]",qL="[object Object]",Rz="[object RegExp]",Mz="[object Set]",Az="[object String]",Oz="[object Symbol]",Pz="[object WeakMap]",Fz="[object ArrayBuffer]",Dz="[object DataView]",jz="[object Float32Array]",qz="[object Float64Array]",zz="[object Int8Array]",Gz="[object Int16Array]",$z="[object Int32Array]",Bz="[object Uint8Array]",Uz="[object Uint8ClampedArray]",Vz="[object Uint16Array]",Wz="[object Uint32Array]",kn={};kn[DL]=kn[Ez]=kn[Fz]=kn[Dz]=kn[Cz]=kn[Iz]=kn[jz]=kn[qz]=kn[zz]=kn[Gz]=kn[$z]=kn[Tz]=kn[Nz]=kn[qL]=kn[Rz]=kn[Mz]=kn[Az]=kn[Oz]=kn[Bz]=kn[Uz]=kn[Vz]=kn[Wz]=!0;kn[kz]=kn[jL]=kn[Pz]=!1;zL=mm});function Xz(e){return zL(e,Hz|Yz)}var Hz,Yz,mo,$L=W(()=>{GL();Hz=1,Yz=4;mo=Xz});function Kz(e){return this.__data__.set(e,Zz),this}var Zz,BL,UL=W(()=>{Zz="__lodash_hash_undefined__";BL=Kz});function Qz(e){return this.__data__.has(e)}var VL,WL=W(()=>{VL=Qz});function _m(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new tm;++n{_0();UL();WL();_m.prototype.add=_m.prototype.push=BL;_m.prototype.has=VL;HL=_m});function Jz(e,n){for(var i=-1,r=e==null?0:e.length;++i{XL=Jz});function eG(e,n){return e.has(n)}var KL,QL=W(()=>{KL=eG});function iG(e,n,i,r,o,u){var c=i&tG,f=e.length,p=n.length;if(f!=p&&!(c&&p>f))return!1;var g=u.get(e),d=u.get(n);if(g&&d)return g==n&&d==e;var v=-1,y=!0,S=i&nG?new HL:void 0;for(u.set(e,n),u.set(n,e);++v{YL();ZL();QL();tG=1,nG=2;ym=iG});function rG(e){var n=-1,i=Array(e.size);return e.forEach(function(r,o){i[++n]=[o,r]}),i}var JL,e2=W(()=>{JL=rG});function sG(e){var n=-1,i=Array(e.size);return e.forEach(function(r){i[++n]=r}),i}var t2,n2=W(()=>{t2=sG});function vG(e,n,i,r,o,u,c){switch(i){case yG:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case _G:return!(e.byteLength!=n.byteLength||!u(new Qu(e),new Qu(n)));case lG:case cG:case hG:return fo(+e,+n);case uG:return e.name==n.name&&e.message==n.message;case fG:case gG:return e==n+"";case dG:var f=JL;case pG:var p=r&oG;if(f||(f=t2),e.size!=n.size&&!p)return!1;var g=c.get(e);if(g)return g==n;r|=aG,c.set(e,n);var d=ym(f(e),f(n),r,o,u,c);return c.delete(e),d;case mG:if(L0)return L0.call(e)==L0.call(n)}return!1}var oG,aG,lG,cG,uG,dG,hG,fG,pG,gG,mG,_G,yG,i2,L0,r2,s2=W(()=>{bf();E0();qu();k0();e2();n2();oG=1,aG=2,lG="[object Boolean]",cG="[object Date]",uG="[object Error]",dG="[object Map]",hG="[object Number]",fG="[object RegExp]",pG="[object Set]",gG="[object String]",mG="[object Symbol]",_G="[object ArrayBuffer]",yG="[object DataView]",i2=us?us.prototype:void 0,L0=i2?i2.valueOf:void 0;r2=vG});function SG(e,n,i,r,o,u){var c=i&bG,f=Nf(e),p=f.length,g=Nf(n),d=g.length;if(p!=d&&!c)return!1;for(var v=p;v--;){var y=f[v];if(!(c?y in n:wG.call(n,y)))return!1}var S=u.get(e),w=u.get(n);if(S&&w)return S==n&&w==e;var E=!0;u.set(e,n),u.set(n,e);for(var I=c;++v{S0();bG=1,xG=Object.prototype,wG=xG.hasOwnProperty;o2=SG});function IG(e,n,i,r,o,u){var c=ds(e),f=ds(n),p=c?c2:ra(e),g=f?c2:ra(n);p=p==l2?vm:p,g=g==l2?vm:g;var d=p==vm,v=g==vm,y=p==g;if(y&&ta(e)){if(!ta(n))return!1;c=!0,d=!1}if(y&&!d)return u||(u=new Ka),c||Bu(e)?ym(e,n,i,r,o,u):r2(e,n,p,i,r,o,u);if(!(i&EG)){var S=d&&u2.call(e,"__wrapped__"),w=v&&u2.call(n,"__wrapped__");if(S||w){var E=S?e.value():e,I=w?n.value():n;return u||(u=new Ka),o(E,I,i,r,u)}}return y?(u||(u=new Ka),o2(e,n,i,r,o,u)):!1}var EG,l2,c2,vm,CG,u2,d2,h2=W(()=>{rm();k0();s2();a2();Rf();Pu();Ef();Zg();EG=1,l2="[object Arguments]",c2="[object Array]",vm="[object Object]",CG=Object.prototype,u2=CG.hasOwnProperty;d2=IG});function f2(e,n,i,r,o){return e===n?!0:e==null||n==null||!Ni(e)&&!Ni(n)?e!==e&&n!==n:d2(e,n,i,r,f2,o)}var p2,g2=W(()=>{h2();Qo();p2=f2});function kG(e){return function(n,i,r){for(var o=-1,u=Object(n),c=r(n),f=c.length;f--;){var p=c[e?f:++o];if(i(u[p],p,u)===!1)break}return n}}var m2,_2=W(()=>{m2=kG});var LG,y2,v2=W(()=>{_2();LG=m2(),y2=LG});function TG(e,n,i){(i!==void 0&&!fo(e[n],i)||i===void 0&&!(n in e))&&ju(e,n,i)}var Mf,T0=W(()=>{Ug();qu();Mf=TG});function NG(e){return Ni(e)&&Wa(e)}var b2,x2=W(()=>{wf();Qo();b2=NG});function RG(e,n){if(!(n==="constructor"&&typeof e[n]=="function")&&n!="__proto__")return e[n]}var Af,N0=W(()=>{Af=RG});function MG(e){return po(e,go(e))}var w2,S2=W(()=>{zu();Vu();w2=MG});function AG(e,n,i,r,o,u,c){var f=Af(e,i),p=Af(n,i),g=c.get(p);if(g){Mf(e,i,g);return}var d=u?u(f,p,i+"",e,n,c):void 0,v=d===void 0;if(v){var y=ds(p),S=!y&&ta(p),w=!y&&!S&&Bu(p);d=p,y||S||w?ds(f)?d=f:b2(f)?d=$g(f):S?(v=!1,d=sm(p,!0)):w?(v=!1,d=pm(p,!0)):d=[]:Mk(p)||Sf(p)?(d=f,Sf(f)?d=w2(f):(!Gi(f)||Fu(f))&&(d=gm(p))):v=!1}v&&(c.set(p,d),o(d,p,r,u,c),c.delete(p)),Mf(e,i,d)}var E2,C2=W(()=>{T0();v0();C0();o0();I0();h0();Pu();x2();Ef();qg();Jo();Ak();Zg();N0();S2();E2=AG});function I2(e,n,i,r,o){e!==n&&y2(n,function(u,c){if(o||(o=new Ka),Gi(u))E2(e,n,c,i,I2,r,o);else{var f=r?r(Af(e,c),u,c+"",e,n,o):void 0;f===void 0&&(f=u),Mf(e,c,f)}},go)}var k2,L2=W(()=>{rm();T0();v2();C2();Jo();Vu();N0();k2=I2});function OG(e,n){return p2(e,n)}var rc,T2=W(()=>{g2();rc=OG});var PG,xr,N2=W(()=>{L2();NI();PG=TI(function(e,n,i){k2(e,n,i)}),xr=PG});var Qa=W(()=>{$L();T2();N2();});var od={};hi(od,{Attributor:()=>sr,AttributorStore:()=>Of,BlockBlot:()=>sc,ClassAttributor:()=>ri,ContainerBlot:()=>rd,EmbedBlot:()=>qn,InlineBlot:()=>bm,LeafBlot:()=>si,ParentBlot:()=>wr,Registry:()=>tl,Scope:()=>rt,ScrollBlot:()=>Pf,StyleAttributor:()=>Sr,TextBlot:()=>sd});function R2(e,n){return(e.getAttribute("class")||"").split(/\s+/).filter(i=>i.indexOf(`${n}-`)===0)}function R0(e){let n=e.split("-"),i=n.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("");return n[0]+i}function M2(e,n){let i=n.find(e);if(i)return i;try{return n.create(e)}catch{let r=n.create(rt.INLINE);return Array.from(e.childNodes).forEach(o=>{r.domNode.appendChild(o)}),e.parentNode&&e.parentNode.replaceChild(r.domNode,e),r.attach(),r}}function jG(e,n){if(Object.keys(e).length!==Object.keys(n).length)return!1;for(let i in e)if(e[i]!==n[i])return!1;return!0}var rt,sr,el,A2,tl,A0,ri,O0,Sr,P0,Of,O2,P2,F2,FG,si,F0,D2,DG,wr,ed,qG,bm,nd,zG,sc,j0,GG,rd,q0,qn,$G,BG,id,UG,Pf,z0,VG,sd,xn=W(()=>{rt=(e=>(e[e.TYPE=3]="TYPE",e[e.LEVEL=12]="LEVEL",e[e.ATTRIBUTE=13]="ATTRIBUTE",e[e.BLOT=14]="BLOT",e[e.INLINE=7]="INLINE",e[e.BLOCK=11]="BLOCK",e[e.BLOCK_BLOT=10]="BLOCK_BLOT",e[e.INLINE_BLOT=6]="INLINE_BLOT",e[e.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",e[e.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",e[e.ANY=15]="ANY",e))(rt||{}),sr=class{constructor(n,i,r={}){this.attrName=n,this.keyName=i;let o=rt.TYPE&rt.ATTRIBUTE;this.scope=r.scope!=null?r.scope&rt.LEVEL|o:rt.ATTRIBUTE,r.whitelist!=null&&(this.whitelist=r.whitelist)}static keys(n){return Array.from(n.attributes).map(i=>i.name)}add(n,i){return this.canAdd(n,i)?(n.setAttribute(this.keyName,i),!0):!1}canAdd(n,i){return this.whitelist==null?!0:typeof i=="string"?this.whitelist.indexOf(i.replace(/["']/g,""))>-1:this.whitelist.indexOf(i)>-1}remove(n){n.removeAttribute(this.keyName)}value(n){let i=n.getAttribute(this.keyName);return this.canAdd(n,i)&&i?i:""}},el=class extends Error{constructor(n){n="[Parchment] "+n,super(n),this.message=n,this.name=this.constructor.name}},A2=class M0{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(n,i=!1){if(n==null)return null;if(this.blots.has(n))return this.blots.get(n)||null;if(i){let r=null;try{r=n.parentNode}catch{return null}return this.find(r,i)}return null}create(n,i,r){let o=this.query(i);if(o==null)throw new el(`Unable to create ${i} blot`);let u=o,c=i instanceof Node||i.nodeType===Node.TEXT_NODE?i:u.create(r),f=new u(n,c,r);return M0.blots.set(f.domNode,f),f}find(n,i=!1){return M0.find(n,i)}query(n,i=rt.ANY){let r;return typeof n=="string"?r=this.types[n]||this.attributes[n]:n instanceof Text||n.nodeType===Node.TEXT_NODE?r=this.types.text:typeof n=="number"?n&rt.LEVEL&rt.BLOCK?r=this.types.block:n&rt.LEVEL&rt.INLINE&&(r=this.types.inline):n instanceof Element&&((n.getAttribute("class")||"").split(/\s+/).some(o=>(r=this.classes[o],!!r)),r=r||this.tags[n.tagName]),r==null?null:"scope"in r&&i&rt.LEVEL&r.scope&&i&rt.TYPE&r.scope?r:null}register(...n){return n.map(i=>{let r="blotName"in i,o="attrName"in i;if(!r&&!o)throw new el("Invalid definition");if(r&&i.blotName==="abstract")throw new el("Cannot register abstract class");let u=r?i.blotName:o?i.attrName:void 0;return this.types[u]=i,o?typeof i.keyName=="string"&&(this.attributes[i.keyName]=i):r&&(i.className&&(this.classes[i.className]=i),i.tagName&&(Array.isArray(i.tagName)?i.tagName=i.tagName.map(c=>c.toUpperCase()):i.tagName=i.tagName.toUpperCase(),(Array.isArray(i.tagName)?i.tagName:[i.tagName]).forEach(c=>{(this.tags[c]==null||i.className==null)&&(this.tags[c]=i)}))),i})}};A2.blots=new WeakMap;tl=A2;A0=class extends sr{static keys(n){return(n.getAttribute("class")||"").split(/\s+/).map(i=>i.split("-").slice(0,-1).join("-"))}add(n,i){return this.canAdd(n,i)?(this.remove(n),n.classList.add(`${this.keyName}-${i}`),!0):!1}remove(n){R2(n,this.keyName).forEach(i=>{n.classList.remove(i)}),n.classList.length===0&&n.removeAttribute("class")}value(n){let i=(R2(n,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(n,i)?i:""}},ri=A0;O0=class extends sr{static keys(n){return(n.getAttribute("style")||"").split(";").map(i=>i.split(":")[0].trim())}add(n,i){return this.canAdd(n,i)?(n.style[R0(this.keyName)]=i,!0):!1}remove(n){n.style[R0(this.keyName)]="",n.getAttribute("style")||n.removeAttribute("style")}value(n){let i=n.style[R0(this.keyName)];return this.canAdd(n,i)?i:""}},Sr=O0,P0=class{constructor(n){this.attributes={},this.domNode=n,this.build()}attribute(n,i){i?n.add(this.domNode,i)&&(n.value(this.domNode)!=null?this.attributes[n.attrName]=n:delete this.attributes[n.attrName]):(n.remove(this.domNode),delete this.attributes[n.attrName])}build(){this.attributes={};let n=tl.find(this.domNode);if(n==null)return;let i=sr.keys(this.domNode),r=ri.keys(this.domNode),o=Sr.keys(this.domNode);i.concat(r).concat(o).forEach(u=>{let c=n.scroll.query(u,rt.ATTRIBUTE);c instanceof sr&&(this.attributes[c.attrName]=c)})}copy(n){Object.keys(this.attributes).forEach(i=>{let r=this.attributes[i].value(this.domNode);n.format(i,r)})}move(n){this.copy(n),Object.keys(this.attributes).forEach(i=>{this.attributes[i].remove(this.domNode)}),this.attributes={}}values(){return Object.keys(this.attributes).reduce((n,i)=>(n[i]=this.attributes[i].value(this.domNode),n),{})}},Of=P0,O2=class{constructor(n,i){this.scroll=n,this.domNode=i,tl.blots.set(i,this),this.prev=null,this.next=null}static create(n){if(this.tagName==null)throw new el("Blot definition missing tagName");let i,r;return Array.isArray(this.tagName)?(typeof n=="string"?(r=n.toUpperCase(),parseInt(r,10).toString()===r&&(r=parseInt(r,10))):typeof n=="number"&&(r=n),typeof r=="number"?i=document.createElement(this.tagName[r-1]):r&&this.tagName.indexOf(r)>-1?i=document.createElement(r):i=document.createElement(this.tagName[0])):i=document.createElement(this.tagName),this.className&&i.classList.add(this.className),i}get statics(){return this.constructor}attach(){}clone(){let n=this.domNode.cloneNode(!1);return this.scroll.create(n)}detach(){this.parent!=null&&this.parent.removeChild(this),tl.blots.delete(this.domNode)}deleteAt(n,i){this.isolate(n,i).remove()}formatAt(n,i,r,o){let u=this.isolate(n,i);if(this.scroll.query(r,rt.BLOT)!=null&&o)u.wrap(r,o);else if(this.scroll.query(r,rt.ATTRIBUTE)!=null){let c=this.scroll.create(this.statics.scope);u.wrap(c),c.format(r,o)}}insertAt(n,i,r){let o=r==null?this.scroll.create("text",i):this.scroll.create(i,r),u=this.split(n);this.parent.insertBefore(o,u||void 0)}isolate(n,i){let r=this.split(n);if(r==null)throw new Error("Attempt to isolate at end");return r.split(i),r}length(){return 1}offset(n=this.parent){return this.parent==null||this===n?0:this.parent.children.offset(this)+this.parent.offset(n)}optimize(n){this.statics.requiredContainer&&!(this.parent instanceof this.statics.requiredContainer)&&this.wrap(this.statics.requiredContainer.blotName)}remove(){this.domNode.parentNode!=null&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(n,i){let r=typeof n=="string"?this.scroll.create(n,i):n;return this.parent!=null&&(this.parent.insertBefore(r,this.next||void 0),this.remove()),r}split(n,i){return n===0?this:this.next}update(n,i){}wrap(n,i){let r=typeof n=="string"?this.scroll.create(n,i):n;if(this.parent!=null&&this.parent.insertBefore(r,this.next||void 0),typeof r.appendChild!="function")throw new el(`Cannot wrap ${n}`);return r.appendChild(this),r}};O2.blotName="abstract";P2=O2,F2=class extends P2{static value(n){return!0}index(n,i){return this.domNode===n||this.domNode.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(i,1):-1}position(n,i){let r=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return n>0&&(r+=1),[this.parent.domNode,r]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};F2.scope=rt.INLINE_BLOT;FG=F2,si=FG,F0=class{constructor(){this.head=null,this.tail=null,this.length=0}append(...n){if(this.insertBefore(n[0],null),n.length>1){let i=n.slice(1);this.append(...i)}}at(n){let i=this.iterator(),r=i();for(;r&&n>0;)n-=1,r=i();return r}contains(n){let i=this.iterator(),r=i();for(;r;){if(r===n)return!0;r=i()}return!1}indexOf(n){let i=this.iterator(),r=i(),o=0;for(;r;){if(r===n)return o;o+=1,r=i()}return-1}insertBefore(n,i){n!=null&&(this.remove(n),n.next=i,i!=null?(n.prev=i.prev,i.prev!=null&&(i.prev.next=n),i.prev=n,i===this.head&&(this.head=n)):this.tail!=null?(this.tail.next=n,n.prev=this.tail,this.tail=n):(n.prev=null,this.head=this.tail=n),this.length+=1)}offset(n){let i=0,r=this.head;for(;r!=null;){if(r===n)return i;i+=r.length(),r=r.next}return-1}remove(n){this.contains(n)&&(n.prev!=null&&(n.prev.next=n.next),n.next!=null&&(n.next.prev=n.prev),n===this.head&&(this.head=n.next),n===this.tail&&(this.tail=n.prev),this.length-=1)}iterator(n=this.head){return()=>{let i=n;return n!=null&&(n=n.next),i}}find(n,i=!1){let r=this.iterator(),o=r();for(;o;){let u=o.length();if(nc?r(p,n-c,Math.min(i,c+g-n)):r(p,0,Math.min(g,n+i-c)),c+=g,p=f()}}map(n){return this.reduce((i,r)=>(i.push(n(r)),i),[])}reduce(n,i){let r=this.iterator(),o=r();for(;o;)i=n(i,o),o=r();return i}};D2=class Ja extends P2{constructor(n,i){super(n,i),this.uiNode=null,this.build()}appendChild(n){this.insertBefore(n)}attach(){super.attach(),this.children.forEach(n=>{n.attach()})}attachUI(n){this.uiNode!=null&&this.uiNode.remove(),this.uiNode=n,Ja.uiClass&&this.uiNode.classList.add(Ja.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new F0,Array.from(this.domNode.childNodes).filter(n=>n!==this.uiNode).reverse().forEach(n=>{try{let i=M2(n,this.scroll);this.insertBefore(i,this.children.head||void 0)}catch(i){if(i instanceof el)return;throw i}})}deleteAt(n,i){if(n===0&&i===this.length())return this.remove();this.children.forEachAt(n,i,(r,o,u)=>{r.deleteAt(o,u)})}descendant(n,i=0){let[r,o]=this.children.find(i);return n.blotName==null&&n(r)||n.blotName!=null&&r instanceof n?[r,o]:r instanceof Ja?r.descendant(n,o):[null,-1]}descendants(n,i=0,r=Number.MAX_VALUE){let o=[],u=r;return this.children.forEachAt(i,r,(c,f,p)=>{(n.blotName==null&&n(c)||n.blotName!=null&&c instanceof n)&&o.push(c),c instanceof Ja&&(o=o.concat(c.descendants(n,f,u))),u-=p}),o}detach(){this.children.forEach(n=>{n.detach()}),super.detach()}enforceAllowedChildren(){let n=!1;this.children.forEach(i=>{n||this.statics.allowedChildren.some(r=>i instanceof r)||(i.statics.scope===rt.BLOCK_BLOT?(i.next!=null&&this.splitAfter(i),i.prev!=null&&this.splitAfter(i.prev),i.parent.unwrap(),n=!0):i instanceof Ja?i.unwrap():i.remove())})}formatAt(n,i,r,o){this.children.forEachAt(n,i,(u,c,f)=>{u.formatAt(c,f,r,o)})}insertAt(n,i,r){let[o,u]=this.children.find(n);if(o)o.insertAt(u,i,r);else{let c=r==null?this.scroll.create("text",i):this.scroll.create(i,r);this.appendChild(c)}}insertBefore(n,i){n.parent!=null&&n.parent.children.remove(n);let r=null;this.children.insertBefore(n,i||null),n.parent=this,i!=null&&(r=i.domNode),(this.domNode.parentNode!==n.domNode||this.domNode.nextSibling!==r)&&this.domNode.insertBefore(n.domNode,r),n.attach()}length(){return this.children.reduce((n,i)=>n+i.length(),0)}moveChildren(n,i){this.children.forEach(r=>{n.insertBefore(r,i)})}optimize(n){if(super.optimize(n),this.enforceAllowedChildren(),this.uiNode!=null&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),this.children.length===0)if(this.statics.defaultChild!=null){let i=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(i)}else this.remove()}path(n,i=!1){let[r,o]=this.children.find(n,i),u=[[this,n]];return r instanceof Ja?u.concat(r.path(o,i)):(r!=null&&u.push([r,o]),u)}removeChild(n){this.children.remove(n)}replaceWith(n,i){let r=typeof n=="string"?this.scroll.create(n,i):n;return r instanceof Ja&&this.moveChildren(r),super.replaceWith(r)}split(n,i=!1){if(!i){if(n===0)return this;if(n===this.length())return this.next}let r=this.clone();return this.parent&&this.parent.insertBefore(r,this.next||void 0),this.children.forEachAt(n,this.length(),(o,u,c)=>{let f=o.split(u,i);f!=null&&r.appendChild(f)}),r}splitAfter(n){let i=this.clone();for(;n.next!=null;)i.appendChild(n.next);return this.parent&&this.parent.insertBefore(i,this.next||void 0),i}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(n,i){let r=[],o=[];n.forEach(u=>{u.target===this.domNode&&u.type==="childList"&&(r.push(...u.addedNodes),o.push(...u.removedNodes))}),o.forEach(u=>{if(u.parentNode!=null&&u.tagName!=="IFRAME"&&document.body.compareDocumentPosition(u)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;let c=this.scroll.find(u);c!=null&&(c.domNode.parentNode==null||c.domNode.parentNode===this.domNode)&&c.detach()}),r.filter(u=>u.parentNode===this.domNode&&u!==this.uiNode).sort((u,c)=>u===c?0:u.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1).forEach(u=>{let c=null;u.nextSibling!=null&&(c=this.scroll.find(u.nextSibling));let f=M2(u,this.scroll);(f.next!==c||f.next==null)&&(f.parent!=null&&f.parent.removeChild(this),this.insertBefore(f,c||void 0))}),this.enforceAllowedChildren()}};D2.uiClass="";DG=D2,wr=DG;ed=class td extends wr{static create(n){return super.create(n)}static formats(n,i){let r=i.query(td.blotName);if(!(r!=null&&n.tagName===r.tagName)){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return n.tagName.toLowerCase()}}constructor(n,i){super(n,i),this.attributes=new Of(this.domNode)}format(n,i){if(n===this.statics.blotName&&!i)this.children.forEach(r=>{r instanceof td||(r=r.wrap(td.blotName,!0)),this.attributes.copy(r)}),this.unwrap();else{let r=this.scroll.query(n,rt.INLINE);if(r==null)return;r instanceof sr?this.attributes.attribute(r,i):i&&(n!==this.statics.blotName||this.formats()[n]!==i)&&this.replaceWith(n,i)}}formats(){let n=this.attributes.values(),i=this.statics.formats(this.domNode,this.scroll);return i!=null&&(n[this.statics.blotName]=i),n}formatAt(n,i,r,o){this.formats()[r]!=null||this.scroll.query(r,rt.ATTRIBUTE)?this.isolate(n,i).format(r,o):super.formatAt(n,i,r,o)}optimize(n){super.optimize(n);let i=this.formats();if(Object.keys(i).length===0)return this.unwrap();let r=this.next;r instanceof td&&r.prev===this&&jG(i,r.formats())&&(r.moveChildren(this),r.remove())}replaceWith(n,i){let r=super.replaceWith(n,i);return this.attributes.copy(r),r}update(n,i){super.update(n,i),n.some(r=>r.target===this.domNode&&r.type==="attributes")&&this.attributes.build()}wrap(n,i){let r=super.wrap(n,i);return r instanceof td&&this.attributes.move(r),r}};ed.allowedChildren=[ed,si],ed.blotName="inline",ed.scope=rt.INLINE_BLOT,ed.tagName="SPAN";qG=ed,bm=qG,nd=class D0 extends wr{static create(n){return super.create(n)}static formats(n,i){let r=i.query(D0.blotName);if(!(r!=null&&n.tagName===r.tagName)){if(typeof this.tagName=="string")return!0;if(Array.isArray(this.tagName))return n.tagName.toLowerCase()}}constructor(n,i){super(n,i),this.attributes=new Of(this.domNode)}format(n,i){let r=this.scroll.query(n,rt.BLOCK);r!=null&&(r instanceof sr?this.attributes.attribute(r,i):n===this.statics.blotName&&!i?this.replaceWith(D0.blotName):i&&(n!==this.statics.blotName||this.formats()[n]!==i)&&this.replaceWith(n,i))}formats(){let n=this.attributes.values(),i=this.statics.formats(this.domNode,this.scroll);return i!=null&&(n[this.statics.blotName]=i),n}formatAt(n,i,r,o){this.scroll.query(r,rt.BLOCK)!=null?this.format(r,o):super.formatAt(n,i,r,o)}insertAt(n,i,r){if(r==null||this.scroll.query(i,rt.INLINE)!=null)super.insertAt(n,i,r);else{let o=this.split(n);if(o!=null){let u=this.scroll.create(i,r);o.parent.insertBefore(u,o)}else throw new Error("Attempt to insertAt after block boundaries")}}replaceWith(n,i){let r=super.replaceWith(n,i);return this.attributes.copy(r),r}update(n,i){super.update(n,i),n.some(r=>r.target===this.domNode&&r.type==="attributes")&&this.attributes.build()}};nd.blotName="block",nd.scope=rt.BLOCK_BLOT,nd.tagName="P",nd.allowedChildren=[bm,nd,si];zG=nd,sc=zG,j0=class extends wr{checkMerge(){return this.next!==null&&this.next.statics.blotName===this.statics.blotName}deleteAt(n,i){super.deleteAt(n,i),this.enforceAllowedChildren()}formatAt(n,i,r,o){super.formatAt(n,i,r,o),this.enforceAllowedChildren()}insertAt(n,i,r){super.insertAt(n,i,r),this.enforceAllowedChildren()}optimize(n){super.optimize(n),this.children.length>0&&this.next!=null&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};j0.blotName="container",j0.scope=rt.BLOCK_BLOT;GG=j0,rd=GG,q0=class extends si{static formats(n,i){}format(n,i){super.formatAt(0,this.length(),n,i)}formatAt(n,i,r,o){n===0&&i===this.length()?this.format(r,o):super.formatAt(n,i,r,o)}formats(){return this.statics.formats(this.domNode,this.scroll)}},qn=q0,$G={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},BG=100,id=class extends wr{constructor(n,i){super(null,i),this.registry=n,this.scroll=this,this.build(),this.observer=new MutationObserver(r=>{this.update(r)}),this.observer.observe(this.domNode,$G),this.attach()}create(n,i){return this.registry.create(this,n,i)}find(n,i=!1){let r=this.registry.find(n,i);return r?r.scroll===this?r:i?this.find(r.scroll.domNode.parentNode,!0):null:null}query(n,i=rt.ANY){return this.registry.query(n,i)}register(...n){return this.registry.register(...n)}build(){this.scroll!=null&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(n,i){this.update(),n===0&&i===this.length()?this.children.forEach(r=>{r.remove()}):super.deleteAt(n,i)}formatAt(n,i,r,o){this.update(),super.formatAt(n,i,r,o)}insertAt(n,i,r){this.update(),super.insertAt(n,i,r)}optimize(n=[],i={}){super.optimize(i);let r=i.mutationsMap||new WeakMap,o=Array.from(this.observer.takeRecords());for(;o.length>0;)n.push(o.pop());let u=(p,g=!0)=>{p==null||p===this||p.domNode.parentNode!=null&&(r.has(p.domNode)||r.set(p.domNode,[]),g&&u(p.parent))},c=p=>{r.has(p.domNode)&&(p instanceof wr&&p.children.forEach(c),r.delete(p.domNode),p.optimize(i))},f=n;for(let p=0;f.length>0;p+=1){if(p>=BG)throw new Error("[Parchment] Maximum optimize iterations reached");for(f.forEach(g=>{let d=this.find(g.target,!0);d!=null&&(d.domNode===g.target&&(g.type==="childList"?(u(this.find(g.previousSibling,!1)),Array.from(g.addedNodes).forEach(v=>{let y=this.find(v,!1);u(y,!1),y instanceof wr&&y.children.forEach(S=>{u(S,!1)})})):g.type==="attributes"&&u(d.prev)),u(d))}),this.children.forEach(c),f=Array.from(this.observer.takeRecords()),o=f.slice();o.length>0;)n.push(o.pop())}}update(n,i={}){n=n||this.observer.takeRecords();let r=new WeakMap;n.map(o=>{let u=this.find(o.target,!0);return u==null?null:r.has(u.domNode)?(r.get(u.domNode).push(o),null):(r.set(u.domNode,[o]),u)}).forEach(o=>{o!=null&&o!==this&&r.has(o.domNode)&&o.update(r.get(o.domNode)||[],i)}),i.mutationsMap=r,r.has(this.domNode)&&super.update(r.get(this.domNode),i),this.optimize(n,i)}};id.blotName="scroll",id.defaultChild=sc,id.allowedChildren=[sc,rd],id.scope=rt.BLOCK_BLOT,id.tagName="DIV";UG=id,Pf=UG,z0=class j2 extends si{static create(n){return document.createTextNode(n)}static value(n){return n.data}constructor(n,i){super(n,i),this.text=this.statics.value(this.domNode)}deleteAt(n,i){this.domNode.data=this.text=this.text.slice(0,n)+this.text.slice(n+i)}index(n,i){return this.domNode===n?i:-1}insertAt(n,i,r){r==null?(this.text=this.text.slice(0,n)+i+this.text.slice(n),this.domNode.data=this.text):super.insertAt(n,i,r)}length(){return this.text.length}optimize(n){super.optimize(n),this.text=this.statics.value(this.domNode),this.text.length===0?this.remove():this.next instanceof j2&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(n,i=!1){return[this.domNode,n]}split(n,i=!1){if(!i){if(n===0)return this;if(n===this.length())return this.next}let r=this.scroll.create(this.domNode.splitText(n));return this.parent.insertBefore(r,this.next||void 0),this.text=this.statics.value(this.domNode),r}update(n,i){n.some(r=>r.type==="characterData"&&r.target===this.domNode)&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};z0.blotName="text",z0.scope=rt.INLINE_BLOT;VG=z0,sd=VG});var X2=Qe((xfe,Y2)=>{var Gr=-1,or=1,pi=0;function Ff(e,n,i,r,o){if(e===n)return e?[[pi,e]]:[];if(i!=null){var u=e$(e,n,i);if(u)return u}var c=$0(e,n),f=e.substring(0,c);e=e.substring(c),n=n.substring(c),c=xm(e,n);var p=e.substring(e.length-c);e=e.substring(0,e.length-c),n=n.substring(0,n.length-c);var g=WG(e,n);return f&&g.unshift([pi,f]),p&&g.push([pi,p]),B0(g,o),r&&XG(g),g}function WG(e,n){var i;if(!e)return[[or,n]];if(!n)return[[Gr,e]];var r=e.length>n.length?e:n,o=e.length>n.length?n:e,u=r.indexOf(o);if(u!==-1)return i=[[or,r.substring(0,u)],[pi,o],[or,r.substring(u+o.length)]],e.length>n.length&&(i[0][0]=i[2][0]=Gr),i;if(o.length===1)return[[Gr,e],[or,n]];var c=YG(e,n);if(c){var f=c[0],p=c[1],g=c[2],d=c[3],v=c[4],y=Ff(f,g),S=Ff(p,d);return y.concat([[pi,v]],S)}return HG(e,n)}function HG(e,n){for(var i=e.length,r=n.length,o=Math.ceil((i+r)/2),u=o,c=2*o,f=new Array(c),p=new Array(c),g=0;gi)S+=2;else if(re>r)y+=2;else if(v){var z=u+d-O;if(z>=0&&z=Z)return q2(e,n,X,re)}}}for(var te=-I+w;te<=I-E;te+=2){var z=u+te,Z;te===-I||te!==I&&p[z-1]i)E+=2;else if(ee>r)w+=2;else if(!v){var H=u+d-te;if(H>=0&&H=Z)return q2(e,n,X,re)}}}}return[[Gr,e],[or,n]]}function q2(e,n,i,r){var o=e.substring(0,i),u=n.substring(0,r),c=e.substring(i),f=n.substring(r),p=Ff(o,u),g=Ff(c,f);return p.concat(g)}function $0(e,n){if(!e||!n||e.charAt(0)!==n.charAt(0))return 0;for(var i=0,r=Math.min(e.length,n.length),o=r,u=0;ir?e=e.substring(i-r):in.length?e:n,r=e.length>n.length?n:e;if(i.length<4||r.length*2=S.length?[X,re,z,Z,H]:null}var u=o(i,r,Math.ceil(i.length/4)),c=o(i,r,Math.ceil(i.length/2)),f;if(!u&&!c)return null;c?u?f=u[4].length>c[4].length?u:c:f=c:f=u;var p,g,d,v;e.length>n.length?(p=f[0],g=f[1],d=f[2],v=f[3]):(d=f[0],v=f[1],p=f[2],g=f[3]);var y=f[4];return[p,g,d,v,y]}function XG(e){for(var n=!1,i=[],r=0,o=null,u=0,c=0,f=0,p=0,g=0;u0?i[r-1]:-1,c=0,f=0,p=0,g=0,o=null,n=!0)),u++;for(n&&B0(e),QG(e),u=1;u=S?(y>=d.length/2||y>=v.length/2)&&(e.splice(u,0,[pi,v.substring(0,y)]),e[u-1][1]=d.substring(0,d.length-y),e[u+1][1]=v.substring(y),u++):(S>=d.length/2||S>=v.length/2)&&(e.splice(u,0,[pi,d.substring(0,S)]),e[u-1][0]=or,e[u-1][1]=v.substring(0,v.length-S),e[u+1][0]=Gr,e[u+1][1]=d.substring(S),u++),u++}u++}}var G2=/[^a-zA-Z0-9]/,$2=/\s/,B2=/[\r\n]/,ZG=/\n\r?\n$/,KG=/^\r?\n\r?\n/;function QG(e){function n(S,w){if(!S||!w)return 6;var E=S.charAt(S.length-1),I=w.charAt(0),O=E.match(G2),H=I.match(G2),X=O&&E.match($2),re=H&&I.match($2),z=X&&E.match(B2),Z=re&&I.match(B2),te=z&&S.match(ZG),ee=Z&&w.match(KG);return te||ee?5:z||Z?4:O&&!X&&re?3:X||re?2:O||H?1:0}for(var i=1;i=v&&(v=y,p=r,g=o,d=u)}e[i-1][1]!=p&&(p?e[i-1][1]=p:(e.splice(i-1,1),i--),e[i][1]=g,d?e[i+1][1]=d:(e.splice(i+1,1),i--))}i++}}function B0(e,n){e.push([pi,""]);for(var i=0,r=0,o=0,u="",c="",f;i=0&&H2(e[p][1])){var g=e[p][1].slice(-1);if(e[p][1]=e[p][1].slice(0,-1),u=g+u,c=g+c,!e[p][1]){e.splice(p,1),i--;var d=p-1;e[d]&&e[d][0]===or&&(o++,c=e[d][1]+c,d--),e[d]&&e[d][0]===Gr&&(r++,u=e[d][1]+u,d--),p=d}}if(W2(e[i][1])){var g=e[i][1].charAt(0);e[i][1]=e[i][1].slice(1),u+=g,c+=g}}if(i0||c.length>0){u.length>0&&c.length>0&&(f=$0(c,u),f!==0&&(p>=0?e[p][1]+=c.substring(0,f):(e.splice(0,0,[pi,c.substring(0,f)]),i++),c=c.substring(f),u=u.substring(f)),f=xm(c,u),f!==0&&(e[i][1]=c.substring(c.length-f)+e[i][1],c=c.substring(0,c.length-f),u=u.substring(0,u.length-f)));var v=o+r;u.length===0&&c.length===0?(e.splice(i-v,v),i=i-v):u.length===0?(e.splice(i-v,v,[or,c]),i=i-v+1):c.length===0?(e.splice(i-v,v,[Gr,u]),i=i-v+1):(e.splice(i-v,v,[Gr,u],[or,c]),i=i-v+2)}i!==0&&e[i-1][0]===pi?(e[i-1][1]+=e[i][1],e.splice(i,1)):i++,o=0,r=0,u="",c="";break}}e[e.length-1][1]===""&&e.pop();var y=!1;for(i=1;i=55296&&e<=56319}function V2(e){return e>=56320&&e<=57343}function W2(e){return V2(e.charCodeAt(0))}function H2(e){return U2(e.charCodeAt(e.length-1))}function JG(e){for(var n=[],i=0;i0&&n.push(e[i]);return n}function G0(e,n,i,r){return H2(e)||W2(r)?null:JG([[pi,e],[Gr,n],[or,i],[pi,r]])}function e$(e,n,i){var r=typeof i=="number"?{index:i,length:0}:i.oldRange,o=typeof i=="number"?null:i.newRange,u=e.length,c=n.length;if(r.length===0&&(o===null||o.length===0)){var f=r.index,p=e.slice(0,f),g=e.slice(f),d=o?o.index:null;e:{var v=f+c-u;if(d!==null&&d!==v||v<0||v>c)break e;var y=n.slice(0,v),S=n.slice(v);if(S!==g)break e;var w=Math.min(f,v),E=p.slice(0,w),I=y.slice(0,w);if(E!==I)break e;var O=p.slice(w),H=y.slice(w);return G0(E,O,H,g)}e:{if(d!==null&&d!==f)break e;var X=f,y=n.slice(0,X),S=n.slice(X);if(y!==p)break e;var re=Math.min(u-X,c-X),z=g.slice(g.length-re),Z=S.slice(S.length-re);if(z!==Z)break e;var O=g.slice(0,g.length-re),H=S.slice(0,S.length-re);return G0(p,O,H,z)}}if(r.length>0&&o&&o.length===0)e:{var E=e.slice(0,r.index),z=e.slice(r.index+r.length),w=E.length,re=z.length;if(c{var t$=200,eb="__lodash_hash_undefined__",Nm=1,aT=2,lT=9007199254740991,Sm="[object Arguments]",H0="[object Array]",n$="[object AsyncFunction]",cT="[object Boolean]",uT="[object Date]",dT="[object Error]",hT="[object Function]",i$="[object GeneratorFunction]",Em="[object Map]",fT="[object Number]",r$="[object Null]",ad="[object Object]",Z2="[object Promise]",s$="[object Proxy]",pT="[object RegExp]",Cm="[object Set]",gT="[object String]",o$="[object Symbol]",a$="[object Undefined]",Y0="[object WeakMap]",mT="[object ArrayBuffer]",Im="[object DataView]",l$="[object Float32Array]",c$="[object Float64Array]",u$="[object Int8Array]",d$="[object Int16Array]",h$="[object Int32Array]",f$="[object Uint8Array]",p$="[object Uint8ClampedArray]",g$="[object Uint16Array]",m$="[object Uint32Array]",_$=/[\\^$.*+?()[\]{}|]/g,y$=/^\[object .+?Constructor\]$/,v$=/^(?:0|[1-9]\d*)$/,Mn={};Mn[l$]=Mn[c$]=Mn[u$]=Mn[d$]=Mn[h$]=Mn[f$]=Mn[p$]=Mn[g$]=Mn[m$]=!0;Mn[Sm]=Mn[H0]=Mn[mT]=Mn[cT]=Mn[Im]=Mn[uT]=Mn[dT]=Mn[hT]=Mn[Em]=Mn[fT]=Mn[ad]=Mn[pT]=Mn[Cm]=Mn[gT]=Mn[Y0]=!1;var _T=typeof global=="object"&&global&&global.Object===Object&&global,b$=typeof self=="object"&&self&&self.Object===Object&&self,sa=_T||b$||Function("return this")(),yT=typeof Df=="object"&&Df&&!Df.nodeType&&Df,K2=yT&&typeof ld=="object"&&ld&&!ld.nodeType&&ld,vT=K2&&K2.exports===yT,U0=vT&&_T.process,Q2=function(){try{return U0&&U0.binding&&U0.binding("util")}catch{}}(),J2=Q2&&Q2.isTypedArray;function x$(e,n){for(var i=-1,r=e==null?0:e.length,o=0,u=[];++i-1}function K$(e,n){var i=this.__data__,r=Mm(i,e);return r<0?(++this.size,i.push([e,n])):i[r][1]=n,this}oa.prototype.clear=H$;oa.prototype.delete=Y$;oa.prototype.get=X$;oa.prototype.has=Z$;oa.prototype.set=K$;function lc(e){var n=-1,i=e==null?0:e.length;for(this.clear();++nf))return!1;var g=u.get(e);if(g&&u.get(n))return g==n;var d=-1,v=!0,y=i&aT?new Lm:void 0;for(u.set(e,n),u.set(n,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=lT}function LT(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function zf(e){return e!=null&&typeof e=="object"}var TT=J2?C$(J2):pB;function LB(e){return IB(e)?uB(e):gB(e)}function TB(){return[]}function NB(){return!1}ld.exports=kB});var NT=Qe(ib=>{"use strict";Object.defineProperty(ib,"__esModule",{value:!0});var RB=Ql(),MB=tb(),nb;(function(e){function n(u={},c={},f=!1){typeof u!="object"&&(u={}),typeof c!="object"&&(c={});let p=RB(c);f||(p=Object.keys(p).reduce((g,d)=>(p[d]!=null&&(g[d]=p[d]),g),{}));for(let g in u)u[g]!==void 0&&c[g]===void 0&&(p[g]=u[g]);return Object.keys(p).length>0?p:void 0}e.compose=n;function i(u={},c={}){typeof u!="object"&&(u={}),typeof c!="object"&&(c={});let f=Object.keys(u).concat(Object.keys(c)).reduce((p,g)=>(MB(u[g],c[g])||(p[g]=c[g]===void 0?null:c[g]),p),{});return Object.keys(f).length>0?f:void 0}e.diff=i;function r(u={},c={}){u=u||{};let f=Object.keys(c).reduce((p,g)=>(c[g]!==u[g]&&u[g]!==void 0&&(p[g]=c[g]),p),{});return Object.keys(u).reduce((p,g)=>(u[g]!==c[g]&&c[g]===void 0&&(p[g]=null),p),f)}e.invert=r;function o(u,c,f=!1){if(typeof u!="object")return c;if(typeof c!="object")return;if(!f)return c;let p=Object.keys(c).reduce((g,d)=>(u[d]===void 0&&(g[d]=c[d]),g),{});return Object.keys(p).length>0?p:void 0}e.transform=o})(nb||(nb={}));ib.default=nb});var ob=Qe(sb=>{"use strict";Object.defineProperty(sb,"__esModule",{value:!0});var rb;(function(e){function n(i){return typeof i.delete=="number"?i.delete:typeof i.retain=="number"?i.retain:typeof i.retain=="object"&&i.retain!==null?1:typeof i.insert=="string"?i.insert.length:1}e.length=n})(rb||(rb={}));sb.default=rb});var MT=Qe(lb=>{"use strict";Object.defineProperty(lb,"__esModule",{value:!0});var RT=ob(),ab=class{constructor(n){this.ops=n,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(n){n||(n=1/0);let i=this.ops[this.index];if(i){let r=this.offset,o=RT.default.length(i);if(n>=o-r?(n=o-r,this.index+=1,this.offset=0):this.offset+=n,typeof i.delete=="number")return{delete:n};{let u={};return i.attributes&&(u.attributes=i.attributes),typeof i.retain=="number"?u.retain=n:typeof i.retain=="object"&&i.retain!==null?u.retain=i.retain:typeof i.insert=="string"?u.insert=i.insert.substr(r,n):u.insert=i.insert,u}}else return{retain:1/0}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?RT.default.length(this.ops[this.index])-this.offset:1/0}peekType(){let n=this.ops[this.index];return n?typeof n.delete=="number"?"delete":typeof n.retain=="number"||typeof n.retain=="object"&&n.retain!==null?"retain":"insert":"retain"}rest(){if(this.hasNext()){if(this.offset===0)return this.ops.slice(this.index);{let n=this.offset,i=this.index,r=this.next(),o=this.ops.slice(this.index);return this.offset=n,this.index=i,[r].concat(o)}}else return[]}};lb.default=ab});var $r=Qe((la,Pm)=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.AttributeMap=la.OpIterator=la.Op=void 0;var Om=X2(),AB=Ql(),cb=tb(),uc=NT();la.AttributeMap=uc.default;var aa=ob();la.Op=aa.default;var hs=MT();la.OpIterator=hs.default;var OB="\0",AT=(e,n)=>{if(typeof e!="object"||e===null)throw new Error(`cannot retain a ${typeof e}`);if(typeof n!="object"||n===null)throw new Error(`cannot retain a ${typeof n}`);let i=Object.keys(e)[0];if(!i||i!==Object.keys(n)[0])throw new Error(`embed types not matched: ${i} != ${Object.keys(n)[0]}`);return[i,e[i],n[i]]},ca=class e{constructor(n){Array.isArray(n)?this.ops=n:n!=null&&Array.isArray(n.ops)?this.ops=n.ops:this.ops=[]}static registerEmbed(n,i){this.handlers[n]=i}static unregisterEmbed(n){delete this.handlers[n]}static getHandler(n){let i=this.handlers[n];if(!i)throw new Error(`no handlers for embed type "${n}"`);return i}insert(n,i){let r={};return typeof n=="string"&&n.length===0?this:(r.insert=n,i!=null&&typeof i=="object"&&Object.keys(i).length>0&&(r.attributes=i),this.push(r))}delete(n){return n<=0?this:this.push({delete:n})}retain(n,i){if(typeof n=="number"&&n<=0)return this;let r={retain:n};return i!=null&&typeof i=="object"&&Object.keys(i).length>0&&(r.attributes=i),this.push(r)}push(n){let i=this.ops.length,r=this.ops[i-1];if(n=AB(n),typeof r=="object"){if(typeof n.delete=="number"&&typeof r.delete=="number")return this.ops[i-1]={delete:r.delete+n.delete},this;if(typeof r.delete=="number"&&n.insert!=null&&(i-=1,r=this.ops[i-1],typeof r!="object"))return this.ops.unshift(n),this;if(cb(n.attributes,r.attributes)){if(typeof n.insert=="string"&&typeof r.insert=="string")return this.ops[i-1]={insert:r.insert+n.insert},typeof n.attributes=="object"&&(this.ops[i-1].attributes=n.attributes),this;if(typeof n.retain=="number"&&typeof r.retain=="number")return this.ops[i-1]={retain:r.retain+n.retain},typeof n.attributes=="object"&&(this.ops[i-1].attributes=n.attributes),this}}return i===this.ops.length?this.ops.push(n):this.ops.splice(i,0,n),this}chop(){let n=this.ops[this.ops.length-1];return n&&typeof n.retain=="number"&&!n.attributes&&this.ops.pop(),this}filter(n){return this.ops.filter(n)}forEach(n){this.ops.forEach(n)}map(n){return this.ops.map(n)}partition(n){let i=[],r=[];return this.forEach(o=>{(n(o)?i:r).push(o)}),[i,r]}reduce(n,i){return this.ops.reduce(n,i)}changeLength(){return this.reduce((n,i)=>i.insert?n+aa.default.length(i):i.delete?n-i.delete:n,0)}length(){return this.reduce((n,i)=>n+aa.default.length(i),0)}slice(n=0,i=1/0){let r=[],o=new hs.default(this.ops),u=0;for(;u0&&r.next(u.retain-f)}let c=new e(o);for(;i.hasNext()||r.hasNext();)if(r.peekType()==="insert")c.push(r.next());else if(i.peekType()==="delete")c.push(i.next());else{let f=Math.min(i.peekLength(),r.peekLength()),p=i.next(f),g=r.next(f);if(g.retain){let d={};if(typeof p.retain=="number")d.retain=typeof g.retain=="number"?f:g.retain;else if(typeof g.retain=="number")p.retain==null?d.insert=p.insert:d.retain=p.retain;else{let y=p.retain==null?"insert":"retain",[S,w,E]=AT(p[y],g.retain),I=e.getHandler(S);d[y]={[S]:I.compose(w,E,y==="retain")}}let v=uc.default.compose(p.attributes,g.attributes,typeof p.retain=="number");if(v&&(d.attributes=v),c.push(d),!r.hasNext()&&cb(c.ops[c.ops.length-1],d)){let y=new e(i.rest());return c.concat(y).chop()}}else typeof g.delete=="number"&&(typeof p.retain=="number"||typeof p.retain=="object"&&p.retain!==null)&&c.push(g)}return c.chop()}concat(n){let i=new e(this.ops.slice());return n.ops.length>0&&(i.push(n.ops[0]),i.ops=i.ops.concat(n.ops.slice(1))),i}diff(n,i){if(this.ops===n.ops)return new e;let r=[this,n].map(p=>p.map(g=>{if(g.insert!=null)return typeof g.insert=="string"?g.insert:OB;let d=p===n?"on":"with";throw new Error("diff() called "+d+" non-document")}).join("")),o=new e,u=Om(r[0],r[1],i,!0),c=new hs.default(this.ops),f=new hs.default(n.ops);return u.forEach(p=>{let g=p[1].length;for(;g>0;){let d=0;switch(p[0]){case Om.INSERT:d=Math.min(f.peekLength(),g),o.push(f.next(d));break;case Om.DELETE:d=Math.min(g,c.peekLength()),c.next(d),o.delete(d);break;case Om.EQUAL:d=Math.min(c.peekLength(),f.peekLength(),g);let v=c.next(d),y=f.next(d);cb(v.insert,y.insert)?o.retain(d,uc.default.diff(v.attributes,y.attributes)):o.push(y).delete(d);break}g-=d}}),o.chop()}eachLine(n,i=` +`){let r=new hs.default(this.ops),o=new e,u=0;for(;r.hasNext();){if(r.peekType()!=="insert")return;let c=r.peek(),f=aa.default.length(c)-r.peekLength(),p=typeof c.insert=="string"?c.insert.indexOf(i,f)-f:-1;if(p<0)o.push(r.next());else if(p>0)o.push(r.next(p));else{if(n(o,r.next(1).attributes||{},u)===!1)return;u+=1,o=new e}}o.length()>0&&n(o,{},u)}invert(n){let i=new e;return this.reduce((r,o)=>{if(o.insert)i.delete(aa.default.length(o));else{if(typeof o.retain=="number"&&o.attributes==null)return i.retain(o.retain),r+o.retain;if(o.delete||typeof o.retain=="number"){let u=o.delete||o.retain;return n.slice(r,r+u).forEach(f=>{o.delete?i.push(f):o.retain&&o.attributes&&i.retain(aa.default.length(f),uc.default.invert(o.attributes,f.attributes))}),r+u}else if(typeof o.retain=="object"&&o.retain!==null){let u=n.slice(r,r+1),c=new hs.default(u.ops).next(),[f,p,g]=AT(o.retain,c.insert),d=e.getHandler(f);return i.retain({[f]:d.invert(p,g)},uc.default.invert(o.attributes,c.attributes)),r+1}}return r},0),i.chop()}transform(n,i=!1){if(i=!!i,typeof n=="number")return this.transformPosition(n,i);let r=n,o=new hs.default(this.ops),u=new hs.default(r.ops),c=new e;for(;o.hasNext()||u.hasNext();)if(o.peekType()==="insert"&&(i||u.peekType()!=="insert"))c.retain(aa.default.length(o.next()));else if(u.peekType()==="insert")c.push(u.next());else{let f=Math.min(o.peekLength(),u.peekLength()),p=o.next(f),g=u.next(f);if(p.delete)continue;if(g.delete)c.push(g);else{let d=p.retain,v=g.retain,y=typeof v=="object"&&v!==null?v:f;if(typeof d=="object"&&d!==null&&typeof v=="object"&&v!==null){let S=Object.keys(d)[0];if(S===Object.keys(v)[0]){let w=e.getHandler(S);w&&(y={[S]:w.transform(d[S],v[S],i)})}}c.retain(y,uc.default.transform(p.attributes,g.attributes,i))}}return c.chop()}transformPosition(n,i=!1){i=!!i;let r=new hs.default(this.ops),o=0;for(;r.hasNext()&&o<=n;){let u=r.peekLength(),c=r.peekType();if(r.next(),c==="delete"){n-=Math.min(u,n-o);continue}else c==="insert"&&(o{xn();$f=class extends qn{static value(){}optimize(){(this.prev||this.next)&&this.remove()}length(){return 0}value(){return""}};$f.blotName="break";$f.tagName="BR";$i=$f});function dc(e){return e.replace(/[&<>"']/g,n=>PB[n])}var Kn,PB,ua=W(()=>{xn();Kn=class extends sd{},PB={"&":"&","<":"<",">":">",'"':""","'":"'"}});var ub,Bi,da=W(()=>{xn();rl();ua();ub=class e extends bm{static allowedChildren=[e,$i,qn,Kn];static order=["cursor","inline","link","underline","strike","italic","bold","script","code"];static compare(n,i){let r=e.order.indexOf(n),o=e.order.indexOf(i);return r>=0||o>=0?r-o:n===i?0:n0){let i=this.parent.isolate(this.offset(),this.length());this.moveChildren(i),i.wrap(this)}}},Bi=ub});function hb(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.descendants(si).reduce((i,r)=>r.length()===0?i:i.insert(r.value(),Er(r,{},n)),new db.default).insert(` +`,Er(e))}function Er(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e==null||("formats"in e&&typeof e.formats=="function"&&(n={...n,...e.formats()},i&&delete n["code-token"]),e.parent==null||e.parent.statics.blotName==="scroll"||e.parent.statics.scope!==e.statics.scope)?n:Er(e.parent,n,i)}var db,OT,wn,gi,fs=W(()=>{xn();db=hn($r(),1);rl();da();ua();OT=1,wn=class extends sc{cache={};delta(){return this.cache.delta==null&&(this.cache.delta=hb(this)),this.cache.delta}deleteAt(n,i){super.deleteAt(n,i),this.cache={}}formatAt(n,i,r,o){i<=0||(this.scroll.query(r,rt.BLOCK)?n+i===this.length()&&this.format(r,o):super.formatAt(n,Math.min(i,this.length()-n-1),r,o),this.cache={})}insertAt(n,i,r){if(r!=null){super.insertAt(n,i,r),this.cache={};return}if(i.length===0)return;let o=i.split(` +`),u=o.shift();u.length>0&&(n(c=c.split(f,!0),c.insertAt(0,p),p.length),n+u.length)}insertBefore(n,i){let{head:r}=this.children;super.insertBefore(n,i),r instanceof $i&&r.remove(),this.cache={}}length(){return this.cache.length==null&&(this.cache.length=super.length()+OT),this.cache.length}moveChildren(n,i){super.moveChildren(n,i),this.cache={}}optimize(n){super.optimize(n),this.cache={}}path(n){return super.path(n,!0)}removeChild(n){super.removeChild(n),this.cache={}}split(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(i&&(n===0||n>=this.length()-OT)){let o=this.clone();return n===0?(this.parent.insertBefore(o,this),this):(this.parent.insertBefore(o,this.next),o)}let r=super.split(n,i);return this.cache={},r}};wn.blotName="block";wn.tagName="P";wn.defaultChild=$i;wn.allowedChildren=[$i,Bi,qn,Kn];gi=class extends qn{attach(){super.attach(),this.attributes=new Of(this.domNode)}delta(){return new db.default().insert(this.value(),{...this.formats(),...this.attributes.values()})}format(n,i){let r=this.scroll.query(n,rt.BLOCK_ATTRIBUTE);r!=null&&this.attributes.attribute(r,i)}formatAt(n,i,r,o){this.format(r,o)}insertAt(n,i,r){if(r!=null){super.insertAt(n,i,r);return}let o=i.split(` +`),u=o.pop(),c=o.map(p=>{let g=this.scroll.create(wn.blotName);return g.insertAt(0,p),g}),f=this.split(n);c.forEach(p=>{this.parent.insertBefore(p,f)}),u&&this.parent.insertBefore(this.scroll.create("text",u),f)}};gi.scope=rt.BLOCK_BLOT});var fb,sl,Bf=W(()=>{xn();ua();fb=class e extends qn{static blotName="cursor";static className="ql-cursor";static tagName="span";static CONTENTS="\uFEFF";static value(){}constructor(n,i,r){super(n,i),this.selection=r,this.textNode=document.createTextNode(e.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){this.parent!=null&&this.parent.removeChild(this)}format(n,i){if(this.savedLength!==0){super.format(n,i);return}let r=this,o=0;for(;r!=null&&r.statics.scope!==rt.BLOCK_BLOT;)o+=r.offset(r.parent),r=r.parent;r!=null&&(this.savedLength=e.CONTENTS.length,r.optimize(),r.formatAt(o,e.CONTENTS.length,n,i),this.savedLength=0)}index(n,i){return n===this.textNode?0:super.index(n,i)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){if(this.selection.composing||this.parent==null)return null;let n=this.selection.getNativeRange();for(;this.domNode.lastChild!=null&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);let i=this.prev instanceof Kn?this.prev:null,r=i?i.length():0,o=this.next instanceof Kn?this.next:null,u=o?o.text:"",{textNode:c}=this,f=c.data.split(e.CONTENTS).join("");c.data=e.CONTENTS;let p;if(i)p=i,(f||o)&&(i.insertAt(i.length(),f+u),o&&o.remove());else if(o)p=o,o.insertAt(0,f);else{let g=document.createTextNode(f);p=this.scroll.create(g),this.parent.insertBefore(p,this)}if(this.remove(),n){let g=(y,S)=>i&&y===i.domNode?S:y===c?r+S-1:o&&y===o.domNode?r+f.length+S:null,d=g(n.start.node,n.start.offset),v=g(n.end.node,n.end.offset);if(d!==null&&v!==null)return{startNode:p.domNode,startOffset:d,endNode:p.domNode,endOffset:v}}return null}update(n,i){if(n.some(r=>r.type==="characterData"&&r.target===this.textNode)){let r=this.restore();r&&(i.range=r)}}optimize(n){super.optimize(n);let{parent:i}=this;for(;i;){if(i.domNode.tagName==="A"){this.savedLength=e.CONTENTS.length,i.isolate(this.offset(i),this.length()).unwrap(),this.savedLength=0;break}i=i.parent}}value(){return""}},sl=fb});var FT=Qe((Gfe,pb)=>{"use strict";var FB=Object.prototype.hasOwnProperty,ar="~";function Uf(){}Object.create&&(Uf.prototype=Object.create(null),new Uf().__proto__||(ar=!1));function DB(e,n,i){this.fn=e,this.context=n,this.once=i||!1}function PT(e,n,i,r,o){if(typeof i!="function")throw new TypeError("The listener must be a function");var u=new DB(i,r||e,o),c=ar?ar+n:n;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],u]:e._events[c].push(u):(e._events[c]=u,e._eventsCount++),e}function Fm(e,n){--e._eventsCount===0?e._events=new Uf:delete e._events[n]}function Ui(){this._events=new Uf,this._eventsCount=0}Ui.prototype.eventNames=function(){var n=[],i,r;if(this._eventsCount===0)return n;for(r in i=this._events)FB.call(i,r)&&n.push(ar?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(i)):n};Ui.prototype.listeners=function(n){var i=ar?ar+n:n,r=this._events[i];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,u=r.length,c=new Array(u);o{gb=hn(FT(),1)});var Vf,mb=W(()=>{Vf=new WeakMap});function jT(e){if(yb&&_b.indexOf(e)<=_b.indexOf(yb)){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r(n[i]=jT.bind(console,i,e),n),{})}var _b,yb,Br,hc=W(()=>{_b=["error","warn","log","info"],yb="warn";vb.level=e=>{yb=e};jT.level=vb.level;Br=vb});var bb,jB,xb,ot,ha=W(()=>{DT();mb();hc();bb=Br("quill:events"),jB=["selectionchange","mousedown","mouseup","click"];jB.forEach(e=>{document.addEventListener(e,function(){for(var n=arguments.length,i=new Array(n),r=0;r{let u=Vf.get(o);u&&u.emitter&&u.emitter.handleDOM(...i)})})});xb=class extends gb.default{static events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"};static sources={API:"api",SILENT:"silent",USER:"user"};constructor(){super(),this.domListeners={},this.on("error",bb.error)}emit(){for(var n=arguments.length,i=new Array(n),r=0;r1?i-1:0),o=1;o{let{node:c,handler:f}=u;(n.target===c||c.contains(n.target))&&f(n,...r)})}listenDOM(n,i,r){this.domListeners[n]||(this.domListeners[n]=[]),this.domListeners[n].push({node:i,handler:r})}},ot=xb});function Sb(e,n){try{n.parentNode}catch{return!1}return e.contains(n)}var wb,Vi,Eb,qT,Wf=W(()=>{xn();Qa();ha();hc();wb=Br("quill:selection"),Vi=class{constructor(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;this.index=n,this.length=i}},Eb=class{constructor(n,i){this.emitter=i,this.scroll=n,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new Vi(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,()=>{!this.mouseDown&&!this.composing&&setTimeout(this.update.bind(this,ot.sources.USER),1)}),this.emitter.on(ot.events.SCROLL_BEFORE_UPDATE,()=>{if(!this.hasFocus())return;let r=this.getNativeRange();r!=null&&r.start.node!==this.cursor.textNode&&this.emitter.once(ot.events.SCROLL_UPDATE,(o,u)=>{try{this.root.contains(r.start.node)&&this.root.contains(r.end.node)&&this.setNativeRange(r.start.node,r.start.offset,r.end.node,r.end.offset);let c=u.some(f=>f.type==="characterData"||f.type==="childList"||f.type==="attributes"&&f.target===this.root);this.update(c?ot.sources.SILENT:o)}catch{}})}),this.emitter.on(ot.events.SCROLL_OPTIMIZE,(r,o)=>{if(o.range){let{startNode:u,startOffset:c,endNode:f,endOffset:p}=o.range;this.setNativeRange(u,c,f,p),this.update(ot.sources.SILENT)}}),this.update(ot.sources.SILENT)}handleComposition(){this.emitter.on(ot.events.COMPOSITION_BEFORE_START,()=>{this.composing=!0}),this.emitter.on(ot.events.COMPOSITION_END,()=>{if(this.composing=!1,this.cursor.parent){let n=this.cursor.restore();if(!n)return;setTimeout(()=>{this.setNativeRange(n.startNode,n.startOffset,n.endNode,n.endOffset)},1)}})}handleDragging(){this.emitter.listenDOM("mousedown",document.body,()=>{this.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,()=>{this.mouseDown=!1,this.update(ot.sources.USER)})}focus(){this.hasFocus()||(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(n,i){this.scroll.update();let r=this.getNativeRange();if(!(r==null||!r.native.collapsed||this.scroll.query(n,rt.BLOCK))){if(r.start.node!==this.cursor.textNode){let o=this.scroll.find(r.start.node,!1);if(o==null)return;if(o instanceof si){let u=o.split(r.start.offset);o.parent.insertBefore(this.cursor,u)}else o.insertBefore(this.cursor,r.start.node);this.cursor.attach()}this.cursor.format(n,i),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=this.scroll.length();n=Math.min(n,r-1),i=Math.min(n+i,r-1)-n;let o,[u,c]=this.scroll.leaf(n);if(u==null)return null;if(i>0&&c===u.length()){let[d]=this.scroll.leaf(n+1);if(d){let[v]=this.scroll.line(n),[y]=this.scroll.line(n+1);v===y&&(u=d,c=0)}}[o,c]=u.position(c,!0);let f=document.createRange();if(i>0)return f.setStart(o,c),[u,c]=this.scroll.leaf(n+i),u==null?null:([o,c]=u.position(c,!0),f.setEnd(o,c),f.getBoundingClientRect());let p="left",g;if(o instanceof Text){if(!o.data.length)return null;c0&&(p="right")}return{bottom:g.top+g.height,height:g.height,left:g[p],right:g[p],top:g.top,width:0}}getNativeRange(){let n=document.getSelection();if(n==null||n.rangeCount<=0)return null;let i=n.getRangeAt(0);if(i==null)return null;let r=this.normalizeNative(i);return wb.info("getNativeRange",r),r}getRange(){let n=this.scroll.domNode;if("isConnected"in n&&!n.isConnected)return[null,null];let i=this.getNativeRange();return i==null?[null,null]:[this.normalizedToRange(i),i]}hasFocus(){return document.activeElement===this.root||document.activeElement!=null&&Sb(this.root,document.activeElement)}normalizedToRange(n){let i=[[n.start.node,n.start.offset]];n.native.collapsed||i.push([n.end.node,n.end.offset]);let r=i.map(c=>{let[f,p]=c,g=this.scroll.find(f,!0),d=g.offset(this.scroll);return p===0?d:g instanceof si?d+g.index(f,p):d+g.length()}),o=Math.min(Math.max(...r),this.scroll.length()-1),u=Math.min(o,...r);return new Vi(u,o-u)}normalizeNative(n){if(!Sb(this.root,n.startContainer)||!n.collapsed&&!Sb(this.root,n.endContainer))return null;let i={start:{node:n.startContainer,offset:n.startOffset},end:{node:n.endContainer,offset:n.endOffset},native:n};return[i.start,i.end].forEach(r=>{let{node:o,offset:u}=r;for(;!(o instanceof Text)&&o.childNodes.length>0;)if(o.childNodes.length>u)o=o.childNodes[u],u=0;else if(o.childNodes.length===u)o=o.lastChild,o instanceof Text?u=o.data.length:o.childNodes.length>0?u=o.childNodes.length:u=o.childNodes.length+1;else break;r.node=o,r.offset=u}),i}rangeToNative(n){let i=this.scroll.length(),r=(o,u)=>{o=Math.min(i-1,o);let[c,f]=this.scroll.leaf(o);return c?c.position(f,u):[null,-1]};return[...r(n.index,!1),...r(n.index+n.length,!0)]}setNativeRange(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:i,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(wb.info("setNativeRange",n,i,r,o),n!=null&&(this.root.parentNode==null||n.parentNode==null||r.parentNode==null))return;let c=document.getSelection();if(c!=null)if(n!=null){this.hasFocus()||this.root.focus({preventScroll:!0});let{native:f}=this.getNativeRange()||{};if(f==null||u||n!==f.startContainer||i!==f.startOffset||r!==f.endContainer||o!==f.endOffset){n instanceof Element&&n.tagName==="BR"&&(i=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode),r instanceof Element&&r.tagName==="BR"&&(o=Array.from(r.parentNode.childNodes).indexOf(r),r=r.parentNode);let p=document.createRange();p.setStart(n,i),p.setEnd(r,o),c.removeAllRanges(),c.addRange(p)}}else c.removeAllRanges(),this.root.blur()}setRange(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ot.sources.API;if(typeof i=="string"&&(r=i,i=!1),wb.info("setRange",n),n!=null){let o=this.rangeToNative(n);this.setNativeRange(...o,i)}else this.setNativeRange(null);this.update(r)}update(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ot.sources.USER,i=this.lastRange,[r,o]=this.getRange();if(this.lastRange=r,this.lastNative=o,this.lastRange!=null&&(this.savedRange=this.lastRange),!rc(i,this.lastRange)){if(!this.composing&&o!=null&&o.native.collapsed&&o.start.node!==this.cursor.textNode){let c=this.cursor.restore();c&&this.setNativeRange(c.startNode,c.startOffset,c.endNode,c.endOffset)}let u=[ot.events.SELECTION_CHANGE,mo(this.lastRange),mo(i),n];this.emitter.emit(ot.events.EDITOR_CHANGE,...u),n!==ot.sources.SILENT&&this.emitter.emit(...u)}}};qT=Eb});function ud(e,n,i){if(e.length===0){let[S]=Cb(i.pop());return n<=0?``:`${ud([],n-1,i)}`}let[{child:r,offset:o,length:u,indent:c,type:f},...p]=e,[g,d]=Cb(f);if(c>n)return i.push(f),c===n+1?`<${g}>${Hf(r,o,u)}${ud(p,c,i)}`:`<${g}>
  • ${ud(e,n+1,i)}`;let v=i[i.length-1];if(c===n&&f===v)return`
  • ${Hf(r,o,u)}${ud(p,c,i)}`;let[y]=Cb(i.pop());return`${ud(e,n-1,i)}`}function Hf(e,n,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if("html"in e&&typeof e.html=="function")return e.html(n,i);if(e instanceof Kn)return dc(e.value().slice(n,n+i)).replaceAll(" "," ");if(e instanceof wr){if(e.statics.blotName==="list-container"){let g=[];return e.children.forEachAt(n,i,(d,v,y)=>{let S="formats"in d&&typeof d.formats=="function"?d.formats():{};g.push({child:d,offset:v,length:y,indent:S.indent||0,type:S.list})}),ud(g,-1,[])}let o=[];if(e.children.forEachAt(n,i,(g,d,v)=>{o.push(Hf(g,d,v))}),r||e.statics.blotName==="list")return o.join("");let{outerHTML:u,innerHTML:c}=e.domNode,[f,p]=u.split(`>${c}<`);return f==="${o.join("")}<${p}`:`${f}>${o.join("")}<${p}`}return e.domNode instanceof Element?e.domNode.outerHTML:""}function zB(e,n){return Object.keys(n).reduce((i,r)=>{if(e[r]==null)return i;let o=n[r];return o===e[r]?i[r]=o:Array.isArray(o)?o.indexOf(e[r])<0?i[r]=o.concat([e[r]]):i[r]=o:i[r]=[o,e[r]],i},{})}function Cb(e){let n=e==="ordered"?"ol":"ul";switch(e){case"checked":return[n,' data-list="checked"'];case"unchecked":return[n,' data-list="unchecked"'];default:return[n,""]}}function zT(e){return e.reduce((n,i)=>{if(typeof i.insert=="string"){let r=i.insert.replace(/\r\n/g,` `).replace(/\r/g,` -`);return n.insert(r,i.attributes)}return n.push(i)},new Gn.default)}function GT(e,n){let{index:i,length:r}=e;return new Vi(i+n,r)}function GB(e){let n=[];return e.forEach(i=>{typeof i.insert=="string"?i.insert.split(` +`);return n.insert(r,i.attributes)}return n.push(i)},new zn.default)}function GT(e,n){let{index:i,length:r}=e;return new Vi(i+n,r)}function GB(e){let n=[];return e.forEach(i=>{typeof i.insert=="string"?i.insert.split(` `).forEach((o,u)=>{u&&n.push({insert:` -`,attributes:i.attributes}),o&&n.push({insert:o,attributes:i.attributes})}):n.push(i)}),n}var Gn,qB,Ib,$T,BT=W(()=>{Qa();xn();Gn=hn(Br(),1);ps();rl();Bf();ua();Wf();qB=/^[ -~]*$/,Ib=class{constructor(n){this.scroll=n,this.delta=this.getDelta()}applyDelta(n){this.scroll.update();let i=this.scroll.length();this.scroll.batchStart();let r=zT(n),o=new Gn.default;return GB(r.ops.slice()).reduce((c,f)=>{let p=Gn.Op.length(f),g=f.attributes||{},d=!1,v=!1;if(f.insert!=null){if(o.retain(p),typeof f.insert=="string"){let w=f.insert;v=!w.endsWith(` -`)&&(i<=c||!!this.scroll.descendant(pi,c)[0]),this.scroll.insertAt(c,w);let[E,I]=this.scroll.line(c),O=wr({},Cr(E));if(E instanceof wn){let[H]=E.descendant(si,I);H&&(O=wr(O,Cr(H)))}g=Gn.AttributeMap.diff(O,g)||{}}else if(typeof f.insert=="object"){let w=Object.keys(f.insert)[0];if(w==null)return c;let E=this.scroll.query(w,rt.INLINE)!=null;if(E)(i<=c||this.scroll.descendant(pi,c)[0])&&(v=!0);else if(c>0){let[I,O]=this.scroll.descendant(si,c-1);I instanceof Kn?I.value()[O]!==` -`&&(d=!0):I instanceof zn&&I.statics.scope===rt.INLINE_BLOT&&(d=!0)}if(this.scroll.insertAt(c,w,f.insert[w]),E){let[I]=this.scroll.descendant(si,c);if(I){let O=wr({},Cr(I));g=Gn.AttributeMap.diff(O,g)||{}}}}i+=p}else if(o.push(f),f.retain!==null&&typeof f.retain=="object"){let w=Object.keys(f.retain)[0];if(w==null)return c;this.scroll.updateEmbedAt(c,w,f.retain[w])}Object.keys(g).forEach(w=>{this.scroll.formatAt(c,p,w,g[w])});let y=d?1:0,S=v?1:0;return i+=y+S,o.retain(y),o.delete(S),c+p+y+S},0),o.reduce((c,f)=>typeof f.delete=="number"?(this.scroll.deleteAt(c,f.delete),c):c+Gn.Op.length(f),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(r)}deleteText(n,i){return this.scroll.deleteAt(n,i),this.update(new Gn.default().retain(n).delete(i))}formatLine(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.scroll.update(),Object.keys(r).forEach(u=>{this.scroll.lines(n,Math.max(i,1)).forEach(c=>{c.format(u,r[u])})}),this.scroll.optimize();let o=new Gn.default().retain(n).retain(i,mo(r));return this.update(o)}formatText(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.keys(r).forEach(u=>{this.scroll.formatAt(n,i,u,r[u])});let o=new Gn.default().retain(n).retain(i,mo(r));return this.update(o)}getContents(n,i){return this.delta.slice(n,n+i)}getDelta(){return this.scroll.lines().reduce((n,i)=>n.concat(i.delta()),new Gn.default)}getFormat(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=[],o=[];i===0?this.scroll.path(n).forEach(f=>{let[p]=f;p instanceof wn?r.push(p):p instanceof si&&o.push(p)}):(r=this.scroll.lines(n,i),o=this.scroll.descendants(si,n,i));let[u,c]=[r,o].map(f=>{let p=f.shift();if(p==null)return{};let g=Cr(p);for(;Object.keys(g).length>0;){let d=f.shift();if(d==null)return g;g=zB(Cr(d),g)}return g});return{...u,...c}}getHTML(n,i){let[r,o]=this.scroll.line(n);if(r){let u=r.length();return r.length()>=o+i&&!(o===0&&i===u)?Hf(r,o,i,!0):Hf(this.scroll,n,i,!0)}return""}getText(n,i){return this.getContents(n,i).filter(r=>typeof r.insert=="string").map(r=>r.insert).join("")}insertContents(n,i){let r=zT(i),o=new Gn.default().retain(n).concat(r);return this.scroll.insertContents(n,r),this.update(o)}insertEmbed(n,i,r){return this.scroll.insertAt(n,i,r),this.update(new Gn.default().retain(n).insert({[i]:r}))}insertText(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return i=i.replace(/\r\n/g,` +`,attributes:i.attributes}),o&&n.push({insert:o,attributes:i.attributes})}):n.push(i)}),n}var zn,qB,Ib,$T,BT=W(()=>{Qa();xn();zn=hn($r(),1);fs();rl();Bf();ua();Wf();qB=/^[ -~]*$/,Ib=class{constructor(n){this.scroll=n,this.delta=this.getDelta()}applyDelta(n){this.scroll.update();let i=this.scroll.length();this.scroll.batchStart();let r=zT(n),o=new zn.default;return GB(r.ops.slice()).reduce((c,f)=>{let p=zn.Op.length(f),g=f.attributes||{},d=!1,v=!1;if(f.insert!=null){if(o.retain(p),typeof f.insert=="string"){let w=f.insert;v=!w.endsWith(` +`)&&(i<=c||!!this.scroll.descendant(gi,c)[0]),this.scroll.insertAt(c,w);let[E,I]=this.scroll.line(c),O=xr({},Er(E));if(E instanceof wn){let[H]=E.descendant(si,I);H&&(O=xr(O,Er(H)))}g=zn.AttributeMap.diff(O,g)||{}}else if(typeof f.insert=="object"){let w=Object.keys(f.insert)[0];if(w==null)return c;let E=this.scroll.query(w,rt.INLINE)!=null;if(E)(i<=c||this.scroll.descendant(gi,c)[0])&&(v=!0);else if(c>0){let[I,O]=this.scroll.descendant(si,c-1);I instanceof Kn?I.value()[O]!==` +`&&(d=!0):I instanceof qn&&I.statics.scope===rt.INLINE_BLOT&&(d=!0)}if(this.scroll.insertAt(c,w,f.insert[w]),E){let[I]=this.scroll.descendant(si,c);if(I){let O=xr({},Er(I));g=zn.AttributeMap.diff(O,g)||{}}}}i+=p}else if(o.push(f),f.retain!==null&&typeof f.retain=="object"){let w=Object.keys(f.retain)[0];if(w==null)return c;this.scroll.updateEmbedAt(c,w,f.retain[w])}Object.keys(g).forEach(w=>{this.scroll.formatAt(c,p,w,g[w])});let y=d?1:0,S=v?1:0;return i+=y+S,o.retain(y),o.delete(S),c+p+y+S},0),o.reduce((c,f)=>typeof f.delete=="number"?(this.scroll.deleteAt(c,f.delete),c):c+zn.Op.length(f),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(r)}deleteText(n,i){return this.scroll.deleteAt(n,i),this.update(new zn.default().retain(n).delete(i))}formatLine(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.scroll.update(),Object.keys(r).forEach(u=>{this.scroll.lines(n,Math.max(i,1)).forEach(c=>{c.format(u,r[u])})}),this.scroll.optimize();let o=new zn.default().retain(n).retain(i,mo(r));return this.update(o)}formatText(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.keys(r).forEach(u=>{this.scroll.formatAt(n,i,u,r[u])});let o=new zn.default().retain(n).retain(i,mo(r));return this.update(o)}getContents(n,i){return this.delta.slice(n,n+i)}getDelta(){return this.scroll.lines().reduce((n,i)=>n.concat(i.delta()),new zn.default)}getFormat(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=[],o=[];i===0?this.scroll.path(n).forEach(f=>{let[p]=f;p instanceof wn?r.push(p):p instanceof si&&o.push(p)}):(r=this.scroll.lines(n,i),o=this.scroll.descendants(si,n,i));let[u,c]=[r,o].map(f=>{let p=f.shift();if(p==null)return{};let g=Er(p);for(;Object.keys(g).length>0;){let d=f.shift();if(d==null)return g;g=zB(Er(d),g)}return g});return{...u,...c}}getHTML(n,i){let[r,o]=this.scroll.line(n);if(r){let u=r.length();return r.length()>=o+i&&!(o===0&&i===u)?Hf(r,o,i,!0):Hf(this.scroll,n,i,!0)}return""}getText(n,i){return this.getContents(n,i).filter(r=>typeof r.insert=="string").map(r=>r.insert).join("")}insertContents(n,i){let r=zT(i),o=new zn.default().retain(n).concat(r);return this.scroll.insertContents(n,r),this.update(o)}insertEmbed(n,i,r){return this.scroll.insertAt(n,i,r),this.update(new zn.default().retain(n).insert({[i]:r}))}insertText(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return i=i.replace(/\r\n/g,` `).replace(/\r/g,` -`),this.scroll.insertAt(n,i),Object.keys(r).forEach(o=>{this.scroll.formatAt(n,i.length,o,r[o])}),this.update(new Gn.default().retain(n).insert(i,mo(r)))}isBlank(){if(this.scroll.children.length===0)return!0;if(this.scroll.children.length>1)return!1;let n=this.scroll.children.head;if(n?.statics.blotName!==wn.blotName)return!1;let i=n;return i.children.length>1?!1:i.children.head instanceof $i}removeFormat(n,i){let r=this.getText(n,i),[o,u]=this.scroll.line(n+i),c=0,f=new Gn.default;o!=null&&(c=o.length()-u,f=o.delta().slice(u,u+c-1).insert(` -`));let g=this.getContents(n,i+c).diff(new Gn.default().insert(r).concat(f)),d=new Gn.default().retain(n).concat(g);return this.applyDelta(d)}update(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,o=this.delta;if(i.length===1&&i[0].type==="characterData"&&i[0].target.data.match(qB)&&this.scroll.find(i[0].target)){let u=this.scroll.find(i[0].target),c=Cr(u),f=u.offset(this.scroll),p=i[0].oldValue.replace(sl.CONTENTS,""),g=new Gn.default().insert(p),d=new Gn.default().insert(u.value()),v=r&&{oldRange:GT(r.oldRange,-f),newRange:GT(r.newRange,-f)};n=new Gn.default().retain(f).concat(g.diff(d,v)).reduce((S,w)=>w.insert?S.insert(w.insert,c):S.push(w),new Gn.default),this.delta=o.compose(n)}else this.delta=this.getDelta(),(!n||!rc(o.compose(n),this.delta))&&(n=o.diff(this.delta,r));return n}};$T=Ib});var kb,$n,gs=W(()=>{kb=class{static DEFAULTS={};constructor(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.quill=n,this.options=i}},$n=kb});var Dm,Lb,dd,jm=W(()=>{xn();ua();Dm="\uFEFF",Lb=class extends zn{constructor(n,i){super(n,i),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach(r=>{this.contentNode.appendChild(r)}),this.leftGuard=document.createTextNode(Dm),this.rightGuard=document.createTextNode(Dm),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(n,i){return n===this.leftGuard?0:n===this.rightGuard?1:super.index(n,i)}restore(n){let i=null,r,o=n.data.split(Dm).join("");if(n===this.leftGuard)if(this.prev instanceof Kn){let u=this.prev.length();this.prev.insertAt(u,o),i={startNode:this.prev.domNode,startOffset:u+o.length}}else r=document.createTextNode(o),this.parent.insertBefore(this.scroll.create(r),this),i={startNode:r,startOffset:o.length};else n===this.rightGuard&&(this.next instanceof Kn?(this.next.insertAt(0,o),i={startNode:this.next.domNode,startOffset:o.length}):(r=document.createTextNode(o),this.parent.insertBefore(this.scroll.create(r),this.next),i={startNode:r,startOffset:o.length}));return n.data=Dm,i}update(n,i){n.forEach(r=>{if(r.type==="characterData"&&(r.target===this.leftGuard||r.target===this.rightGuard)){let o=this.restore(r.target);o&&(i.range=o)}})}},dd=Lb});var Tb,UT,VT=W(()=>{jm();ha();Tb=class{isComposing=!1;constructor(n,i){this.scroll=n,this.emitter=i,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",n=>{this.isComposing||this.handleCompositionStart(n)}),this.scroll.domNode.addEventListener("compositionend",n=>{this.isComposing&&queueMicrotask(()=>{this.handleCompositionEnd(n)})})}handleCompositionStart(n){let i=n.target instanceof Node?this.scroll.find(n.target,!0):null;i&&!(i instanceof dd)&&(this.emitter.emit(ot.events.COMPOSITION_BEFORE_START,n),this.scroll.batchStart(),this.emitter.emit(ot.events.COMPOSITION_START,n),this.isComposing=!0)}handleCompositionEnd(n){this.emitter.emit(ot.events.COMPOSITION_BEFORE_END,n),this.scroll.batchEnd(),this.emitter.emit(ot.events.COMPOSITION_END,n),this.isComposing=!1}},UT=Tb});var Nb,hd,Rb=W(()=>{Nb=class e{static DEFAULTS={modules:{}};static themes={default:e};modules={};constructor(n,i){this.quill=n,this.options=i}init(){Object.keys(this.options.modules).forEach(n=>{this.modules[n]==null&&this.addModule(n)})}addModule(n){let i=this.quill.constructor.import(`modules/${n}`);return this.modules[n]=new i(this.quill,this.options.modules[n]||{}),this.modules[n]}},hd=Nb});var $B,BB,qm,WT,UB,HT,YT=W(()=>{$B=e=>e.parentElement||e.getRootNode().host||null,BB=e=>{let n=e.getBoundingClientRect(),i="offsetWidth"in e&&Math.abs(n.width)/e.offsetWidth||1,r="offsetHeight"in e&&Math.abs(n.height)/e.offsetHeight||1;return{top:n.top,right:n.left+e.clientWidth*i,bottom:n.top+e.clientHeight*r,left:n.left}},qm=e=>{let n=parseInt(e,10);return Number.isNaN(n)?0:n},WT=(e,n,i,r,o,u)=>er?0:er?n-e>r-i?e+o-i:n-r+u:0,UB=(e,n)=>{let i=e.ownerDocument,r=n,o=e;for(;o;){let u=o===i.body,c=u?{top:0,right:window.visualViewport?.width??i.documentElement.clientWidth,bottom:window.visualViewport?.height??i.documentElement.clientHeight,left:0}:BB(o),f=getComputedStyle(o),p=WT(r.left,r.right,c.left,c.right,qm(f.scrollPaddingLeft),qm(f.scrollPaddingRight)),g=WT(r.top,r.bottom,c.top,c.bottom,qm(f.scrollPaddingTop),qm(f.scrollPaddingBottom));if(p||g)if(u)i.defaultView?.scrollBy(p,g);else{let{scrollLeft:d,scrollTop:v}=o;g&&(o.scrollTop+=g),p&&(o.scrollLeft+=p);let y=o.scrollLeft-d,S=o.scrollTop-v;r={left:r.left-y,top:r.top-S,right:r.right-y,bottom:r.bottom-S}}o=u||f.position==="fixed"?null:$B(o)}},HT=UB});var VB,WB,HB,XT,ZT=W(()=>{xn();VB=100,WB=["block","break","cursor","inline","scroll","text"],HB=(e,n,i)=>{let r=new tl;return WB.forEach(o=>{let u=n.query(o);u&&r.register(u)}),e.forEach(o=>{let u=n.query(o);u||i.error(`Cannot register "${o}" specified in "formats" config. Are you sure it was registered?`);let c=0;for(;u;)if(r.register(u),u="blotName"in u?u.requiredContainer??null:null,c+=1,c>VB){i.error(`Cycle detected in registering blot requiredContainer: "${o}"`);break}}),r},XT=HB});function KT(e){return typeof e=="string"?document.querySelector(e):e}function Mb(e){return Object.entries(e??{}).reduce((n,i)=>{let[r,o]=i;return{...n,[r]:o===!0?{}:o}},{})}function QT(e){return Object.fromEntries(Object.entries(e).filter(n=>n[1]!==void 0))}function YB(e,n){let i=KT(e);if(!i)throw new Error("Invalid Quill container");let o=!n.theme||n.theme===Ae.DEFAULTS.theme?hd:Ae.import(`themes/${n.theme}`);if(!o)throw new Error(`Invalid theme ${n.theme}. Did you register it?`);let{modules:u,...c}=Ae.DEFAULTS,{modules:f,...p}=o.DEFAULTS,g=Mb(n.modules);g!=null&&g.toolbar&&g.toolbar.constructor!==Object&&(g={...g,toolbar:{container:g.toolbar}});let d=wr({},Mb(u),Mb(f),g),v={...c,...QT(p),...QT(n)},y=n.registry;return y?n.formats&&fd.warn('Ignoring "formats" option because "registry" is specified'):y=n.formats?XT(n.formats,v.registry,fd):v.registry,{...v,registry:y,container:i,theme:o,modules:Object.entries(d).reduce((S,w)=>{let[E,I]=w;if(!I)return S;let O=Ae.import(`modules/${E}`);return O==null?(fd.error(`Cannot load ${E} module. Are you sure you registered it?`),S):{...S,[E]:wr({},O.DEFAULTS||{},I)}},{}),bounds:KT(v.bounds)}}function Bs(e,n,i,r){if(!this.isEnabled()&&n===ot.sources.USER&&!this.allowReadOnlyEdits)return new al.default;let o=i==null?null:this.getSelection(),u=this.editor.delta,c=e();if(o!=null&&(i===!0&&(i=o.index),r==null?o=JT(o,c,n):r!==0&&(o=JT(o,i,r,n)),this.setSelection(o,ot.sources.SILENT)),c.length()>0){let f=[ot.events.TEXT_CHANGE,c,u,n];this.emitter.emit(ot.events.EDITOR_CHANGE,...f),n!==ot.sources.SILENT&&this.emitter.emit(...f)}return c}function fa(e,n,i,r,o){let u={};return typeof e.index=="number"&&typeof e.length=="number"?typeof n!="number"?(o=r,r=i,i=n,n=e.length,e=e.index):(n=e.length,e=e.index):typeof n!="number"&&(o=r,r=i,i=n,n=0),typeof i=="object"?(u=i,o=r):typeof i=="string"&&(r!=null?u[i]=r:o=i),o=o||ot.sources.API,[e,n,u,o]}function JT(e,n,i,r){let o=typeof i=="number"?i:0;if(e==null)return null;let u,c;return n&&typeof n.transformPosition=="function"?[u,c]=[e.index,e.index+e.length].map(f=>n.transformPosition(f,r!==ot.sources.USER)):[u,c]=[e.index,e.index+e.length].map(f=>f=0?f+o:Math.max(n,f+o)),new Vi(u,c-u)}var al,fd,zm,Ae,Ir=W(()=>{Qa();xn();al=hn(Br(),1);BT();ha();mb();hc();gs();Wf();VT();Rb();YT();ZT();fd=Ur("quill"),zm=new tl;Sr.uiClass="ql-ui";Ae=class e{static DEFAULTS={bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:zm,theme:"default"};static events=ot.events;static sources=ot.sources;static version="2.0.3";static imports={delta:al.default,parchment:od,"core/module":$n,"core/theme":hd};static debug(n){n===!0&&(n="log"),Ur.level(n)}static find(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Vf.get(n)||zm.find(n,i)}static import(n){return this.imports[n]==null&&fd.error(`Cannot import ${n}. Are you sure it was registered?`),this.imports[n]}static register(){if(typeof(arguments.length<=0?void 0:arguments[0])!="string"){let n=arguments.length<=0?void 0:arguments[0],i=!!(!(arguments.length<=1)&&arguments[1]),r="attrName"in n?n.attrName:n.blotName;typeof r=="string"?this.register(`formats/${r}`,n,i):Object.keys(n).forEach(o=>{this.register(o,n[o],i)})}else{let n=arguments.length<=0?void 0:arguments[0],i=arguments.length<=1?void 0:arguments[1],r=!!(!(arguments.length<=2)&&arguments[2]);this.imports[n]!=null&&!r&&fd.warn(`Overwriting ${n} with`,i),this.imports[n]=i,(n.startsWith("blots/")||n.startsWith("formats/"))&&i&&typeof i!="boolean"&&i.blotName!=="abstract"&&zm.register(i),typeof i.register=="function"&&i.register(zm)}}constructor(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.options=YB(n,i),this.container=this.options.container,this.container==null){fd.error("Invalid Quill container",n);return}this.options.debug&&e.debug(this.options.debug);let r=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",Vf.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new ot;let o=Pf.blotName,u=this.options.registry.query(o);if(!u||!("blotName"in u))throw new Error(`Cannot initialize Quill without "${o}" blot`);if(this.scroll=new u(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new $T(this.scroll),this.selection=new qT(this.scroll,this.emitter),this.composition=new UT(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(ot.events.EDITOR_CHANGE,c=>{c===ot.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())}),this.emitter.on(ot.events.SCROLL_UPDATE,(c,f)=>{let p=this.selection.lastRange,[g]=this.selection.getRange(),d=p&&g?{oldRange:p,newRange:g}:void 0;Bs.call(this,()=>this.editor.update(null,f,d),c)}),this.emitter.on(ot.events.SCROLL_EMBED_UPDATE,(c,f)=>{let p=this.selection.lastRange,[g]=this.selection.getRange(),d=p&&g?{oldRange:p,newRange:g}:void 0;Bs.call(this,()=>{let v=new al.default().retain(c.offset(this)).retain({[c.statics.blotName]:f});return this.editor.update(v,[],d)},e.sources.USER)}),r){let c=this.clipboard.convert({html:`${r}


    `,text:` -`});this.setContents(c)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(typeof n=="string"){let r=n;n=document.createElement("div"),n.classList.add(r)}return this.container.insertBefore(n,i),n}blur(){this.selection.setRange(null)}deleteText(n,i,r){return[n,i,,r]=fa(n,i,r),Bs.call(this,()=>this.editor.deleteText(n,i),r,n,-1*i)}disable(){this.enable(!1)}editReadOnly(n){this.allowReadOnlyEdits=!0;let i=n();return this.allowReadOnlyEdits=!1,i}enable(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.scroll.enable(n),this.container.classList.toggle("ql-disabled",!n)}focus(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.selection.focus(),n.preventScroll||this.scrollSelectionIntoView()}format(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ot.sources.API;return Bs.call(this,()=>{let o=this.getSelection(!0),u=new al.default;if(o==null)return u;if(this.scroll.query(n,rt.BLOCK))u=this.editor.formatLine(o.index,o.length,{[n]:i});else{if(o.length===0)return this.selection.format(n,i),u;u=this.editor.formatText(o.index,o.length,{[n]:i})}return this.setSelection(o,ot.sources.SILENT),u},r)}formatLine(n,i,r,o,u){let c;return[n,i,c,u]=fa(n,i,r,o,u),Bs.call(this,()=>this.editor.formatLine(n,i,c),u,n,0)}formatText(n,i,r,o,u){let c;return[n,i,c,u]=fa(n,i,r,o,u),Bs.call(this,()=>this.editor.formatText(n,i,c),u,n,0)}getBounds(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=null;if(typeof n=="number"?r=this.selection.getBounds(n,i):r=this.selection.getBounds(n.index,n.length),!r)return null;let o=this.container.getBoundingClientRect();return{bottom:r.bottom-o.top,height:r.height,left:r.left-o.left,right:r.right-o.left,top:r.top-o.top,width:r.width}}getContents(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-n;return[n,i]=fa(n,i),this.editor.getContents(n,i)}getFormat(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.getSelection(!0),i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return typeof n=="number"?this.editor.getFormat(n,i):this.editor.getFormat(n.index,n.length)}getIndex(n){return n.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(n){return this.scroll.leaf(n)}getLine(n){return this.scroll.line(n)}getLines(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE;return typeof n!="number"?this.scroll.lines(n.index,n.length):this.scroll.lines(n,i)}getModule(n){return this.theme.modules[n]}getSelection(){return(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1?arguments[1]:void 0;return typeof n=="number"&&(i=i??this.getLength()-n),[n,i]=fa(n,i),this.editor.getHTML(n,i)}getText(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1?arguments[1]:void 0;return typeof n=="number"&&(i=i??this.getLength()-n),[n,i]=fa(n,i),this.editor.getText(n,i)}hasFocus(){return this.selection.hasFocus()}insertEmbed(n,i,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:e.sources.API;return Bs.call(this,()=>this.editor.insertEmbed(n,i,r),o,n)}insertText(n,i,r,o,u){let c;return[n,,c,u]=fa(n,0,r,o,u),Bs.call(this,()=>this.editor.insertText(n,i,c),u,n,i.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(n,i,r){return[n,i,,r]=fa(n,i,r),Bs.call(this,()=>this.editor.removeFormat(n,i),r,n)}scrollRectIntoView(n){HT(this.root,n)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){let n=this.selection.lastRange,i=n&&this.selection.getBounds(n.index,n.length);i&&this.scrollRectIntoView(i)}setContents(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ot.sources.API;return Bs.call(this,()=>{n=new al.default(n);let r=this.getLength(),o=this.editor.deleteText(0,r),u=this.editor.insertContents(0,n),c=this.editor.deleteText(this.getLength()-1,1);return o.compose(u).compose(c)},i)}setSelection(n,i,r){n==null?this.selection.setRange(null,i||e.sources.API):([n,i,,r]=fa(n,i,r),this.selection.setRange(new Vi(Math.max(0,n),i),r),r!==ot.sources.SILENT&&this.scrollSelectionIntoView())}setText(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ot.sources.API,r=new al.default().insert(n);return this.setContents(r,i)}update(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ot.sources.USER,i=this.scroll.update(n);return this.selection.update(n),i}updateContents(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ot.sources.API;return Bs.call(this,()=>(n=new al.default(n),this.editor.applyDelta(n)),i,!0)}}});var Ab,ms,pd=W(()=>{xn();Ab=class extends rd{},ms=Ab});function eN(e){return e instanceof wn||e instanceof pi}function tN(e){return typeof e.updateContent=="function"}function Ob(e,n,i){i.reduce((r,o)=>{let u=_s.Op.length(o),c=o.attributes||{};if(o.insert!=null){if(typeof o.insert=="string"){let f=o.insert;e.insertAt(r,f);let[p]=e.descendant(si,r),g=Cr(p);c=_s.AttributeMap.diff(g,c)||{}}else if(typeof o.insert=="object"){let f=Object.keys(o.insert)[0];if(f==null)return r;if(e.insertAt(r,f,o.insert[f]),e.scroll.query(f,rt.INLINE)!=null){let[g]=e.descendant(si,r),d=Cr(g);c=_s.AttributeMap.diff(d,c)||{}}}}return Object.keys(c).forEach(f=>{e.formatAt(r,u,f,c[f])}),r+u},n)}var _s,Pb,nN,iN=W(()=>{xn();_s=hn(Br(),1);ha();ps();rl();pd();Pb=class extends Pf{static blotName="scroll";static className="ql-editor";static tagName="DIV";static defaultChild=wn;static allowedChildren=[wn,pi,ms];constructor(n,i,r){let{emitter:o}=r;super(n,i),this.emitter=o,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",u=>this.handleDragStart(u))}batchStart(){Array.isArray(this.batch)||(this.batch=[])}batchEnd(){if(!this.batch)return;let n=this.batch;this.batch=!1,this.update(n)}emitMount(n){this.emitter.emit(ot.events.SCROLL_BLOT_MOUNT,n)}emitUnmount(n){this.emitter.emit(ot.events.SCROLL_BLOT_UNMOUNT,n)}emitEmbedUpdate(n,i){this.emitter.emit(ot.events.SCROLL_EMBED_UPDATE,n,i)}deleteAt(n,i){let[r,o]=this.line(n),[u]=this.line(n+i);if(super.deleteAt(n,i),u!=null&&r!==u&&o>0){if(r instanceof pi||u instanceof pi){this.optimize();return}let c=u.children.head instanceof $i?null:u.children.head;r.moveChildren(u,c),r.remove()}this.optimize()}enable(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.domNode.setAttribute("contenteditable",n?"true":"false")}formatAt(n,i,r,o){super.formatAt(n,i,r,o),this.optimize()}insertAt(n,i,r){if(n>=this.length())if(r==null||this.scroll.query(i,rt.BLOCK)==null){let o=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(o),r==null&&i.endsWith(` -`)?o.insertAt(0,i.slice(0,-1),r):o.insertAt(0,i,r)}else{let o=this.scroll.create(i,r);this.appendChild(o)}else super.insertAt(n,i,r);this.optimize()}insertBefore(n,i){if(n.statics.scope===rt.INLINE_BLOT){let r=this.scroll.create(this.statics.defaultChild.blotName);r.appendChild(n),super.insertBefore(r,i)}else super.insertBefore(n,i)}insertContents(n,i){let r=this.deltaToRenderBlocks(i.concat(new _s.default().insert(` -`))),o=r.pop();if(o==null)return;this.batchStart();let u=r.shift();if(u){let p=u.type==="block"&&(u.delta.length()===0||!this.descendant(pi,n)[0]&&n{this.formatAt(v-1,1,w,S[w])}),n=v}let[c,f]=this.children.find(n);if(r.length&&(c&&(c=c.split(f),f=0),r.forEach(p=>{if(p.type==="block"){let g=this.createBlock(p.attributes,c||void 0);Ob(g,0,p.delta)}else{let g=this.create(p.key,p.value);this.insertBefore(g,c||void 0),Object.keys(p.attributes).forEach(d=>{g.format(d,p.attributes[d])})}})),o.type==="block"&&o.delta.length()){let p=c?c.offset(c.scroll)+f:this.length();Ob(this,p,o.delta)}this.batchEnd(),this.optimize()}isEnabled(){return this.domNode.getAttribute("contenteditable")==="true"}leaf(n){let i=this.path(n).pop();if(!i)return[null,-1];let[r,o]=i;return r instanceof si?[r,o]:[null,-1]}line(n){return n===this.length()?this.line(n-1):this.descendant(eN,n)}lines(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,r=(o,u,c)=>{let f=[],p=c;return o.children.forEachAt(u,c,(g,d,v)=>{eN(g)?f.push(g):g instanceof rd&&(f=f.concat(r(g,d,p))),p-=v}),f};return r(this,n,i)}optimize(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.batch||(super.optimize(n,i),n.length>0&&this.emitter.emit(ot.events.SCROLL_OPTIMIZE,n,i))}path(n){return super.path(n).slice(1)}remove(){}update(n){if(this.batch){Array.isArray(n)&&(this.batch=this.batch.concat(n));return}let i=ot.sources.USER;typeof n=="string"&&(i=n),Array.isArray(n)||(n=this.observer.takeRecords()),n=n.filter(r=>{let{target:o}=r,u=this.find(o,!0);return u&&!tN(u)}),n.length>0&&this.emitter.emit(ot.events.SCROLL_BEFORE_UPDATE,i,n),super.update(n.concat([])),n.length>0&&this.emitter.emit(ot.events.SCROLL_UPDATE,i,n)}updateEmbedAt(n,i,r){let[o]=this.descendant(u=>u instanceof pi,n);o&&o.statics.blotName===i&&tN(o)&&o.updateContent(r)}handleDragStart(n){n.preventDefault()}deltaToRenderBlocks(n){let i=[],r=new _s.default;return n.forEach(o=>{let u=o?.insert;if(u)if(typeof u=="string"){let c=u.split(` -`);c.slice(0,-1).forEach(p=>{r.insert(p,o.attributes),i.push({type:"block",delta:r,attributes:o.attributes??{}}),r=new _s.default});let f=c[c.length-1];f&&r.insert(f,o.attributes)}else{let c=Object.keys(u)[0];if(!c)return;this.query(c,rt.INLINE)?r.push(o):(r.length()&&i.push({type:"block",delta:r,attributes:{}}),r=new _s.default,i.push({type:"blockEmbed",key:c,value:u[c],attributes:o.attributes??{}}))}}),r.length()&&i.push({type:"block",delta:r,attributes:{}}),i}createBlock(n,i){let r,o={};Object.entries(n).forEach(f=>{let[p,g]=f;this.query(p,rt.BLOCK&rt.BLOT)!=null?r=p:o[p]=g});let u=this.create(r||this.statics.defaultChild.blotName,r?n[r]:void 0);this.insertBefore(u,i||void 0);let c=u.length();return Object.entries(o).forEach(f=>{let[p,g]=f;u.formatAt(0,c,p,g)}),u}};nN=Pb});var Fb,rN,Db,Gm,jb=W(()=>{xn();Fb={scope:rt.BLOCK,whitelist:["right","center","justify"]},rN=new sr("align","align",Fb),Db=new ri("align","ql-align",Fb),Gm=new Er("align","text-align",Fb)});var Yf,sN,Xf,$m=W(()=>{xn();Yf=class extends Er{value(n){let i=super.value(n);return i.startsWith("rgb(")?(i=i.replace(/^[^\d]+/,"").replace(/[^\d]+$/,""),`#${i.split(",").map(o=>`00${parseInt(o,10).toString(16)}`.slice(-2)).join("")}`):i}},sN=new ri("color","ql-color",{scope:rt.INLINE}),Xf=new Yf("color","color",{scope:rt.INLINE})});var oN,Zf,qb=W(()=>{xn();$m();oN=new ri("background","ql-bg",{scope:rt.INLINE}),Zf=new Yf("background","background-color",{scope:rt.INLINE})});var yo,oi,gd,Bm=W(()=>{ps();rl();Bf();da();ua();pd();Ir();yo=class extends ms{static create(n){let i=super.create(n);return i.setAttribute("spellcheck","false"),i}code(n,i){return this.children.map(r=>r.length()<=1?"":r.domNode.innerText).join(` +`),this.scroll.insertAt(n,i),Object.keys(r).forEach(o=>{this.scroll.formatAt(n,i.length,o,r[o])}),this.update(new zn.default().retain(n).insert(i,mo(r)))}isBlank(){if(this.scroll.children.length===0)return!0;if(this.scroll.children.length>1)return!1;let n=this.scroll.children.head;if(n?.statics.blotName!==wn.blotName)return!1;let i=n;return i.children.length>1?!1:i.children.head instanceof $i}removeFormat(n,i){let r=this.getText(n,i),[o,u]=this.scroll.line(n+i),c=0,f=new zn.default;o!=null&&(c=o.length()-u,f=o.delta().slice(u,u+c-1).insert(` +`));let g=this.getContents(n,i+c).diff(new zn.default().insert(r).concat(f)),d=new zn.default().retain(n).concat(g);return this.applyDelta(d)}update(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,o=this.delta;if(i.length===1&&i[0].type==="characterData"&&i[0].target.data.match(qB)&&this.scroll.find(i[0].target)){let u=this.scroll.find(i[0].target),c=Er(u),f=u.offset(this.scroll),p=i[0].oldValue.replace(sl.CONTENTS,""),g=new zn.default().insert(p),d=new zn.default().insert(u.value()),v=r&&{oldRange:GT(r.oldRange,-f),newRange:GT(r.newRange,-f)};n=new zn.default().retain(f).concat(g.diff(d,v)).reduce((S,w)=>w.insert?S.insert(w.insert,c):S.push(w),new zn.default),this.delta=o.compose(n)}else this.delta=this.getDelta(),(!n||!rc(o.compose(n),this.delta))&&(n=o.diff(this.delta,r));return n}};$T=Ib});var kb,Gn,ps=W(()=>{kb=class{static DEFAULTS={};constructor(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.quill=n,this.options=i}},Gn=kb});var Dm,Lb,dd,jm=W(()=>{xn();ua();Dm="\uFEFF",Lb=class extends qn{constructor(n,i){super(n,i),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach(r=>{this.contentNode.appendChild(r)}),this.leftGuard=document.createTextNode(Dm),this.rightGuard=document.createTextNode(Dm),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(n,i){return n===this.leftGuard?0:n===this.rightGuard?1:super.index(n,i)}restore(n){let i=null,r,o=n.data.split(Dm).join("");if(n===this.leftGuard)if(this.prev instanceof Kn){let u=this.prev.length();this.prev.insertAt(u,o),i={startNode:this.prev.domNode,startOffset:u+o.length}}else r=document.createTextNode(o),this.parent.insertBefore(this.scroll.create(r),this),i={startNode:r,startOffset:o.length};else n===this.rightGuard&&(this.next instanceof Kn?(this.next.insertAt(0,o),i={startNode:this.next.domNode,startOffset:o.length}):(r=document.createTextNode(o),this.parent.insertBefore(this.scroll.create(r),this.next),i={startNode:r,startOffset:o.length}));return n.data=Dm,i}update(n,i){n.forEach(r=>{if(r.type==="characterData"&&(r.target===this.leftGuard||r.target===this.rightGuard)){let o=this.restore(r.target);o&&(i.range=o)}})}},dd=Lb});var Tb,UT,VT=W(()=>{jm();ha();Tb=class{isComposing=!1;constructor(n,i){this.scroll=n,this.emitter=i,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",n=>{this.isComposing||this.handleCompositionStart(n)}),this.scroll.domNode.addEventListener("compositionend",n=>{this.isComposing&&queueMicrotask(()=>{this.handleCompositionEnd(n)})})}handleCompositionStart(n){let i=n.target instanceof Node?this.scroll.find(n.target,!0):null;i&&!(i instanceof dd)&&(this.emitter.emit(ot.events.COMPOSITION_BEFORE_START,n),this.scroll.batchStart(),this.emitter.emit(ot.events.COMPOSITION_START,n),this.isComposing=!0)}handleCompositionEnd(n){this.emitter.emit(ot.events.COMPOSITION_BEFORE_END,n),this.scroll.batchEnd(),this.emitter.emit(ot.events.COMPOSITION_END,n),this.isComposing=!1}},UT=Tb});var Nb,hd,Rb=W(()=>{Nb=class e{static DEFAULTS={modules:{}};static themes={default:e};modules={};constructor(n,i){this.quill=n,this.options=i}init(){Object.keys(this.options.modules).forEach(n=>{this.modules[n]==null&&this.addModule(n)})}addModule(n){let i=this.quill.constructor.import(`modules/${n}`);return this.modules[n]=new i(this.quill,this.options.modules[n]||{}),this.modules[n]}},hd=Nb});var $B,BB,qm,WT,UB,HT,YT=W(()=>{$B=e=>e.parentElement||e.getRootNode().host||null,BB=e=>{let n=e.getBoundingClientRect(),i="offsetWidth"in e&&Math.abs(n.width)/e.offsetWidth||1,r="offsetHeight"in e&&Math.abs(n.height)/e.offsetHeight||1;return{top:n.top,right:n.left+e.clientWidth*i,bottom:n.top+e.clientHeight*r,left:n.left}},qm=e=>{let n=parseInt(e,10);return Number.isNaN(n)?0:n},WT=(e,n,i,r,o,u)=>er?0:er?n-e>r-i?e+o-i:n-r+u:0,UB=(e,n)=>{let i=e.ownerDocument,r=n,o=e;for(;o;){let u=o===i.body,c=u?{top:0,right:window.visualViewport?.width??i.documentElement.clientWidth,bottom:window.visualViewport?.height??i.documentElement.clientHeight,left:0}:BB(o),f=getComputedStyle(o),p=WT(r.left,r.right,c.left,c.right,qm(f.scrollPaddingLeft),qm(f.scrollPaddingRight)),g=WT(r.top,r.bottom,c.top,c.bottom,qm(f.scrollPaddingTop),qm(f.scrollPaddingBottom));if(p||g)if(u)i.defaultView?.scrollBy(p,g);else{let{scrollLeft:d,scrollTop:v}=o;g&&(o.scrollTop+=g),p&&(o.scrollLeft+=p);let y=o.scrollLeft-d,S=o.scrollTop-v;r={left:r.left-y,top:r.top-S,right:r.right-y,bottom:r.bottom-S}}o=u||f.position==="fixed"?null:$B(o)}},HT=UB});var VB,WB,HB,XT,ZT=W(()=>{xn();VB=100,WB=["block","break","cursor","inline","scroll","text"],HB=(e,n,i)=>{let r=new tl;return WB.forEach(o=>{let u=n.query(o);u&&r.register(u)}),e.forEach(o=>{let u=n.query(o);u||i.error(`Cannot register "${o}" specified in "formats" config. Are you sure it was registered?`);let c=0;for(;u;)if(r.register(u),u="blotName"in u?u.requiredContainer??null:null,c+=1,c>VB){i.error(`Cycle detected in registering blot requiredContainer: "${o}"`);break}}),r},XT=HB});function KT(e){return typeof e=="string"?document.querySelector(e):e}function Mb(e){return Object.entries(e??{}).reduce((n,i)=>{let[r,o]=i;return{...n,[r]:o===!0?{}:o}},{})}function QT(e){return Object.fromEntries(Object.entries(e).filter(n=>n[1]!==void 0))}function YB(e,n){let i=KT(e);if(!i)throw new Error("Invalid Quill container");let o=!n.theme||n.theme===Ae.DEFAULTS.theme?hd:Ae.import(`themes/${n.theme}`);if(!o)throw new Error(`Invalid theme ${n.theme}. Did you register it?`);let{modules:u,...c}=Ae.DEFAULTS,{modules:f,...p}=o.DEFAULTS,g=Mb(n.modules);g!=null&&g.toolbar&&g.toolbar.constructor!==Object&&(g={...g,toolbar:{container:g.toolbar}});let d=xr({},Mb(u),Mb(f),g),v={...c,...QT(p),...QT(n)},y=n.registry;return y?n.formats&&fd.warn('Ignoring "formats" option because "registry" is specified'):y=n.formats?XT(n.formats,v.registry,fd):v.registry,{...v,registry:y,container:i,theme:o,modules:Object.entries(d).reduce((S,w)=>{let[E,I]=w;if(!I)return S;let O=Ae.import(`modules/${E}`);return O==null?(fd.error(`Cannot load ${E} module. Are you sure you registered it?`),S):{...S,[E]:xr({},O.DEFAULTS||{},I)}},{}),bounds:KT(v.bounds)}}function $s(e,n,i,r){if(!this.isEnabled()&&n===ot.sources.USER&&!this.allowReadOnlyEdits)return new al.default;let o=i==null?null:this.getSelection(),u=this.editor.delta,c=e();if(o!=null&&(i===!0&&(i=o.index),r==null?o=JT(o,c,n):r!==0&&(o=JT(o,i,r,n)),this.setSelection(o,ot.sources.SILENT)),c.length()>0){let f=[ot.events.TEXT_CHANGE,c,u,n];this.emitter.emit(ot.events.EDITOR_CHANGE,...f),n!==ot.sources.SILENT&&this.emitter.emit(...f)}return c}function fa(e,n,i,r,o){let u={};return typeof e.index=="number"&&typeof e.length=="number"?typeof n!="number"?(o=r,r=i,i=n,n=e.length,e=e.index):(n=e.length,e=e.index):typeof n!="number"&&(o=r,r=i,i=n,n=0),typeof i=="object"?(u=i,o=r):typeof i=="string"&&(r!=null?u[i]=r:o=i),o=o||ot.sources.API,[e,n,u,o]}function JT(e,n,i,r){let o=typeof i=="number"?i:0;if(e==null)return null;let u,c;return n&&typeof n.transformPosition=="function"?[u,c]=[e.index,e.index+e.length].map(f=>n.transformPosition(f,r!==ot.sources.USER)):[u,c]=[e.index,e.index+e.length].map(f=>f=0?f+o:Math.max(n,f+o)),new Vi(u,c-u)}var al,fd,zm,Ae,Cr=W(()=>{Qa();xn();al=hn($r(),1);BT();ha();mb();hc();ps();Wf();VT();Rb();YT();ZT();fd=Br("quill"),zm=new tl;wr.uiClass="ql-ui";Ae=class e{static DEFAULTS={bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:zm,theme:"default"};static events=ot.events;static sources=ot.sources;static version="2.0.3";static imports={delta:al.default,parchment:od,"core/module":Gn,"core/theme":hd};static debug(n){n===!0&&(n="log"),Br.level(n)}static find(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return Vf.get(n)||zm.find(n,i)}static import(n){return this.imports[n]==null&&fd.error(`Cannot import ${n}. Are you sure it was registered?`),this.imports[n]}static register(){if(typeof(arguments.length<=0?void 0:arguments[0])!="string"){let n=arguments.length<=0?void 0:arguments[0],i=!!(!(arguments.length<=1)&&arguments[1]),r="attrName"in n?n.attrName:n.blotName;typeof r=="string"?this.register(`formats/${r}`,n,i):Object.keys(n).forEach(o=>{this.register(o,n[o],i)})}else{let n=arguments.length<=0?void 0:arguments[0],i=arguments.length<=1?void 0:arguments[1],r=!!(!(arguments.length<=2)&&arguments[2]);this.imports[n]!=null&&!r&&fd.warn(`Overwriting ${n} with`,i),this.imports[n]=i,(n.startsWith("blots/")||n.startsWith("formats/"))&&i&&typeof i!="boolean"&&i.blotName!=="abstract"&&zm.register(i),typeof i.register=="function"&&i.register(zm)}}constructor(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.options=YB(n,i),this.container=this.options.container,this.container==null){fd.error("Invalid Quill container",n);return}this.options.debug&&e.debug(this.options.debug);let r=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",Vf.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new ot;let o=Pf.blotName,u=this.options.registry.query(o);if(!u||!("blotName"in u))throw new Error(`Cannot initialize Quill without "${o}" blot`);if(this.scroll=new u(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new $T(this.scroll),this.selection=new qT(this.scroll,this.emitter),this.composition=new UT(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(ot.events.EDITOR_CHANGE,c=>{c===ot.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())}),this.emitter.on(ot.events.SCROLL_UPDATE,(c,f)=>{let p=this.selection.lastRange,[g]=this.selection.getRange(),d=p&&g?{oldRange:p,newRange:g}:void 0;$s.call(this,()=>this.editor.update(null,f,d),c)}),this.emitter.on(ot.events.SCROLL_EMBED_UPDATE,(c,f)=>{let p=this.selection.lastRange,[g]=this.selection.getRange(),d=p&&g?{oldRange:p,newRange:g}:void 0;$s.call(this,()=>{let v=new al.default().retain(c.offset(this)).retain({[c.statics.blotName]:f});return this.editor.update(v,[],d)},e.sources.USER)}),r){let c=this.clipboard.convert({html:`${r}


    `,text:` +`});this.setContents(c)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(typeof n=="string"){let r=n;n=document.createElement("div"),n.classList.add(r)}return this.container.insertBefore(n,i),n}blur(){this.selection.setRange(null)}deleteText(n,i,r){return[n,i,,r]=fa(n,i,r),$s.call(this,()=>this.editor.deleteText(n,i),r,n,-1*i)}disable(){this.enable(!1)}editReadOnly(n){this.allowReadOnlyEdits=!0;let i=n();return this.allowReadOnlyEdits=!1,i}enable(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.scroll.enable(n),this.container.classList.toggle("ql-disabled",!n)}focus(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.selection.focus(),n.preventScroll||this.scrollSelectionIntoView()}format(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ot.sources.API;return $s.call(this,()=>{let o=this.getSelection(!0),u=new al.default;if(o==null)return u;if(this.scroll.query(n,rt.BLOCK))u=this.editor.formatLine(o.index,o.length,{[n]:i});else{if(o.length===0)return this.selection.format(n,i),u;u=this.editor.formatText(o.index,o.length,{[n]:i})}return this.setSelection(o,ot.sources.SILENT),u},r)}formatLine(n,i,r,o,u){let c;return[n,i,c,u]=fa(n,i,r,o,u),$s.call(this,()=>this.editor.formatLine(n,i,c),u,n,0)}formatText(n,i,r,o,u){let c;return[n,i,c,u]=fa(n,i,r,o,u),$s.call(this,()=>this.editor.formatText(n,i,c),u,n,0)}getBounds(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=null;if(typeof n=="number"?r=this.selection.getBounds(n,i):r=this.selection.getBounds(n.index,n.length),!r)return null;let o=this.container.getBoundingClientRect();return{bottom:r.bottom-o.top,height:r.height,left:r.left-o.left,right:r.right-o.left,top:r.top-o.top,width:r.width}}getContents(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-n;return[n,i]=fa(n,i),this.editor.getContents(n,i)}getFormat(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.getSelection(!0),i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return typeof n=="number"?this.editor.getFormat(n,i):this.editor.getFormat(n.index,n.length)}getIndex(n){return n.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(n){return this.scroll.leaf(n)}getLine(n){return this.scroll.line(n)}getLines(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE;return typeof n!="number"?this.scroll.lines(n.index,n.length):this.scroll.lines(n,i)}getModule(n){return this.theme.modules[n]}getSelection(){return(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1?arguments[1]:void 0;return typeof n=="number"&&(i=i??this.getLength()-n),[n,i]=fa(n,i),this.editor.getHTML(n,i)}getText(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1?arguments[1]:void 0;return typeof n=="number"&&(i=i??this.getLength()-n),[n,i]=fa(n,i),this.editor.getText(n,i)}hasFocus(){return this.selection.hasFocus()}insertEmbed(n,i,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:e.sources.API;return $s.call(this,()=>this.editor.insertEmbed(n,i,r),o,n)}insertText(n,i,r,o,u){let c;return[n,,c,u]=fa(n,0,r,o,u),$s.call(this,()=>this.editor.insertText(n,i,c),u,n,i.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(n,i,r){return[n,i,,r]=fa(n,i,r),$s.call(this,()=>this.editor.removeFormat(n,i),r,n)}scrollRectIntoView(n){HT(this.root,n)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){let n=this.selection.lastRange,i=n&&this.selection.getBounds(n.index,n.length);i&&this.scrollRectIntoView(i)}setContents(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ot.sources.API;return $s.call(this,()=>{n=new al.default(n);let r=this.getLength(),o=this.editor.deleteText(0,r),u=this.editor.insertContents(0,n),c=this.editor.deleteText(this.getLength()-1,1);return o.compose(u).compose(c)},i)}setSelection(n,i,r){n==null?this.selection.setRange(null,i||e.sources.API):([n,i,,r]=fa(n,i,r),this.selection.setRange(new Vi(Math.max(0,n),i),r),r!==ot.sources.SILENT&&this.scrollSelectionIntoView())}setText(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ot.sources.API,r=new al.default().insert(n);return this.setContents(r,i)}update(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ot.sources.USER,i=this.scroll.update(n);return this.selection.update(n),i}updateContents(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ot.sources.API;return $s.call(this,()=>(n=new al.default(n),this.editor.applyDelta(n)),i,!0)}}});var Ab,gs,pd=W(()=>{xn();Ab=class extends rd{},gs=Ab});function eN(e){return e instanceof wn||e instanceof gi}function tN(e){return typeof e.updateContent=="function"}function Ob(e,n,i){i.reduce((r,o)=>{let u=ms.Op.length(o),c=o.attributes||{};if(o.insert!=null){if(typeof o.insert=="string"){let f=o.insert;e.insertAt(r,f);let[p]=e.descendant(si,r),g=Er(p);c=ms.AttributeMap.diff(g,c)||{}}else if(typeof o.insert=="object"){let f=Object.keys(o.insert)[0];if(f==null)return r;if(e.insertAt(r,f,o.insert[f]),e.scroll.query(f,rt.INLINE)!=null){let[g]=e.descendant(si,r),d=Er(g);c=ms.AttributeMap.diff(d,c)||{}}}}return Object.keys(c).forEach(f=>{e.formatAt(r,u,f,c[f])}),r+u},n)}var ms,Pb,nN,iN=W(()=>{xn();ms=hn($r(),1);ha();fs();rl();pd();Pb=class extends Pf{static blotName="scroll";static className="ql-editor";static tagName="DIV";static defaultChild=wn;static allowedChildren=[wn,gi,gs];constructor(n,i,r){let{emitter:o}=r;super(n,i),this.emitter=o,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",u=>this.handleDragStart(u))}batchStart(){Array.isArray(this.batch)||(this.batch=[])}batchEnd(){if(!this.batch)return;let n=this.batch;this.batch=!1,this.update(n)}emitMount(n){this.emitter.emit(ot.events.SCROLL_BLOT_MOUNT,n)}emitUnmount(n){this.emitter.emit(ot.events.SCROLL_BLOT_UNMOUNT,n)}emitEmbedUpdate(n,i){this.emitter.emit(ot.events.SCROLL_EMBED_UPDATE,n,i)}deleteAt(n,i){let[r,o]=this.line(n),[u]=this.line(n+i);if(super.deleteAt(n,i),u!=null&&r!==u&&o>0){if(r instanceof gi||u instanceof gi){this.optimize();return}let c=u.children.head instanceof $i?null:u.children.head;r.moveChildren(u,c),r.remove()}this.optimize()}enable(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.domNode.setAttribute("contenteditable",n?"true":"false")}formatAt(n,i,r,o){super.formatAt(n,i,r,o),this.optimize()}insertAt(n,i,r){if(n>=this.length())if(r==null||this.scroll.query(i,rt.BLOCK)==null){let o=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(o),r==null&&i.endsWith(` +`)?o.insertAt(0,i.slice(0,-1),r):o.insertAt(0,i,r)}else{let o=this.scroll.create(i,r);this.appendChild(o)}else super.insertAt(n,i,r);this.optimize()}insertBefore(n,i){if(n.statics.scope===rt.INLINE_BLOT){let r=this.scroll.create(this.statics.defaultChild.blotName);r.appendChild(n),super.insertBefore(r,i)}else super.insertBefore(n,i)}insertContents(n,i){let r=this.deltaToRenderBlocks(i.concat(new ms.default().insert(` +`))),o=r.pop();if(o==null)return;this.batchStart();let u=r.shift();if(u){let p=u.type==="block"&&(u.delta.length()===0||!this.descendant(gi,n)[0]&&n{this.formatAt(v-1,1,w,S[w])}),n=v}let[c,f]=this.children.find(n);if(r.length&&(c&&(c=c.split(f),f=0),r.forEach(p=>{if(p.type==="block"){let g=this.createBlock(p.attributes,c||void 0);Ob(g,0,p.delta)}else{let g=this.create(p.key,p.value);this.insertBefore(g,c||void 0),Object.keys(p.attributes).forEach(d=>{g.format(d,p.attributes[d])})}})),o.type==="block"&&o.delta.length()){let p=c?c.offset(c.scroll)+f:this.length();Ob(this,p,o.delta)}this.batchEnd(),this.optimize()}isEnabled(){return this.domNode.getAttribute("contenteditable")==="true"}leaf(n){let i=this.path(n).pop();if(!i)return[null,-1];let[r,o]=i;return r instanceof si?[r,o]:[null,-1]}line(n){return n===this.length()?this.line(n-1):this.descendant(eN,n)}lines(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,r=(o,u,c)=>{let f=[],p=c;return o.children.forEachAt(u,c,(g,d,v)=>{eN(g)?f.push(g):g instanceof rd&&(f=f.concat(r(g,d,p))),p-=v}),f};return r(this,n,i)}optimize(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.batch||(super.optimize(n,i),n.length>0&&this.emitter.emit(ot.events.SCROLL_OPTIMIZE,n,i))}path(n){return super.path(n).slice(1)}remove(){}update(n){if(this.batch){Array.isArray(n)&&(this.batch=this.batch.concat(n));return}let i=ot.sources.USER;typeof n=="string"&&(i=n),Array.isArray(n)||(n=this.observer.takeRecords()),n=n.filter(r=>{let{target:o}=r,u=this.find(o,!0);return u&&!tN(u)}),n.length>0&&this.emitter.emit(ot.events.SCROLL_BEFORE_UPDATE,i,n),super.update(n.concat([])),n.length>0&&this.emitter.emit(ot.events.SCROLL_UPDATE,i,n)}updateEmbedAt(n,i,r){let[o]=this.descendant(u=>u instanceof gi,n);o&&o.statics.blotName===i&&tN(o)&&o.updateContent(r)}handleDragStart(n){n.preventDefault()}deltaToRenderBlocks(n){let i=[],r=new ms.default;return n.forEach(o=>{let u=o?.insert;if(u)if(typeof u=="string"){let c=u.split(` +`);c.slice(0,-1).forEach(p=>{r.insert(p,o.attributes),i.push({type:"block",delta:r,attributes:o.attributes??{}}),r=new ms.default});let f=c[c.length-1];f&&r.insert(f,o.attributes)}else{let c=Object.keys(u)[0];if(!c)return;this.query(c,rt.INLINE)?r.push(o):(r.length()&&i.push({type:"block",delta:r,attributes:{}}),r=new ms.default,i.push({type:"blockEmbed",key:c,value:u[c],attributes:o.attributes??{}}))}}),r.length()&&i.push({type:"block",delta:r,attributes:{}}),i}createBlock(n,i){let r,o={};Object.entries(n).forEach(f=>{let[p,g]=f;this.query(p,rt.BLOCK&rt.BLOT)!=null?r=p:o[p]=g});let u=this.create(r||this.statics.defaultChild.blotName,r?n[r]:void 0);this.insertBefore(u,i||void 0);let c=u.length();return Object.entries(o).forEach(f=>{let[p,g]=f;u.formatAt(0,c,p,g)}),u}};nN=Pb});var Fb,rN,Db,Gm,jb=W(()=>{xn();Fb={scope:rt.BLOCK,whitelist:["right","center","justify"]},rN=new sr("align","align",Fb),Db=new ri("align","ql-align",Fb),Gm=new Sr("align","text-align",Fb)});var Yf,sN,Xf,$m=W(()=>{xn();Yf=class extends Sr{value(n){let i=super.value(n);return i.startsWith("rgb(")?(i=i.replace(/^[^\d]+/,"").replace(/[^\d]+$/,""),`#${i.split(",").map(o=>`00${parseInt(o,10).toString(16)}`.slice(-2)).join("")}`):i}},sN=new ri("color","ql-color",{scope:rt.INLINE}),Xf=new Yf("color","color",{scope:rt.INLINE})});var oN,Zf,qb=W(()=>{xn();$m();oN=new ri("background","ql-bg",{scope:rt.INLINE}),Zf=new Yf("background","background-color",{scope:rt.INLINE})});var yo,oi,gd,Bm=W(()=>{fs();rl();Bf();da();ua();pd();Cr();yo=class extends gs{static create(n){let i=super.create(n);return i.setAttribute("spellcheck","false"),i}code(n,i){return this.children.map(r=>r.length()<=1?"":r.domNode.innerText).join(` `).slice(n,n+i)}html(n,i){return`
     ${dc(this.code(n,i))}
    -
    `}},oi=class extends wn{static TAB=" ";static register(){Ae.register(yo)}},gd=class extends Bi{};gd.blotName="code";gd.tagName="CODE";oi.blotName="code-block";oi.className="ql-code-block";oi.tagName="DIV";yo.blotName="code-block-container";yo.className="ql-code-block-container";yo.tagName="DIV";yo.allowedChildren=[oi];oi.allowedChildren=[Kn,$i,sl];oi.requiredContainer=yo});var zb,Um,Gb,Vm,$b=W(()=>{xn();zb={scope:rt.BLOCK,whitelist:["rtl"]},Um=new sr("direction","dir",zb),Gb=new ri("direction","ql-direction",zb),Vm=new Er("direction","direction",zb)});var aN,Ub,Bb,Wm,Vb=W(()=>{xn();aN={scope:rt.INLINE,whitelist:["serif","monospace"]},Ub=new ri("font","ql-font",aN),Bb=class extends Er{value(n){return super.value(n).replace(/["']/g,"")}},Wm=new Bb("font","font-family",aN)});var Wb,Hm,Hb=W(()=>{xn();Wb=new ri("size","ql-size",{scope:rt.INLINE,whitelist:["small","large","huge"]}),Hm=new Er("size","font-size",{scope:rt.INLINE,whitelist:["10px","18px","32px"]})});function lN(e){return{key:"Tab",shiftKey:!e,format:{"code-block":!0},handler(n,i){let{event:r}=i,o=this.quill.scroll.query("code-block"),{TAB:u}=o;if(n.length===0&&!r.shiftKey){this.quill.insertText(n.index,u,Ae.sources.USER),this.quill.setSelection(n.index+u.length,Ae.sources.SILENT);return}let c=n.length===0?this.quill.getLines(n.index,1):this.quill.getLines(n),{index:f,length:p}=n;c.forEach((g,d)=>{e?(g.insertAt(0,u),d===0?f+=u.length:p+=u.length):g.domNode.textContent.startsWith(u)&&(g.deleteAt(0,u.length),d===0?f-=u.length:p-=u.length)}),this.quill.update(Ae.sources.USER),this.quill.setSelection(f,p,Ae.sources.SILENT)}}}function Ym(e,n){return{key:e,shiftKey:n,altKey:null,[e==="ArrowLeft"?"prefix":"suffix"]:/^$/,handler(r){let{index:o}=r;e==="ArrowRight"&&(o+=r.length+1);let[u]=this.quill.getLeaf(o);return u instanceof zn?(e==="ArrowLeft"?n?this.quill.setSelection(r.index-1,r.length+1,Ae.sources.USER):this.quill.setSelection(r.index-1,Ae.sources.USER):n?this.quill.setSelection(r.index,r.length+1,Ae.sources.USER):this.quill.setSelection(r.index+r.length+1,Ae.sources.USER),!1):!0}}}function Yb(e){return{key:e[0],shortKey:!0,handler(n,i){this.quill.format(e,!i.format[e],Ae.sources.USER)}}}function cN(e){return{key:e?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(n,i){let r=e?"prev":"next",o=i.line,u=o.parent[r];if(u!=null){if(u.statics.blotName==="table-row"){let c=u.children.head,f=o;for(;f.prev!=null;)f=f.prev,c=c.next;let p=c.offset(this.quill.scroll)+Math.min(i.offset,c.length()-1);this.quill.setSelection(p,0,Ae.sources.USER)}}else{let c=o.table()[r];c!=null&&(e?this.quill.setSelection(c.offset(this.quill.scroll)+c.length()-1,0,Ae.sources.USER):this.quill.setSelection(c.offset(this.quill.scroll),0,Ae.sources.USER))}return!1}}}function QB(e){if(typeof e=="string"||typeof e=="number")e={key:e};else if(typeof e=="object")e=mo(e);else return null;return e.shortKey&&(e[ZB]=e.shortKey,delete e.shortKey),e}function Qf(e){let{quill:n,range:i}=e,r=n.getLines(i),o={};if(r.length>1){let u=r[0].formats(),c=r[r.length-1].formats();o=Wi.AttributeMap.diff(c,u)||{}}n.deleteText(i,Ae.sources.USER),Object.keys(o).length>0&&n.formatLine(i.index,1,o,Ae.sources.USER),n.setSelection(i.index,Ae.sources.SILENT)}function JB(e,n,i,r){return n.prev==null&&n.next==null?i.prev==null&&i.next==null?r===0?-1:1:i.prev==null?-1:1:n.prev==null?-1:n.next==null?1:null}var Wi,XB,ZB,Kf,KB,Xm=W(()=>{Qa();Wi=hn(Br(),1);xn();Ir();hc();gs();XB=Ur("quill:keyboard"),ZB=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey",Kf=class e extends $n{static match(n,i){return["altKey","ctrlKey","metaKey","shiftKey"].some(r=>!!i[r]!==n[r]&&i[r]!==null)?!1:i.key===n.key||i.key===n.which}constructor(n,i){super(n,i),this.bindings={},Object.keys(this.options.bindings).forEach(r=>{this.options.bindings[r]&&this.addBinding(this.options.bindings[r])}),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},()=>{}),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=QB(n);if(o==null){XB.warn("Attempted to add invalid keyboard binding",o);return}typeof i=="function"&&(i={handler:i}),typeof r=="function"&&(r={handler:r}),(Array.isArray(o.key)?o.key:[o.key]).forEach(c=>{let f={...o,key:c,...i,...r};this.bindings[f.key]=this.bindings[f.key]||[],this.bindings[f.key].push(f)})}listen(){this.quill.root.addEventListener("keydown",n=>{if(n.defaultPrevented||n.isComposing||n.keyCode===229&&(n.key==="Enter"||n.key==="Backspace"))return;let o=(this.bindings[n.key]||[]).concat(this.bindings[n.which]||[]).filter(O=>e.match(n,O));if(o.length===0)return;let u=Ae.find(n.target,!0);if(u&&u.scroll!==this.quill.scroll)return;let c=this.quill.getSelection();if(c==null||!this.quill.hasFocus())return;let[f,p]=this.quill.getLine(c.index),[g,d]=this.quill.getLeaf(c.index),[v,y]=c.length===0?[g,d]:this.quill.getLeaf(c.index+c.length),S=g instanceof sd?g.value().slice(0,d):"",w=v instanceof sd?v.value().slice(y):"",E={collapsed:c.length===0,empty:c.length===0&&f.length()<=1,format:this.quill.getFormat(c),line:f,offset:p,prefix:S,suffix:w,event:n};o.some(O=>{if(O.collapsed!=null&&O.collapsed!==E.collapsed||O.empty!=null&&O.empty!==E.empty||O.offset!=null&&O.offset!==E.offset)return!1;if(Array.isArray(O.format)){if(O.format.every(H=>E.format[H]==null))return!1}else if(typeof O.format=="object"&&!Object.keys(O.format).every(H=>O.format[H]===!0?E.format[H]!=null:O.format[H]===!1?E.format[H]==null:rc(O.format[H],E.format[H])))return!1;return O.prefix!=null&&!O.prefix.test(E.prefix)||O.suffix!=null&&!O.suffix.test(E.suffix)?!1:O.handler.call(this,c,E,O)!==!0})&&n.preventDefault()})}handleBackspace(n,i){let r=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(i.prefix)?2:1;if(n.index===0||this.quill.getLength()<=1)return;let o={},[u]=this.quill.getLine(n.index),c=new Wi.default().retain(n.index-r).delete(r);if(i.offset===0){let[f]=this.quill.getLine(n.index-1);if(f&&!(f.statics.blotName==="block"&&f.length()<=1)){let g=u.formats(),d=this.quill.getFormat(n.index-1,1);if(o=Wi.AttributeMap.diff(g,d)||{},Object.keys(o).length>0){let v=new Wi.default().retain(n.index+u.length()-2).retain(1,o);c=c.compose(v)}}}this.quill.updateContents(c,Ae.sources.USER),this.quill.focus()}handleDelete(n,i){let r=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(i.suffix)?2:1;if(n.index>=this.quill.getLength()-r)return;let o={},[u]=this.quill.getLine(n.index),c=new Wi.default().retain(n.index).delete(r);if(i.offset>=u.length()-1){let[f]=this.quill.getLine(n.index+1);if(f){let p=u.formats(),g=this.quill.getFormat(n.index,1);o=Wi.AttributeMap.diff(p,g)||{},Object.keys(o).length>0&&(c=c.retain(f.length()-1).retain(1,o))}}this.quill.updateContents(c,Ae.sources.USER),this.quill.focus()}handleDeleteRange(n){Qf({range:n,quill:this.quill}),this.quill.focus()}handleEnter(n,i){let r=Object.keys(i.format).reduce((u,c)=>(this.quill.scroll.query(c,rt.BLOCK)&&!Array.isArray(i.format[c])&&(u[c]=i.format[c]),u),{}),o=new Wi.default().retain(n.index).delete(n.length).insert(` +`}},oi=class extends wn{static TAB=" ";static register(){Ae.register(yo)}},gd=class extends Bi{};gd.blotName="code";gd.tagName="CODE";oi.blotName="code-block";oi.className="ql-code-block";oi.tagName="DIV";yo.blotName="code-block-container";yo.className="ql-code-block-container";yo.tagName="DIV";yo.allowedChildren=[oi];oi.allowedChildren=[Kn,$i,sl];oi.requiredContainer=yo});var zb,Um,Gb,Vm,$b=W(()=>{xn();zb={scope:rt.BLOCK,whitelist:["rtl"]},Um=new sr("direction","dir",zb),Gb=new ri("direction","ql-direction",zb),Vm=new Sr("direction","direction",zb)});var aN,Ub,Bb,Wm,Vb=W(()=>{xn();aN={scope:rt.INLINE,whitelist:["serif","monospace"]},Ub=new ri("font","ql-font",aN),Bb=class extends Sr{value(n){return super.value(n).replace(/["']/g,"")}},Wm=new Bb("font","font-family",aN)});var Wb,Hm,Hb=W(()=>{xn();Wb=new ri("size","ql-size",{scope:rt.INLINE,whitelist:["small","large","huge"]}),Hm=new Sr("size","font-size",{scope:rt.INLINE,whitelist:["10px","18px","32px"]})});function lN(e){return{key:"Tab",shiftKey:!e,format:{"code-block":!0},handler(n,i){let{event:r}=i,o=this.quill.scroll.query("code-block"),{TAB:u}=o;if(n.length===0&&!r.shiftKey){this.quill.insertText(n.index,u,Ae.sources.USER),this.quill.setSelection(n.index+u.length,Ae.sources.SILENT);return}let c=n.length===0?this.quill.getLines(n.index,1):this.quill.getLines(n),{index:f,length:p}=n;c.forEach((g,d)=>{e?(g.insertAt(0,u),d===0?f+=u.length:p+=u.length):g.domNode.textContent.startsWith(u)&&(g.deleteAt(0,u.length),d===0?f-=u.length:p-=u.length)}),this.quill.update(Ae.sources.USER),this.quill.setSelection(f,p,Ae.sources.SILENT)}}}function Ym(e,n){return{key:e,shiftKey:n,altKey:null,[e==="ArrowLeft"?"prefix":"suffix"]:/^$/,handler(r){let{index:o}=r;e==="ArrowRight"&&(o+=r.length+1);let[u]=this.quill.getLeaf(o);return u instanceof qn?(e==="ArrowLeft"?n?this.quill.setSelection(r.index-1,r.length+1,Ae.sources.USER):this.quill.setSelection(r.index-1,Ae.sources.USER):n?this.quill.setSelection(r.index,r.length+1,Ae.sources.USER):this.quill.setSelection(r.index+r.length+1,Ae.sources.USER),!1):!0}}}function Yb(e){return{key:e[0],shortKey:!0,handler(n,i){this.quill.format(e,!i.format[e],Ae.sources.USER)}}}function cN(e){return{key:e?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(n,i){let r=e?"prev":"next",o=i.line,u=o.parent[r];if(u!=null){if(u.statics.blotName==="table-row"){let c=u.children.head,f=o;for(;f.prev!=null;)f=f.prev,c=c.next;let p=c.offset(this.quill.scroll)+Math.min(i.offset,c.length()-1);this.quill.setSelection(p,0,Ae.sources.USER)}}else{let c=o.table()[r];c!=null&&(e?this.quill.setSelection(c.offset(this.quill.scroll)+c.length()-1,0,Ae.sources.USER):this.quill.setSelection(c.offset(this.quill.scroll),0,Ae.sources.USER))}return!1}}}function QB(e){if(typeof e=="string"||typeof e=="number")e={key:e};else if(typeof e=="object")e=mo(e);else return null;return e.shortKey&&(e[ZB]=e.shortKey,delete e.shortKey),e}function Qf(e){let{quill:n,range:i}=e,r=n.getLines(i),o={};if(r.length>1){let u=r[0].formats(),c=r[r.length-1].formats();o=Wi.AttributeMap.diff(c,u)||{}}n.deleteText(i,Ae.sources.USER),Object.keys(o).length>0&&n.formatLine(i.index,1,o,Ae.sources.USER),n.setSelection(i.index,Ae.sources.SILENT)}function JB(e,n,i,r){return n.prev==null&&n.next==null?i.prev==null&&i.next==null?r===0?-1:1:i.prev==null?-1:1:n.prev==null?-1:n.next==null?1:null}var Wi,XB,ZB,Kf,KB,Xm=W(()=>{Qa();Wi=hn($r(),1);xn();Cr();hc();ps();XB=Br("quill:keyboard"),ZB=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey",Kf=class e extends Gn{static match(n,i){return["altKey","ctrlKey","metaKey","shiftKey"].some(r=>!!i[r]!==n[r]&&i[r]!==null)?!1:i.key===n.key||i.key===n.which}constructor(n,i){super(n,i),this.bindings={},Object.keys(this.options.bindings).forEach(r=>{this.options.bindings[r]&&this.addBinding(this.options.bindings[r])}),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},()=>{}),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=QB(n);if(o==null){XB.warn("Attempted to add invalid keyboard binding",o);return}typeof i=="function"&&(i={handler:i}),typeof r=="function"&&(r={handler:r}),(Array.isArray(o.key)?o.key:[o.key]).forEach(c=>{let f={...o,key:c,...i,...r};this.bindings[f.key]=this.bindings[f.key]||[],this.bindings[f.key].push(f)})}listen(){this.quill.root.addEventListener("keydown",n=>{if(n.defaultPrevented||n.isComposing||n.keyCode===229&&(n.key==="Enter"||n.key==="Backspace"))return;let o=(this.bindings[n.key]||[]).concat(this.bindings[n.which]||[]).filter(O=>e.match(n,O));if(o.length===0)return;let u=Ae.find(n.target,!0);if(u&&u.scroll!==this.quill.scroll)return;let c=this.quill.getSelection();if(c==null||!this.quill.hasFocus())return;let[f,p]=this.quill.getLine(c.index),[g,d]=this.quill.getLeaf(c.index),[v,y]=c.length===0?[g,d]:this.quill.getLeaf(c.index+c.length),S=g instanceof sd?g.value().slice(0,d):"",w=v instanceof sd?v.value().slice(y):"",E={collapsed:c.length===0,empty:c.length===0&&f.length()<=1,format:this.quill.getFormat(c),line:f,offset:p,prefix:S,suffix:w,event:n};o.some(O=>{if(O.collapsed!=null&&O.collapsed!==E.collapsed||O.empty!=null&&O.empty!==E.empty||O.offset!=null&&O.offset!==E.offset)return!1;if(Array.isArray(O.format)){if(O.format.every(H=>E.format[H]==null))return!1}else if(typeof O.format=="object"&&!Object.keys(O.format).every(H=>O.format[H]===!0?E.format[H]!=null:O.format[H]===!1?E.format[H]==null:rc(O.format[H],E.format[H])))return!1;return O.prefix!=null&&!O.prefix.test(E.prefix)||O.suffix!=null&&!O.suffix.test(E.suffix)?!1:O.handler.call(this,c,E,O)!==!0})&&n.preventDefault()})}handleBackspace(n,i){let r=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(i.prefix)?2:1;if(n.index===0||this.quill.getLength()<=1)return;let o={},[u]=this.quill.getLine(n.index),c=new Wi.default().retain(n.index-r).delete(r);if(i.offset===0){let[f]=this.quill.getLine(n.index-1);if(f&&!(f.statics.blotName==="block"&&f.length()<=1)){let g=u.formats(),d=this.quill.getFormat(n.index-1,1);if(o=Wi.AttributeMap.diff(g,d)||{},Object.keys(o).length>0){let v=new Wi.default().retain(n.index+u.length()-2).retain(1,o);c=c.compose(v)}}}this.quill.updateContents(c,Ae.sources.USER),this.quill.focus()}handleDelete(n,i){let r=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(i.suffix)?2:1;if(n.index>=this.quill.getLength()-r)return;let o={},[u]=this.quill.getLine(n.index),c=new Wi.default().retain(n.index).delete(r);if(i.offset>=u.length()-1){let[f]=this.quill.getLine(n.index+1);if(f){let p=u.formats(),g=this.quill.getFormat(n.index,1);o=Wi.AttributeMap.diff(p,g)||{},Object.keys(o).length>0&&(c=c.retain(f.length()-1).retain(1,o))}}this.quill.updateContents(c,Ae.sources.USER),this.quill.focus()}handleDeleteRange(n){Qf({range:n,quill:this.quill}),this.quill.focus()}handleEnter(n,i){let r=Object.keys(i.format).reduce((u,c)=>(this.quill.scroll.query(c,rt.BLOCK)&&!Array.isArray(i.format[c])&&(u[c]=i.format[c]),u),{}),o=new Wi.default().retain(n.index).delete(n.length).insert(` `,r);this.quill.updateContents(o,Ae.sources.USER),this.quill.setSelection(n.index+1,Ae.sources.SILENT),this.quill.focus()}},KB={bindings:{bold:Yb("bold"),italic:Yb("italic"),underline:Yb("underline"),indent:{key:"Tab",format:["blockquote","indent","list"],handler(e,n){return n.collapsed&&n.offset!==0?!0:(this.quill.format("indent","+1",Ae.sources.USER),!1)}},outdent:{key:"Tab",shiftKey:!0,format:["blockquote","indent","list"],handler(e,n){return n.collapsed&&n.offset!==0?!0:(this.quill.format("indent","-1",Ae.sources.USER),!1)}},"outdent backspace":{key:"Backspace",collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler(e,n){n.format.indent!=null?this.quill.format("indent","-1",Ae.sources.USER):n.format.list!=null&&this.quill.format("list",!1,Ae.sources.USER)}},"indent code-block":lN(!0),"outdent code-block":lN(!1),"remove tab":{key:"Tab",shiftKey:!0,collapsed:!0,prefix:/\t$/,handler(e){this.quill.deleteText(e.index-1,1,Ae.sources.USER)}},tab:{key:"Tab",handler(e,n){if(n.format.table)return!0;this.quill.history.cutoff();let i=new Wi.default().retain(e.index).delete(e.length).insert(" ");return this.quill.updateContents(i,Ae.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index+1,Ae.sources.SILENT),!1}},"blockquote empty enter":{key:"Enter",collapsed:!0,format:["blockquote"],empty:!0,handler(){this.quill.format("blockquote",!1,Ae.sources.USER)}},"list empty enter":{key:"Enter",collapsed:!0,format:["list"],empty:!0,handler(e,n){let i={list:!1};n.format.indent&&(i.indent=!1),this.quill.formatLine(e.index,e.length,i,Ae.sources.USER)}},"checklist enter":{key:"Enter",collapsed:!0,format:{list:"checked"},handler(e){let[n,i]=this.quill.getLine(e.index),r={...n.formats(),list:"checked"},o=new Wi.default().retain(e.index).insert(` `,r).retain(n.length()-i-1).retain(1,{list:"unchecked"});this.quill.updateContents(o,Ae.sources.USER),this.quill.setSelection(e.index+1,Ae.sources.SILENT),this.quill.scrollSelectionIntoView()}},"header enter":{key:"Enter",collapsed:!0,format:["header"],suffix:/^$/,handler(e,n){let[i,r]=this.quill.getLine(e.index),o=new Wi.default().retain(e.index).insert(` `,n.format).retain(i.length()-r-1).retain(1,{header:null});this.quill.updateContents(o,Ae.sources.USER),this.quill.setSelection(e.index+1,Ae.sources.SILENT),this.quill.scrollSelectionIntoView()}},"table backspace":{key:"Backspace",format:["table"],collapsed:!0,offset:0,handler(){}},"table delete":{key:"Delete",format:["table"],collapsed:!0,suffix:/^$/,handler(){}},"table enter":{key:"Enter",shiftKey:null,format:["table"],handler(e){let n=this.quill.getModule("table");if(n){let[i,r,o,u]=n.getTable(e),c=JB(i,r,o,u);if(c==null)return;let f=i.offset();if(c<0){let p=new Wi.default().retain(f).insert(` `);this.quill.updateContents(p,Ae.sources.USER),this.quill.setSelection(e.index+1,e.length,Ae.sources.SILENT)}else if(c>0){f+=i.length();let p=new Wi.default().retain(f).insert(` -`);this.quill.updateContents(p,Ae.sources.USER),this.quill.setSelection(f,Ae.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(e,n){let{event:i,line:r}=n,o=r.offset(this.quill.scroll);i.shiftKey?this.quill.setSelection(o-1,Ae.sources.USER):this.quill.setSelection(o+r.length(),Ae.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(e,n){if(this.quill.scroll.query("list")==null)return!0;let{length:i}=n.prefix,[r,o]=this.quill.getLine(e.index);if(o>i)return!0;let u;switch(n.prefix.trim()){case"[]":case"[ ]":u="unchecked";break;case"[x]":u="checked";break;case"-":case"*":u="bullet";break;default:u="ordered"}this.quill.insertText(e.index," ",Ae.sources.USER),this.quill.history.cutoff();let c=new Wi.default().retain(e.index-o).delete(i+1).retain(r.length()-2-o).retain(1,{list:u});return this.quill.updateContents(c,Ae.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index-i,Ae.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(e){let[n,i]=this.quill.getLine(e.index),r=2,o=n;for(;o!=null&&o.length()<=1&&o.formats()["code-block"];)if(o=o.prev,r-=1,r<=0){let u=new Wi.default().retain(e.index+n.length()-i-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(u,Ae.sources.USER),this.quill.setSelection(e.index-1,Ae.sources.SILENT),!1}return!0}},"embed left":Ym("ArrowLeft",!1),"embed left shift":Ym("ArrowLeft",!0),"embed right":Ym("ArrowRight",!1),"embed right shift":Ym("ArrowRight",!0),"table down":cN(!1),"table up":cN(!0)}};Kf.DEFAULTS=KB});function Xb(e){e.querySelector('[id^="docs-internal-guid-"]')&&(iU(e),nU(e))}var eU,tU,uN,nU,iU,dN=W(()=>{eU=/font-weight:\s*normal/,tU=["P","OL","UL"],uN=e=>e&&tU.includes(e.tagName),nU=e=>{Array.from(e.querySelectorAll("br")).filter(n=>uN(n.previousElementSibling)&&uN(n.nextElementSibling)).forEach(n=>{n.parentNode?.removeChild(n)})},iU=e=>{Array.from(e.querySelectorAll('b[style*="font-weight"]')).filter(n=>n.getAttribute("style")?.match(eU)).forEach(n=>{let i=e.createDocumentFragment();i.append(...n.childNodes),n.parentNode?.replaceChild(i,n)})}});function Zb(e){e.documentElement.getAttribute("xmlns:w")==="urn:schemas-microsoft-com:office:word"&&lU(e)}var rU,sU,oU,aU,lU,hN=W(()=>{rU=/\bmso-list:[^;]*ignore/i,sU=/\bmso-list:[^;]*\bl(\d+)/i,oU=/\bmso-list:[^;]*\blevel(\d+)/i,aU=(e,n)=>{let i=e.getAttribute("style"),r=i?.match(sU);if(!r)return null;let o=Number(r[1]),u=i?.match(oU),c=u?Number(u[1]):1,f=new RegExp(`@list l${o}:level${c}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),p=n.match(f),g=p&&p[1]==="bullet"?"bullet":"ordered";return{id:o,indent:c,type:g,element:e}},lU=e=>{let n=Array.from(e.querySelectorAll("[style*=mso-list]")),i=[],r=[];n.forEach(c=>{(c.getAttribute("style")||"").match(rU)?i.push(c):r.push(c)}),i.forEach(c=>c.parentNode?.removeChild(c));let o=e.documentElement.innerHTML,u=r.map(c=>aU(c,o)).filter(c=>c);for(;u.length;){let c=[],f=u.shift();for(;f;)c.push(f),f=u.length&&u[0]?.element===f.element.nextElementSibling&&u[0].id===f.id?u.shift():null;let p=document.createElement("ul");c.forEach(v=>{let y=document.createElement("li");y.setAttribute("data-list",v.type),v.indent>1&&y.setAttribute("class",`ql-indent-${v.indent-1}`),y.innerHTML=v.element.innerHTML,p.appendChild(y)});let g=c[0]?.element,{parentNode:d}=g??{};g&&d?.replaceChild(p,g),c.slice(1).forEach(v=>{let{element:y}=v;d?.removeChild(y)})}}});var cU,uU,fN,pN=W(()=>{dN();hN();cU=[Zb,Xb],uU=e=>{e.documentElement&&cU.forEach(n=>{n(e)})},fN=uU});function fc(e,n,i,r){return r.query(n)?e.reduce((o,u)=>{if(!u.insert)return o;if(u.attributes&&u.attributes[n])return o.push(u);let c=i?{[n]:i}:{};return o.insert(u.insert,{...c,...u.attributes})},new kr.default):e}function Jf(e,n){let i="";for(let r=e.ops.length-1;r>=0&&i.lengthc(n,u,e),new kr.default):n.nodeType===n.ELEMENT_NODE?Array.from(n.childNodes||[]).reduce((u,c)=>{let f=Qm(e,c,i,r,o);return c.nodeType===n.ELEMENT_NODE&&(f=i.reduce((p,g)=>g(c,p,e),f),f=(o.get(c)||[]).reduce((p,g)=>g(c,p,e),f)),u.concat(f)},new kr.default):new kr.default}function Kb(e){return(n,i,r)=>fc(i,e,!0,r)}function gU(e,n,i){let r=sr.keys(e),o=ri.keys(e),u=Er.keys(e),c={};return r.concat(o).concat(u).forEach(f=>{let p=i.query(f,rt.ATTRIBUTE);p!=null&&(c[p.attrName]=p.value(e),c[p.attrName])||(p=fU[f],p!=null&&(p.attrName===f||p.keyName===f)&&(c[p.attrName]=p.value(e)||void 0),p=gN[f],p!=null&&(p.attrName===f||p.keyName===f)&&(p=gN[f],c[p.attrName]=p.value(e)||void 0))}),Object.entries(c).reduce((f,p)=>{let[g,d]=p;return fc(f,g,d,i)},n)}function mU(e,n,i){let r=i.query(e);if(r==null)return n;if(r.prototype instanceof zn){let o={},u=r.value(e);if(u!=null)return o[r.blotName]=u,new kr.default().insert(o,r.formats(e,i))}else if(r.prototype instanceof sc&&!Jf(n,` +`);this.quill.updateContents(p,Ae.sources.USER),this.quill.setSelection(f,Ae.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(e,n){let{event:i,line:r}=n,o=r.offset(this.quill.scroll);i.shiftKey?this.quill.setSelection(o-1,Ae.sources.USER):this.quill.setSelection(o+r.length(),Ae.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(e,n){if(this.quill.scroll.query("list")==null)return!0;let{length:i}=n.prefix,[r,o]=this.quill.getLine(e.index);if(o>i)return!0;let u;switch(n.prefix.trim()){case"[]":case"[ ]":u="unchecked";break;case"[x]":u="checked";break;case"-":case"*":u="bullet";break;default:u="ordered"}this.quill.insertText(e.index," ",Ae.sources.USER),this.quill.history.cutoff();let c=new Wi.default().retain(e.index-o).delete(i+1).retain(r.length()-2-o).retain(1,{list:u});return this.quill.updateContents(c,Ae.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index-i,Ae.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(e){let[n,i]=this.quill.getLine(e.index),r=2,o=n;for(;o!=null&&o.length()<=1&&o.formats()["code-block"];)if(o=o.prev,r-=1,r<=0){let u=new Wi.default().retain(e.index+n.length()-i-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(u,Ae.sources.USER),this.quill.setSelection(e.index-1,Ae.sources.SILENT),!1}return!0}},"embed left":Ym("ArrowLeft",!1),"embed left shift":Ym("ArrowLeft",!0),"embed right":Ym("ArrowRight",!1),"embed right shift":Ym("ArrowRight",!0),"table down":cN(!1),"table up":cN(!0)}};Kf.DEFAULTS=KB});function Xb(e){e.querySelector('[id^="docs-internal-guid-"]')&&(iU(e),nU(e))}var eU,tU,uN,nU,iU,dN=W(()=>{eU=/font-weight:\s*normal/,tU=["P","OL","UL"],uN=e=>e&&tU.includes(e.tagName),nU=e=>{Array.from(e.querySelectorAll("br")).filter(n=>uN(n.previousElementSibling)&&uN(n.nextElementSibling)).forEach(n=>{n.parentNode?.removeChild(n)})},iU=e=>{Array.from(e.querySelectorAll('b[style*="font-weight"]')).filter(n=>n.getAttribute("style")?.match(eU)).forEach(n=>{let i=e.createDocumentFragment();i.append(...n.childNodes),n.parentNode?.replaceChild(i,n)})}});function Zb(e){e.documentElement.getAttribute("xmlns:w")==="urn:schemas-microsoft-com:office:word"&&lU(e)}var rU,sU,oU,aU,lU,hN=W(()=>{rU=/\bmso-list:[^;]*ignore/i,sU=/\bmso-list:[^;]*\bl(\d+)/i,oU=/\bmso-list:[^;]*\blevel(\d+)/i,aU=(e,n)=>{let i=e.getAttribute("style"),r=i?.match(sU);if(!r)return null;let o=Number(r[1]),u=i?.match(oU),c=u?Number(u[1]):1,f=new RegExp(`@list l${o}:level${c}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),p=n.match(f),g=p&&p[1]==="bullet"?"bullet":"ordered";return{id:o,indent:c,type:g,element:e}},lU=e=>{let n=Array.from(e.querySelectorAll("[style*=mso-list]")),i=[],r=[];n.forEach(c=>{(c.getAttribute("style")||"").match(rU)?i.push(c):r.push(c)}),i.forEach(c=>c.parentNode?.removeChild(c));let o=e.documentElement.innerHTML,u=r.map(c=>aU(c,o)).filter(c=>c);for(;u.length;){let c=[],f=u.shift();for(;f;)c.push(f),f=u.length&&u[0]?.element===f.element.nextElementSibling&&u[0].id===f.id?u.shift():null;let p=document.createElement("ul");c.forEach(v=>{let y=document.createElement("li");y.setAttribute("data-list",v.type),v.indent>1&&y.setAttribute("class",`ql-indent-${v.indent-1}`),y.innerHTML=v.element.innerHTML,p.appendChild(y)});let g=c[0]?.element,{parentNode:d}=g??{};g&&d?.replaceChild(p,g),c.slice(1).forEach(v=>{let{element:y}=v;d?.removeChild(y)})}}});var cU,uU,fN,pN=W(()=>{dN();hN();cU=[Zb,Xb],uU=e=>{e.documentElement&&cU.forEach(n=>{n(e)})},fN=uU});function fc(e,n,i,r){return r.query(n)?e.reduce((o,u)=>{if(!u.insert)return o;if(u.attributes&&u.attributes[n])return o.push(u);let c=i?{[n]:i}:{};return o.insert(u.insert,{...c,...u.attributes})},new Ir.default):e}function Jf(e,n){let i="";for(let r=e.ops.length-1;r>=0&&i.lengthc(n,u,e),new Ir.default):n.nodeType===n.ELEMENT_NODE?Array.from(n.childNodes||[]).reduce((u,c)=>{let f=Qm(e,c,i,r,o);return c.nodeType===n.ELEMENT_NODE&&(f=i.reduce((p,g)=>g(c,p,e),f),f=(o.get(c)||[]).reduce((p,g)=>g(c,p,e),f)),u.concat(f)},new Ir.default):new Ir.default}function Kb(e){return(n,i,r)=>fc(i,e,!0,r)}function gU(e,n,i){let r=sr.keys(e),o=ri.keys(e),u=Sr.keys(e),c={};return r.concat(o).concat(u).forEach(f=>{let p=i.query(f,rt.ATTRIBUTE);p!=null&&(c[p.attrName]=p.value(e),c[p.attrName])||(p=fU[f],p!=null&&(p.attrName===f||p.keyName===f)&&(c[p.attrName]=p.value(e)||void 0),p=gN[f],p!=null&&(p.attrName===f||p.keyName===f)&&(p=gN[f],c[p.attrName]=p.value(e)||void 0))}),Object.entries(c).reduce((f,p)=>{let[g,d]=p;return fc(f,g,d,i)},n)}function mU(e,n,i){let r=i.query(e);if(r==null)return n;if(r.prototype instanceof qn){let o={},u=r.value(e);if(u!=null)return o[r.blotName]=u,new Ir.default().insert(o,r.formats(e,i))}else if(r.prototype instanceof sc&&!Jf(n,` `)&&n.insert(` `),"blotName"in r&&"formats"in r&&typeof r.formats=="function")return fc(n,r.blotName,r.formats(e,i),i);return n}function _U(e,n){return Jf(n,` `)||n.insert(` -`),n}function yU(e,n,i){let r=i.query("code-block"),o=r&&"formats"in r&&typeof r.formats=="function"?r.formats(e,i):!0;return fc(n,"code-block",o,i)}function vU(){return new kr.default}function bU(e,n,i){let r=i.query(e);if(r==null||r.blotName!=="list"||!Jf(n,` -`))return n;let o=-1,u=e.parentNode;for(;u!=null;)["OL","UL"].includes(u.tagName)&&(o+=1),u=u.parentNode;return o<=0?n:n.reduce((c,f)=>f.insert?f.attributes&&typeof f.attributes.indent=="number"?c.push(f):c.insert(f.insert,{indent:o,...f.attributes||{}}):c,new kr.default)}function xU(e,n,i){let r=e,o=r.tagName==="OL"?"ordered":"bullet",u=r.getAttribute("data-checked");return u&&(o=u==="true"?"checked":"unchecked"),fc(n,"list",o,i)}function mN(e,n,i){if(!Jf(n,` +`),n}function yU(e,n,i){let r=i.query("code-block"),o=r&&"formats"in r&&typeof r.formats=="function"?r.formats(e,i):!0;return fc(n,"code-block",o,i)}function vU(){return new Ir.default}function bU(e,n,i){let r=i.query(e);if(r==null||r.blotName!=="list"||!Jf(n,` +`))return n;let o=-1,u=e.parentNode;for(;u!=null;)["OL","UL"].includes(u.tagName)&&(o+=1),u=u.parentNode;return o<=0?n:n.reduce((c,f)=>f.insert?f.attributes&&typeof f.attributes.indent=="number"?c.push(f):c.insert(f.insert,{indent:o,...f.attributes||{}}):c,new Ir.default)}function xU(e,n,i){let r=e,o=r.tagName==="OL"?"ordered":"bullet",u=r.getAttribute("data-checked");return u&&(o=u==="true"?"checked":"unchecked"),fc(n,"list",o,i)}function mN(e,n,i){if(!Jf(n,` `)){if(ll(e,i)&&(e.childNodes.length>0||e instanceof HTMLParagraphElement))return n.insert(` `);if(n.length()>0&&e.nextSibling){let r=e.nextSibling;for(;r!=null;){if(ll(r,i))return n.insert(` -`);let o=i.query(r);if(o&&o.prototype instanceof pi)return n.insert(` -`);r=r.firstChild}}}return n}function wU(e,n,i){let r={},o=e.style||{};return o.fontStyle==="italic"&&(r.italic=!0),o.textDecoration==="underline"&&(r.underline=!0),o.textDecoration==="line-through"&&(r.strike=!0),(o.fontWeight?.startsWith("bold")||parseInt(o.fontWeight,10)>=700)&&(r.bold=!0),n=Object.entries(r).reduce((u,c)=>{let[f,p]=c;return fc(u,f,p,i)},n),parseFloat(o.textIndent||0)>0?new kr.default().insert(" ").concat(n):n}function SU(e,n,i){let r=e.parentElement?.tagName==="TABLE"?e.parentElement:e.parentElement?.parentElement;if(r!=null){let u=Array.from(r.querySelectorAll("tr")).indexOf(e)+1;return fc(n,"table",u,i)}return n}function EU(e,n,i){let r=e.data;if(e.parentElement?.tagName==="O:P")return n.insert(r.trim());if(!_N(e)){if(r.trim().length===0&&r.includes(` -`)&&!pU(e,i))return n;r=r.replace(/[^\S\u00a0]/g," "),r=r.replace(/ {2,}/g," "),(e.previousSibling==null&&e.parentElement!=null&&ll(e.parentElement,i)||e.previousSibling instanceof Element&&ll(e.previousSibling,i))&&(r=r.replace(/^ /,"")),(e.nextSibling==null&&e.parentElement!=null&&ll(e.parentElement,i)||e.nextSibling instanceof Element&&ll(e.nextSibling,i))&&(r=r.replace(/ $/,"")),r=r.replaceAll("\xA0"," ")}return n.insert(r)}var kr,dU,hU,fU,gN,Km,Zm,Qb=W(()=>{xn();kr=hn(Br(),1);ps();hc();gs();Ir();jb();qb();Bm();$m();$b();Vb();Hb();Xm();pN();dU=Ur("quill:clipboard"),hU=[[Node.TEXT_NODE,EU],[Node.TEXT_NODE,mN],["br",_U],[Node.ELEMENT_NODE,mN],[Node.ELEMENT_NODE,mU],[Node.ELEMENT_NODE,gU],[Node.ELEMENT_NODE,wU],["li",bU],["ol, ul",xU],["pre",yU],["tr",SU],["b",Kb("bold")],["i",Kb("italic")],["strike",Kb("strike")],["style",vU]],fU=[rN,Um].reduce((e,n)=>(e[n.keyName]=n,e),{}),gN=[Gm,Zf,Xf,Vm,Wm,Hm].reduce((e,n)=>(e[n.keyName]=n,e),{}),Km=class extends $n{static DEFAULTS={matchers:[]};constructor(n,i){super(n,i),this.quill.root.addEventListener("copy",r=>this.onCaptureCopy(r,!1)),this.quill.root.addEventListener("cut",r=>this.onCaptureCopy(r,!0)),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],hU.concat(this.options.matchers??[]).forEach(r=>{let[o,u]=r;this.addMatcher(o,u)})}addMatcher(n,i){this.matchers.push([n,i])}convert(n){let{html:i,text:r}=n,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(o[oi.blotName])return new kr.default().insert(r||"",{[oi.blotName]:o[oi.blotName]});if(!i)return new kr.default().insert(r||"",o);let u=this.convertHTML(i);return Jf(u,` -`)&&(u.ops[u.ops.length-1].attributes==null||o.table)?u.compose(new kr.default().retain(u.length()-1).delete(1)):u}normalizeHTML(n){fN(n)}convertHTML(n){let i=new DOMParser().parseFromString(n,"text/html");this.normalizeHTML(i);let r=i.body,o=new WeakMap,[u,c]=this.prepareMatching(r,o);return Qm(this.quill.scroll,r,u,c,o)}dangerouslyPasteHTML(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ae.sources.API;if(typeof n=="string"){let o=this.convert({html:n,text:""});this.quill.setContents(o,i),this.quill.setSelection(0,Ae.sources.SILENT)}else{let o=this.convert({html:i,text:""});this.quill.updateContents(new kr.default().retain(n).concat(o),r),this.quill.setSelection(n+o.length(),Ae.sources.SILENT)}}onCaptureCopy(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(n.defaultPrevented)return;n.preventDefault();let[r]=this.quill.selection.getRange();if(r==null)return;let{html:o,text:u}=this.onCopy(r,i);n.clipboardData?.setData("text/plain",u),n.clipboardData?.setData("text/html",o),i&&Qf({range:r,quill:this.quill})}normalizeURIList(n){return n.split(/\r?\n/).filter(i=>i[0]!=="#").join(` -`)}onCapturePaste(n){if(n.defaultPrevented||!this.quill.isEnabled())return;n.preventDefault();let i=this.quill.getSelection(!0);if(i==null)return;let r=n.clipboardData?.getData("text/html"),o=n.clipboardData?.getData("text/plain");if(!r&&!o){let c=n.clipboardData?.getData("text/uri-list");c&&(o=this.normalizeURIList(c))}let u=Array.from(n.clipboardData?.files||[]);if(!r&&u.length>0){this.quill.uploader.upload(i,u);return}if(r&&u.length>0){let c=new DOMParser().parseFromString(r,"text/html");if(c.body.childElementCount===1&&c.body.firstElementChild?.tagName==="IMG"){this.quill.uploader.upload(i,u);return}}this.onPaste(i,{html:r,text:o})}onCopy(n){let i=this.quill.getText(n);return{html:this.quill.getSemanticHTML(n),text:i}}onPaste(n,i){let{text:r,html:o}=i,u=this.quill.getFormat(n.index),c=this.convert({text:r,html:o},u);dU.log("onPaste",c,{text:r,html:o});let f=new kr.default().retain(n.index).delete(n.length).concat(c);this.quill.updateContents(f,Ae.sources.USER),this.quill.setSelection(f.length()-n.length,Ae.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(n,i){let r=[],o=[];return this.matchers.forEach(u=>{let[c,f]=u;switch(c){case Node.TEXT_NODE:o.push(f);break;case Node.ELEMENT_NODE:r.push(f);break;default:Array.from(n.querySelectorAll(c)).forEach(p=>{i.has(p)?i.get(p)?.push(f):i.set(p,[f])});break}}),[r,o]}};Zm=new WeakMap});function yN(e,n){let i=n;for(let r=e.length-1;r>=0;r-=1){let o=e[r];e[r]={delta:i.transform(o.delta,!0),range:o.range&&Jb(o.range,i)},i=o.delta.transform(i),e[r].delta.length()===0&&e.splice(r,1)}}function CU(e,n){let i=n.ops[n.ops.length-1];return i==null?!1:i.insert!=null?typeof i.insert=="string"&&i.insert.endsWith(` -`):i.attributes!=null?Object.keys(i.attributes).some(r=>e.query(r,rt.BLOCK)!=null):!1}function IU(e,n){let i=n.reduce((o,u)=>o+(u.delete||0),0),r=n.length()-i;return CU(e,n)&&(r-=1),r}function Jb(e,n){if(!e)return e;let i=n.transformPosition(e.index),r=n.transformPosition(e.index+e.length);return{index:i,length:r-i}}var Jm,vN=W(()=>{xn();gs();Ir();Jm=class extends $n{static DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};lastRecorded=0;ignoreChange=!1;stack={undo:[],redo:[]};currentRange=null;constructor(n,i){super(n,i),this.quill.on(Ae.events.EDITOR_CHANGE,(r,o,u,c)=>{r===Ae.events.SELECTION_CHANGE?o&&c!==Ae.sources.SILENT&&(this.currentRange=o):r===Ae.events.TEXT_CHANGE&&(this.ignoreChange||(!this.options.userOnly||c===Ae.sources.USER?this.record(o,u):this.transform(o)),this.currentRange=Jb(this.currentRange,o))}),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",r=>{r.inputType==="historyUndo"?(this.undo(),r.preventDefault()):r.inputType==="historyRedo"&&(this.redo(),r.preventDefault())})}change(n,i){if(this.stack[n].length===0)return;let r=this.stack[n].pop();if(!r)return;let o=this.quill.getContents(),u=r.delta.invert(o);this.stack[i].push({delta:u,range:Jb(r.range,u)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(r.delta,Ae.sources.USER),this.ignoreChange=!1,this.restoreSelection(r)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(n,i){if(n.ops.length===0)return;this.stack.redo=[];let r=n.invert(i),o=this.currentRange,u=Date.now();if(this.lastRecorded+this.options.delay>u&&this.stack.undo.length>0){let c=this.stack.undo.pop();c&&(r=r.compose(c.delta),o=c.range)}else this.lastRecorded=u;r.length()!==0&&(this.stack.undo.push({delta:r,range:o}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(n){yN(this.stack.undo,n),yN(this.stack.redo,n)}undo(){this.change("undo","redo")}restoreSelection(n){if(n.range)this.quill.setSelection(n.range,Ae.sources.USER);else{let i=IU(this.quill.scroll,n.delta);this.quill.setSelection(i,Ae.sources.USER)}}}});var bN,e_,xN,wN=W(()=>{bN=hn(Br(),1);ha();gs();e_=class extends $n{constructor(n,i){super(n,i),n.root.addEventListener("drop",r=>{r.preventDefault();let o=null;if(document.caretRangeFromPoint)o=document.caretRangeFromPoint(r.clientX,r.clientY);else if(document.caretPositionFromPoint){let c=document.caretPositionFromPoint(r.clientX,r.clientY);o=document.createRange(),o.setStart(c.offsetNode,c.offset),o.setEnd(c.offsetNode,c.offset)}let u=o&&n.selection.normalizeNative(o);if(u){let c=n.selection.normalizedToRange(u);r.dataTransfer?.files&&this.upload(c,r.dataTransfer.files)}})}upload(n,i){let r=[];Array.from(i).forEach(o=>{o&&this.options.mimetypes?.includes(o.type)&&r.push(o)}),r.length>0&&this.options.handler.call(this,n,r)}};e_.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(e,n){if(!this.quill.scroll.query("image"))return;let i=n.map(r=>new Promise(o=>{let u=new FileReader;u.onload=()=>{o(u.result)},u.readAsDataURL(r)}));Promise.all(i).then(r=>{let o=r.reduce((u,c)=>u.insert({image:c}),new bN.default().retain(e.index).delete(e.length));this.quill.updateContents(o,ot.sources.USER),this.quill.setSelection(e.index+r.length,ot.sources.SILENT)})}};xN=e_});function LU(e){return typeof e.data=="string"?e.data:e.dataTransfer?.types.includes("text/plain")?e.dataTransfer.getData("text/plain"):null}var SN,kU,ex,EN,CN=W(()=>{SN=hn(Br(),1);gs();Ir();Xm();kU=["insertText","insertReplacementText"],ex=class extends $n{constructor(n,i){super(n,i),n.root.addEventListener("beforeinput",r=>{this.handleBeforeInput(r)}),/Android/i.test(navigator.userAgent)||n.on(Ae.events.COMPOSITION_BEFORE_START,()=>{this.handleCompositionStart()})}deleteRange(n){Qf({range:n,quill:this.quill})}replaceText(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(n.length===0)return!1;if(i){let r=this.quill.getFormat(n.index,1);this.deleteRange(n),this.quill.updateContents(new SN.default().retain(n.index).insert(i,r),Ae.sources.USER)}else this.deleteRange(n);return this.quill.setSelection(n.index+i.length,0,Ae.sources.SILENT),!0}handleBeforeInput(n){if(this.quill.composition.isComposing||n.defaultPrevented||!kU.includes(n.inputType))return;let i=n.getTargetRanges?n.getTargetRanges()[0]:null;if(!i||i.collapsed===!0)return;let r=LU(n);if(r==null)return;let o=this.quill.selection.normalizeNative(i),u=o?this.quill.selection.normalizedToRange(o):null;u&&this.replaceText(u,r)&&n.preventDefault()}handleCompositionStart(){let n=this.quill.getSelection();n&&this.replaceText(n)}};EN=ex});var TU,NU,RU,tx,IN,kN=W(()=>{xn();gs();Ir();TU=/Mac/i.test(navigator.platform),NU=100,RU=e=>!!(e.key==="ArrowLeft"||e.key==="ArrowRight"||e.key==="ArrowUp"||e.key==="ArrowDown"||e.key==="Home"||TU&&e.key==="a"&&e.ctrlKey===!0),tx=class extends $n{isListening=!1;selectionChangeDeadline=0;constructor(n,i){super(n,i),this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(n,i){let{line:r,event:o}=i;if(!(r instanceof Sr)||!r.uiNode)return!0;let u=getComputedStyle(r.domNode).direction==="rtl";return u&&o.key!=="ArrowRight"||!u&&o.key!=="ArrowLeft"?!0:(this.quill.setSelection(n.index-1,n.length+(o.shiftKey?1:0),Ae.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",n=>{!n.defaultPrevented&&RU(n)&&this.ensureListeningToSelectionChange()})}ensureListeningToSelectionChange(){if(this.selectionChangeDeadline=Date.now()+NU,this.isListening)return;this.isListening=!0;let n=()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()};document.addEventListener("selectionchange",n,{once:!0})}handleSelectionChange(){let n=document.getSelection();if(!n)return;let i=n.getRangeAt(0);if(i.collapsed!==!0||i.startOffset!==0)return;let r=this.quill.scroll.find(i.startContainer);if(!(r instanceof Sr)||!r.uiNode)return;let o=document.createRange();o.setStartAfter(r.uiNode),o.setEndAfter(r.uiNode),n.removeAllRanges(),n.addRange(o)}},IN=tx});var ys,t_,nx=W(()=>{Ir();ps();rl();pd();Bf();jm();da();iN();ua();Qb();vN();Xm();wN();ys=hn(Br(),1);CN();kN();gs();Ae.register({"blots/block":wn,"blots/block/embed":pi,"blots/break":$i,"blots/container":ms,"blots/cursor":sl,"blots/embed":dd,"blots/inline":Bi,"blots/scroll":nN,"blots/text":Kn,"modules/clipboard":Km,"modules/history":Jm,"modules/keyboard":Kf,"modules/uploader":xN,"modules/input":EN,"modules/uiNode":IN});t_=Ae});var ix,MU,LN,TN=W(()=>{xn();ix=class extends ri{add(n,i){let r=0;if(i==="+1"||i==="-1"){let o=this.value(n)||0;r=i==="+1"?o+1:o-1}else typeof i=="number"&&(r=i);return r===0?(this.remove(n),!0):super.add(n,r.toString())}canAdd(n,i){return super.canAdd(n,i)||super.canAdd(n,parseInt(i,10))}value(n){return parseInt(super.value(n),10)||void 0}},MU=new ix("indent","ql-indent",{scope:rt.BLOCK,whitelist:[1,2,3,4,5,6,7,8]}),LN=MU});var rx,NN,RN=W(()=>{ps();rx=class extends wn{static blotName="blockquote";static tagName="blockquote"},NN=rx});var sx,MN,AN=W(()=>{ps();sx=class extends wn{static blotName="header";static tagName=["H1","H2","H3","H4","H5","H6"];static formats(n){return this.tagName.indexOf(n.tagName)+1}},MN=sx});var pc,cl,ON=W(()=>{ps();pd();Ir();pc=class extends ms{};pc.blotName="list-container";pc.tagName="OL";cl=class extends wn{static create(n){let i=super.create();return i.setAttribute("data-list",n),i}static formats(n){return n.getAttribute("data-list")||void 0}static register(){Ae.register(pc)}constructor(n,i){super(n,i);let r=i.ownerDocument.createElement("span"),o=u=>{if(!n.isEnabled())return;let c=this.statics.formats(i,n);c==="checked"?(this.format("list","unchecked"),u.preventDefault()):c==="unchecked"&&(this.format("list","checked"),u.preventDefault())};r.addEventListener("mousedown",o),r.addEventListener("touchstart",o),this.attachUI(r)}format(n,i){n===this.statics.blotName&&i?this.domNode.setAttribute("data-list",i):super.format(n,i)}};cl.blotName="list";cl.tagName="LI";pc.allowedChildren=[cl];cl.requiredContainer=pc});var ox,md,n_=W(()=>{da();ox=class extends Bi{static blotName="bold";static tagName=["STRONG","B"];static create(){return super.create()}static formats(){return!0}optimize(n){super.optimize(n),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}},md=ox});var ax,PN,FN=W(()=>{n_();ax=class extends md{static blotName="italic";static tagName=["EM","I"]},PN=ax});function lx(e,n){let i=document.createElement("a");i.href=e;let r=i.href.slice(0,i.href.indexOf(":"));return n.indexOf(r)>-1}var pa,ep=W(()=>{da();pa=class extends Bi{static blotName="link";static tagName="A";static SANITIZED_URL="about:blank";static PROTOCOL_WHITELIST=["http","https","mailto","tel","sms"];static create(n){let i=super.create(n);return i.setAttribute("href",this.sanitize(n)),i.setAttribute("rel","noopener noreferrer"),i.setAttribute("target","_blank"),i}static formats(n){return n.getAttribute("href")}static sanitize(n){return lx(n,this.PROTOCOL_WHITELIST)?n:this.SANITIZED_URL}format(n,i){n!==this.statics.blotName||!i?super.format(n,i):this.domNode.setAttribute("href",this.constructor.sanitize(i))}}});var cx,DN,jN=W(()=>{da();cx=class extends Bi{static blotName="script";static tagName=["SUB","SUP"];static create(n){return n==="super"?document.createElement("sup"):n==="sub"?document.createElement("sub"):super.create(n)}static formats(n){if(n.tagName==="SUB")return"sub";if(n.tagName==="SUP")return"super"}},DN=cx});var ux,qN,zN=W(()=>{n_();ux=class extends md{static blotName="strike";static tagName=["S","STRIKE"]},qN=ux});var dx,GN,$N=W(()=>{da();dx=class extends Bi{static blotName="underline";static tagName="U"},GN=dx});var hx,BN,UN=W(()=>{jm();hx=class extends dd{static blotName="formula";static className="ql-formula";static tagName="SPAN";static create(n){if(window.katex==null)throw new Error("Formula module requires KaTeX.");let i=super.create(n);return typeof n=="string"&&(window.katex.render(n,i,{throwOnError:!1,errorColor:"#f00"}),i.setAttribute("data-value",n)),i}static value(n){return n.getAttribute("data-value")}html(){let{formula:n}=this.value();return`${n}`}},BN=hx});var VN,fx,WN,HN=W(()=>{xn();ep();VN=["alt","height","width"],fx=class extends zn{static blotName="image";static tagName="IMG";static create(n){let i=super.create(n);return typeof n=="string"&&i.setAttribute("src",this.sanitize(n)),i}static formats(n){return VN.reduce((i,r)=>(n.hasAttribute(r)&&(i[r]=n.getAttribute(r)),i),{})}static match(n){return/\.(jpe?g|gif|png)$/.test(n)||/^data:image\/.+;base64/.test(n)}static sanitize(n){return lx(n,["http","https","data"])?n:"//:0"}static value(n){return n.getAttribute("src")}format(n,i){VN.indexOf(n)>-1?i?this.domNode.setAttribute(n,i):this.domNode.removeAttribute(n):super.format(n,i)}},WN=fx});var YN,px,XN,ZN=W(()=>{ps();ep();YN=["height","width"],px=class extends pi{static blotName="video";static className="ql-video";static tagName="IFRAME";static create(n){let i=super.create(n);return i.setAttribute("frameborder","0"),i.setAttribute("allowfullscreen","true"),i.setAttribute("src",this.sanitize(n)),i}static formats(n){return YN.reduce((i,r)=>(n.hasAttribute(r)&&(i[r]=n.getAttribute(r)),i),{})}static sanitize(n){return pa.sanitize(n)}static value(n){return n.getAttribute("src")}format(n,i){YN.indexOf(n)>-1?i?this.domNode.setAttribute(n,i):this.domNode.removeAttribute(n):super.format(n,i)}html(){let{video:n}=this.value();return`${n}`}},XN=px});var i_,tp,ga,Lr,gc,AU,np,KN=W(()=>{i_=hn(Br(),1);xn();da();Ir();gs();ps();rl();Bf();ua();Bm();Qb();tp=new ri("code-token","hljs",{scope:rt.INLINE}),ga=class e extends Bi{static formats(n,i){for(;n!=null&&n!==i.domNode;){if(n.classList&&n.classList.contains(oi.className))return super.formats(n,i);n=n.parentNode}}constructor(n,i,r){super(n,i,r),tp.add(this.domNode,r)}format(n,i){n!==e.blotName?super.format(n,i):i?tp.add(this.domNode,i):(tp.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),tp.value(this.domNode)||this.unwrap()}};ga.blotName="code-token";ga.className="ql-token";Lr=class extends oi{static create(n){let i=super.create(n);return typeof n=="string"&&i.setAttribute("data-language",n),i}static formats(n){return n.getAttribute("data-language")||"plain"}static register(){}format(n,i){n===this.statics.blotName&&i?this.domNode.setAttribute("data-language",i):super.format(n,i)}replaceWith(n,i){return this.formatAt(0,this.length(),ga.blotName,!1),super.replaceWith(n,i)}},gc=class extends yo{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(n,i){n===Lr.blotName&&(this.forceNext=!0,this.children.forEach(r=>{r.format(n,i)}))}formatAt(n,i,r,o){r===Lr.blotName&&(this.forceNext=!0),super.formatAt(n,i,r,o)}highlight(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.children.head==null)return;let o=`${Array.from(this.domNode.childNodes).filter(c=>c!==this.uiNode).map(c=>c.textContent).join(` +`);let o=i.query(r);if(o&&o.prototype instanceof gi)return n.insert(` +`);r=r.firstChild}}}return n}function wU(e,n,i){let r={},o=e.style||{};return o.fontStyle==="italic"&&(r.italic=!0),o.textDecoration==="underline"&&(r.underline=!0),o.textDecoration==="line-through"&&(r.strike=!0),(o.fontWeight?.startsWith("bold")||parseInt(o.fontWeight,10)>=700)&&(r.bold=!0),n=Object.entries(r).reduce((u,c)=>{let[f,p]=c;return fc(u,f,p,i)},n),parseFloat(o.textIndent||0)>0?new Ir.default().insert(" ").concat(n):n}function SU(e,n,i){let r=e.parentElement?.tagName==="TABLE"?e.parentElement:e.parentElement?.parentElement;if(r!=null){let u=Array.from(r.querySelectorAll("tr")).indexOf(e)+1;return fc(n,"table",u,i)}return n}function EU(e,n,i){let r=e.data;if(e.parentElement?.tagName==="O:P")return n.insert(r.trim());if(!_N(e)){if(r.trim().length===0&&r.includes(` +`)&&!pU(e,i))return n;r=r.replace(/[^\S\u00a0]/g," "),r=r.replace(/ {2,}/g," "),(e.previousSibling==null&&e.parentElement!=null&&ll(e.parentElement,i)||e.previousSibling instanceof Element&&ll(e.previousSibling,i))&&(r=r.replace(/^ /,"")),(e.nextSibling==null&&e.parentElement!=null&&ll(e.parentElement,i)||e.nextSibling instanceof Element&&ll(e.nextSibling,i))&&(r=r.replace(/ $/,"")),r=r.replaceAll("\xA0"," ")}return n.insert(r)}var Ir,dU,hU,fU,gN,Km,Zm,Qb=W(()=>{xn();Ir=hn($r(),1);fs();hc();ps();Cr();jb();qb();Bm();$m();$b();Vb();Hb();Xm();pN();dU=Br("quill:clipboard"),hU=[[Node.TEXT_NODE,EU],[Node.TEXT_NODE,mN],["br",_U],[Node.ELEMENT_NODE,mN],[Node.ELEMENT_NODE,mU],[Node.ELEMENT_NODE,gU],[Node.ELEMENT_NODE,wU],["li",bU],["ol, ul",xU],["pre",yU],["tr",SU],["b",Kb("bold")],["i",Kb("italic")],["strike",Kb("strike")],["style",vU]],fU=[rN,Um].reduce((e,n)=>(e[n.keyName]=n,e),{}),gN=[Gm,Zf,Xf,Vm,Wm,Hm].reduce((e,n)=>(e[n.keyName]=n,e),{}),Km=class extends Gn{static DEFAULTS={matchers:[]};constructor(n,i){super(n,i),this.quill.root.addEventListener("copy",r=>this.onCaptureCopy(r,!1)),this.quill.root.addEventListener("cut",r=>this.onCaptureCopy(r,!0)),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],hU.concat(this.options.matchers??[]).forEach(r=>{let[o,u]=r;this.addMatcher(o,u)})}addMatcher(n,i){this.matchers.push([n,i])}convert(n){let{html:i,text:r}=n,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(o[oi.blotName])return new Ir.default().insert(r||"",{[oi.blotName]:o[oi.blotName]});if(!i)return new Ir.default().insert(r||"",o);let u=this.convertHTML(i);return Jf(u,` +`)&&(u.ops[u.ops.length-1].attributes==null||o.table)?u.compose(new Ir.default().retain(u.length()-1).delete(1)):u}normalizeHTML(n){fN(n)}convertHTML(n){let i=new DOMParser().parseFromString(n,"text/html");this.normalizeHTML(i);let r=i.body,o=new WeakMap,[u,c]=this.prepareMatching(r,o);return Qm(this.quill.scroll,r,u,c,o)}dangerouslyPasteHTML(n,i){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ae.sources.API;if(typeof n=="string"){let o=this.convert({html:n,text:""});this.quill.setContents(o,i),this.quill.setSelection(0,Ae.sources.SILENT)}else{let o=this.convert({html:i,text:""});this.quill.updateContents(new Ir.default().retain(n).concat(o),r),this.quill.setSelection(n+o.length(),Ae.sources.SILENT)}}onCaptureCopy(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(n.defaultPrevented)return;n.preventDefault();let[r]=this.quill.selection.getRange();if(r==null)return;let{html:o,text:u}=this.onCopy(r,i);n.clipboardData?.setData("text/plain",u),n.clipboardData?.setData("text/html",o),i&&Qf({range:r,quill:this.quill})}normalizeURIList(n){return n.split(/\r?\n/).filter(i=>i[0]!=="#").join(` +`)}onCapturePaste(n){if(n.defaultPrevented||!this.quill.isEnabled())return;n.preventDefault();let i=this.quill.getSelection(!0);if(i==null)return;let r=n.clipboardData?.getData("text/html"),o=n.clipboardData?.getData("text/plain");if(!r&&!o){let c=n.clipboardData?.getData("text/uri-list");c&&(o=this.normalizeURIList(c))}let u=Array.from(n.clipboardData?.files||[]);if(!r&&u.length>0){this.quill.uploader.upload(i,u);return}if(r&&u.length>0){let c=new DOMParser().parseFromString(r,"text/html");if(c.body.childElementCount===1&&c.body.firstElementChild?.tagName==="IMG"){this.quill.uploader.upload(i,u);return}}this.onPaste(i,{html:r,text:o})}onCopy(n){let i=this.quill.getText(n);return{html:this.quill.getSemanticHTML(n),text:i}}onPaste(n,i){let{text:r,html:o}=i,u=this.quill.getFormat(n.index),c=this.convert({text:r,html:o},u);dU.log("onPaste",c,{text:r,html:o});let f=new Ir.default().retain(n.index).delete(n.length).concat(c);this.quill.updateContents(f,Ae.sources.USER),this.quill.setSelection(f.length()-n.length,Ae.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(n,i){let r=[],o=[];return this.matchers.forEach(u=>{let[c,f]=u;switch(c){case Node.TEXT_NODE:o.push(f);break;case Node.ELEMENT_NODE:r.push(f);break;default:Array.from(n.querySelectorAll(c)).forEach(p=>{i.has(p)?i.get(p)?.push(f):i.set(p,[f])});break}}),[r,o]}};Zm=new WeakMap});function yN(e,n){let i=n;for(let r=e.length-1;r>=0;r-=1){let o=e[r];e[r]={delta:i.transform(o.delta,!0),range:o.range&&Jb(o.range,i)},i=o.delta.transform(i),e[r].delta.length()===0&&e.splice(r,1)}}function CU(e,n){let i=n.ops[n.ops.length-1];return i==null?!1:i.insert!=null?typeof i.insert=="string"&&i.insert.endsWith(` +`):i.attributes!=null?Object.keys(i.attributes).some(r=>e.query(r,rt.BLOCK)!=null):!1}function IU(e,n){let i=n.reduce((o,u)=>o+(u.delete||0),0),r=n.length()-i;return CU(e,n)&&(r-=1),r}function Jb(e,n){if(!e)return e;let i=n.transformPosition(e.index),r=n.transformPosition(e.index+e.length);return{index:i,length:r-i}}var Jm,vN=W(()=>{xn();ps();Cr();Jm=class extends Gn{static DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};lastRecorded=0;ignoreChange=!1;stack={undo:[],redo:[]};currentRange=null;constructor(n,i){super(n,i),this.quill.on(Ae.events.EDITOR_CHANGE,(r,o,u,c)=>{r===Ae.events.SELECTION_CHANGE?o&&c!==Ae.sources.SILENT&&(this.currentRange=o):r===Ae.events.TEXT_CHANGE&&(this.ignoreChange||(!this.options.userOnly||c===Ae.sources.USER?this.record(o,u):this.transform(o)),this.currentRange=Jb(this.currentRange,o))}),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",r=>{r.inputType==="historyUndo"?(this.undo(),r.preventDefault()):r.inputType==="historyRedo"&&(this.redo(),r.preventDefault())})}change(n,i){if(this.stack[n].length===0)return;let r=this.stack[n].pop();if(!r)return;let o=this.quill.getContents(),u=r.delta.invert(o);this.stack[i].push({delta:u,range:Jb(r.range,u)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(r.delta,Ae.sources.USER),this.ignoreChange=!1,this.restoreSelection(r)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(n,i){if(n.ops.length===0)return;this.stack.redo=[];let r=n.invert(i),o=this.currentRange,u=Date.now();if(this.lastRecorded+this.options.delay>u&&this.stack.undo.length>0){let c=this.stack.undo.pop();c&&(r=r.compose(c.delta),o=c.range)}else this.lastRecorded=u;r.length()!==0&&(this.stack.undo.push({delta:r,range:o}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(n){yN(this.stack.undo,n),yN(this.stack.redo,n)}undo(){this.change("undo","redo")}restoreSelection(n){if(n.range)this.quill.setSelection(n.range,Ae.sources.USER);else{let i=IU(this.quill.scroll,n.delta);this.quill.setSelection(i,Ae.sources.USER)}}}});var bN,e_,xN,wN=W(()=>{bN=hn($r(),1);ha();ps();e_=class extends Gn{constructor(n,i){super(n,i),n.root.addEventListener("drop",r=>{r.preventDefault();let o=null;if(document.caretRangeFromPoint)o=document.caretRangeFromPoint(r.clientX,r.clientY);else if(document.caretPositionFromPoint){let c=document.caretPositionFromPoint(r.clientX,r.clientY);o=document.createRange(),o.setStart(c.offsetNode,c.offset),o.setEnd(c.offsetNode,c.offset)}let u=o&&n.selection.normalizeNative(o);if(u){let c=n.selection.normalizedToRange(u);r.dataTransfer?.files&&this.upload(c,r.dataTransfer.files)}})}upload(n,i){let r=[];Array.from(i).forEach(o=>{o&&this.options.mimetypes?.includes(o.type)&&r.push(o)}),r.length>0&&this.options.handler.call(this,n,r)}};e_.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(e,n){if(!this.quill.scroll.query("image"))return;let i=n.map(r=>new Promise(o=>{let u=new FileReader;u.onload=()=>{o(u.result)},u.readAsDataURL(r)}));Promise.all(i).then(r=>{let o=r.reduce((u,c)=>u.insert({image:c}),new bN.default().retain(e.index).delete(e.length));this.quill.updateContents(o,ot.sources.USER),this.quill.setSelection(e.index+r.length,ot.sources.SILENT)})}};xN=e_});function LU(e){return typeof e.data=="string"?e.data:e.dataTransfer?.types.includes("text/plain")?e.dataTransfer.getData("text/plain"):null}var SN,kU,ex,EN,CN=W(()=>{SN=hn($r(),1);ps();Cr();Xm();kU=["insertText","insertReplacementText"],ex=class extends Gn{constructor(n,i){super(n,i),n.root.addEventListener("beforeinput",r=>{this.handleBeforeInput(r)}),/Android/i.test(navigator.userAgent)||n.on(Ae.events.COMPOSITION_BEFORE_START,()=>{this.handleCompositionStart()})}deleteRange(n){Qf({range:n,quill:this.quill})}replaceText(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(n.length===0)return!1;if(i){let r=this.quill.getFormat(n.index,1);this.deleteRange(n),this.quill.updateContents(new SN.default().retain(n.index).insert(i,r),Ae.sources.USER)}else this.deleteRange(n);return this.quill.setSelection(n.index+i.length,0,Ae.sources.SILENT),!0}handleBeforeInput(n){if(this.quill.composition.isComposing||n.defaultPrevented||!kU.includes(n.inputType))return;let i=n.getTargetRanges?n.getTargetRanges()[0]:null;if(!i||i.collapsed===!0)return;let r=LU(n);if(r==null)return;let o=this.quill.selection.normalizeNative(i),u=o?this.quill.selection.normalizedToRange(o):null;u&&this.replaceText(u,r)&&n.preventDefault()}handleCompositionStart(){let n=this.quill.getSelection();n&&this.replaceText(n)}};EN=ex});var TU,NU,RU,tx,IN,kN=W(()=>{xn();ps();Cr();TU=/Mac/i.test(navigator.platform),NU=100,RU=e=>!!(e.key==="ArrowLeft"||e.key==="ArrowRight"||e.key==="ArrowUp"||e.key==="ArrowDown"||e.key==="Home"||TU&&e.key==="a"&&e.ctrlKey===!0),tx=class extends Gn{isListening=!1;selectionChangeDeadline=0;constructor(n,i){super(n,i),this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(n,i){let{line:r,event:o}=i;if(!(r instanceof wr)||!r.uiNode)return!0;let u=getComputedStyle(r.domNode).direction==="rtl";return u&&o.key!=="ArrowRight"||!u&&o.key!=="ArrowLeft"?!0:(this.quill.setSelection(n.index-1,n.length+(o.shiftKey?1:0),Ae.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",n=>{!n.defaultPrevented&&RU(n)&&this.ensureListeningToSelectionChange()})}ensureListeningToSelectionChange(){if(this.selectionChangeDeadline=Date.now()+NU,this.isListening)return;this.isListening=!0;let n=()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()};document.addEventListener("selectionchange",n,{once:!0})}handleSelectionChange(){let n=document.getSelection();if(!n)return;let i=n.getRangeAt(0);if(i.collapsed!==!0||i.startOffset!==0)return;let r=this.quill.scroll.find(i.startContainer);if(!(r instanceof wr)||!r.uiNode)return;let o=document.createRange();o.setStartAfter(r.uiNode),o.setEndAfter(r.uiNode),n.removeAllRanges(),n.addRange(o)}},IN=tx});var _s,t_,nx=W(()=>{Cr();fs();rl();pd();Bf();jm();da();iN();ua();Qb();vN();Xm();wN();_s=hn($r(),1);CN();kN();ps();Ae.register({"blots/block":wn,"blots/block/embed":gi,"blots/break":$i,"blots/container":gs,"blots/cursor":sl,"blots/embed":dd,"blots/inline":Bi,"blots/scroll":nN,"blots/text":Kn,"modules/clipboard":Km,"modules/history":Jm,"modules/keyboard":Kf,"modules/uploader":xN,"modules/input":EN,"modules/uiNode":IN});t_=Ae});var ix,MU,LN,TN=W(()=>{xn();ix=class extends ri{add(n,i){let r=0;if(i==="+1"||i==="-1"){let o=this.value(n)||0;r=i==="+1"?o+1:o-1}else typeof i=="number"&&(r=i);return r===0?(this.remove(n),!0):super.add(n,r.toString())}canAdd(n,i){return super.canAdd(n,i)||super.canAdd(n,parseInt(i,10))}value(n){return parseInt(super.value(n),10)||void 0}},MU=new ix("indent","ql-indent",{scope:rt.BLOCK,whitelist:[1,2,3,4,5,6,7,8]}),LN=MU});var rx,NN,RN=W(()=>{fs();rx=class extends wn{static blotName="blockquote";static tagName="blockquote"},NN=rx});var sx,MN,AN=W(()=>{fs();sx=class extends wn{static blotName="header";static tagName=["H1","H2","H3","H4","H5","H6"];static formats(n){return this.tagName.indexOf(n.tagName)+1}},MN=sx});var pc,cl,ON=W(()=>{fs();pd();Cr();pc=class extends gs{};pc.blotName="list-container";pc.tagName="OL";cl=class extends wn{static create(n){let i=super.create();return i.setAttribute("data-list",n),i}static formats(n){return n.getAttribute("data-list")||void 0}static register(){Ae.register(pc)}constructor(n,i){super(n,i);let r=i.ownerDocument.createElement("span"),o=u=>{if(!n.isEnabled())return;let c=this.statics.formats(i,n);c==="checked"?(this.format("list","unchecked"),u.preventDefault()):c==="unchecked"&&(this.format("list","checked"),u.preventDefault())};r.addEventListener("mousedown",o),r.addEventListener("touchstart",o),this.attachUI(r)}format(n,i){n===this.statics.blotName&&i?this.domNode.setAttribute("data-list",i):super.format(n,i)}};cl.blotName="list";cl.tagName="LI";pc.allowedChildren=[cl];cl.requiredContainer=pc});var ox,md,n_=W(()=>{da();ox=class extends Bi{static blotName="bold";static tagName=["STRONG","B"];static create(){return super.create()}static formats(){return!0}optimize(n){super.optimize(n),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}},md=ox});var ax,PN,FN=W(()=>{n_();ax=class extends md{static blotName="italic";static tagName=["EM","I"]},PN=ax});function lx(e,n){let i=document.createElement("a");i.href=e;let r=i.href.slice(0,i.href.indexOf(":"));return n.indexOf(r)>-1}var pa,ep=W(()=>{da();pa=class extends Bi{static blotName="link";static tagName="A";static SANITIZED_URL="about:blank";static PROTOCOL_WHITELIST=["http","https","mailto","tel","sms"];static create(n){let i=super.create(n);return i.setAttribute("href",this.sanitize(n)),i.setAttribute("rel","noopener noreferrer"),i.setAttribute("target","_blank"),i}static formats(n){return n.getAttribute("href")}static sanitize(n){return lx(n,this.PROTOCOL_WHITELIST)?n:this.SANITIZED_URL}format(n,i){n!==this.statics.blotName||!i?super.format(n,i):this.domNode.setAttribute("href",this.constructor.sanitize(i))}}});var cx,DN,jN=W(()=>{da();cx=class extends Bi{static blotName="script";static tagName=["SUB","SUP"];static create(n){return n==="super"?document.createElement("sup"):n==="sub"?document.createElement("sub"):super.create(n)}static formats(n){if(n.tagName==="SUB")return"sub";if(n.tagName==="SUP")return"super"}},DN=cx});var ux,qN,zN=W(()=>{n_();ux=class extends md{static blotName="strike";static tagName=["S","STRIKE"]},qN=ux});var dx,GN,$N=W(()=>{da();dx=class extends Bi{static blotName="underline";static tagName="U"},GN=dx});var hx,BN,UN=W(()=>{jm();hx=class extends dd{static blotName="formula";static className="ql-formula";static tagName="SPAN";static create(n){if(window.katex==null)throw new Error("Formula module requires KaTeX.");let i=super.create(n);return typeof n=="string"&&(window.katex.render(n,i,{throwOnError:!1,errorColor:"#f00"}),i.setAttribute("data-value",n)),i}static value(n){return n.getAttribute("data-value")}html(){let{formula:n}=this.value();return`${n}`}},BN=hx});var VN,fx,WN,HN=W(()=>{xn();ep();VN=["alt","height","width"],fx=class extends qn{static blotName="image";static tagName="IMG";static create(n){let i=super.create(n);return typeof n=="string"&&i.setAttribute("src",this.sanitize(n)),i}static formats(n){return VN.reduce((i,r)=>(n.hasAttribute(r)&&(i[r]=n.getAttribute(r)),i),{})}static match(n){return/\.(jpe?g|gif|png)$/.test(n)||/^data:image\/.+;base64/.test(n)}static sanitize(n){return lx(n,["http","https","data"])?n:"//:0"}static value(n){return n.getAttribute("src")}format(n,i){VN.indexOf(n)>-1?i?this.domNode.setAttribute(n,i):this.domNode.removeAttribute(n):super.format(n,i)}},WN=fx});var YN,px,XN,ZN=W(()=>{fs();ep();YN=["height","width"],px=class extends gi{static blotName="video";static className="ql-video";static tagName="IFRAME";static create(n){let i=super.create(n);return i.setAttribute("frameborder","0"),i.setAttribute("allowfullscreen","true"),i.setAttribute("src",this.sanitize(n)),i}static formats(n){return YN.reduce((i,r)=>(n.hasAttribute(r)&&(i[r]=n.getAttribute(r)),i),{})}static sanitize(n){return pa.sanitize(n)}static value(n){return n.getAttribute("src")}format(n,i){YN.indexOf(n)>-1?i?this.domNode.setAttribute(n,i):this.domNode.removeAttribute(n):super.format(n,i)}html(){let{video:n}=this.value();return`${n}`}},XN=px});var i_,tp,ga,kr,gc,AU,np,KN=W(()=>{i_=hn($r(),1);xn();da();Cr();ps();fs();rl();Bf();ua();Bm();Qb();tp=new ri("code-token","hljs",{scope:rt.INLINE}),ga=class e extends Bi{static formats(n,i){for(;n!=null&&n!==i.domNode;){if(n.classList&&n.classList.contains(oi.className))return super.formats(n,i);n=n.parentNode}}constructor(n,i,r){super(n,i,r),tp.add(this.domNode,r)}format(n,i){n!==e.blotName?super.format(n,i):i?tp.add(this.domNode,i):(tp.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),tp.value(this.domNode)||this.unwrap()}};ga.blotName="code-token";ga.className="ql-token";kr=class extends oi{static create(n){let i=super.create(n);return typeof n=="string"&&i.setAttribute("data-language",n),i}static formats(n){return n.getAttribute("data-language")||"plain"}static register(){}format(n,i){n===this.statics.blotName&&i?this.domNode.setAttribute("data-language",i):super.format(n,i)}replaceWith(n,i){return this.formatAt(0,this.length(),ga.blotName,!1),super.replaceWith(n,i)}},gc=class extends yo{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(n,i){n===kr.blotName&&(this.forceNext=!0,this.children.forEach(r=>{r.format(n,i)}))}formatAt(n,i,r,o){r===kr.blotName&&(this.forceNext=!0),super.formatAt(n,i,r,o)}highlight(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.children.head==null)return;let o=`${Array.from(this.domNode.childNodes).filter(c=>c!==this.uiNode).map(c=>c.textContent).join(` `)} -`,u=Lr.formats(this.children.head.domNode);if(i||this.forceNext||this.cachedText!==o){if(o.trim().length>0||this.cachedText==null){let c=this.children.reduce((p,g)=>p.concat(hb(g,!1)),new i_.default),f=n(o,u);c.diff(f).reduce((p,g)=>{let{retain:d,attributes:v}=g;return d?(v&&Object.keys(v).forEach(y=>{[Lr.blotName,ga.blotName].includes(y)&&this.formatAt(p,d,y,v[y])}),p+d):p},0)}this.cachedText=o,this.forceNext=!1}}html(n,i){let[r]=this.children.find(n);return`
    +`,u=kr.formats(this.children.head.domNode);if(i||this.forceNext||this.cachedText!==o){if(o.trim().length>0||this.cachedText==null){let c=this.children.reduce((p,g)=>p.concat(hb(g,!1)),new i_.default),f=n(o,u);c.diff(f).reduce((p,g)=>{let{retain:d,attributes:v}=g;return d?(v&&Object.keys(v).forEach(y=>{[kr.blotName,ga.blotName].includes(y)&&this.formatAt(p,d,y,v[y])}),p+d):p},0)}this.cachedText=o,this.forceNext=!1}}html(n,i){let[r]=this.children.find(n);return`
     ${dc(this.code(n,i))}
    -
    `}optimize(n){if(super.optimize(n),this.parent!=null&&this.children.head!=null&&this.uiNode!=null){let i=Lr.formats(this.children.head.domNode);i!==this.uiNode.value&&(this.uiNode.value=i)}}};gc.allowedChildren=[Lr];Lr.requiredContainer=gc;Lr.allowedChildren=[ga,sl,Kn,$i];AU=(e,n,i)=>{if(typeof e.versionString=="string"){let r=e.versionString.split(".")[0];if(parseInt(r,10)>=11)return e.highlight(i,{language:n}).value}return e.highlight(n,i).value},np=class extends $n{static register(){Ae.register(ga,!0),Ae.register(Lr,!0),Ae.register(gc,!0)}constructor(n,i){if(super(n,i),this.options.hljs==null)throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce((r,o)=>{let{key:u}=o;return r[u]=!0,r},{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(Ae.events.SCROLL_BLOT_MOUNT,n=>{if(!(n instanceof gc))return;let i=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach(r=>{let{key:o,label:u}=r,c=i.ownerDocument.createElement("option");c.textContent=u,c.setAttribute("value",o),i.appendChild(c)}),i.addEventListener("change",()=>{n.format(Lr.blotName,i.value),this.quill.root.focus(),this.highlight(n,!0)}),n.uiNode==null&&(n.attachUI(i),n.children.head&&(i.value=Lr.formats(n.children.head.domNode)))})}initTimer(){let n=null;this.quill.on(Ae.events.SCROLL_OPTIMIZE,()=>{n&&clearTimeout(n),n=setTimeout(()=>{this.highlight(),n=null},this.options.interval)})}highlight(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.quill.selection.composing)return;this.quill.update(Ae.sources.USER);let r=this.quill.getSelection();(n==null?this.quill.scroll.descendants(gc):[n]).forEach(u=>{u.highlight(this.highlightBlot,i)}),this.quill.update(Ae.sources.SILENT),r!=null&&this.quill.setSelection(r,Ae.sources.SILENT)}highlightBlot(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"plain";if(i=this.languages[i]?i:"plain",i==="plain")return dc(n).split(` +
    `}optimize(n){if(super.optimize(n),this.parent!=null&&this.children.head!=null&&this.uiNode!=null){let i=kr.formats(this.children.head.domNode);i!==this.uiNode.value&&(this.uiNode.value=i)}}};gc.allowedChildren=[kr];kr.requiredContainer=gc;kr.allowedChildren=[ga,sl,Kn,$i];AU=(e,n,i)=>{if(typeof e.versionString=="string"){let r=e.versionString.split(".")[0];if(parseInt(r,10)>=11)return e.highlight(i,{language:n}).value}return e.highlight(n,i).value},np=class extends Gn{static register(){Ae.register(ga,!0),Ae.register(kr,!0),Ae.register(gc,!0)}constructor(n,i){if(super(n,i),this.options.hljs==null)throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce((r,o)=>{let{key:u}=o;return r[u]=!0,r},{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(Ae.events.SCROLL_BLOT_MOUNT,n=>{if(!(n instanceof gc))return;let i=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach(r=>{let{key:o,label:u}=r,c=i.ownerDocument.createElement("option");c.textContent=u,c.setAttribute("value",o),i.appendChild(c)}),i.addEventListener("change",()=>{n.format(kr.blotName,i.value),this.quill.root.focus(),this.highlight(n,!0)}),n.uiNode==null&&(n.attachUI(i),n.children.head&&(i.value=kr.formats(n.children.head.domNode)))})}initTimer(){let n=null;this.quill.on(Ae.events.SCROLL_OPTIMIZE,()=>{n&&clearTimeout(n),n=setTimeout(()=>{this.highlight(),n=null},this.options.interval)})}highlight(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.quill.selection.composing)return;this.quill.update(Ae.sources.USER);let r=this.quill.getSelection();(n==null?this.quill.scroll.descendants(gc):[n]).forEach(u=>{u.highlight(this.highlightBlot,i)}),this.quill.update(Ae.sources.SILENT),r!=null&&this.quill.setSelection(r,Ae.sources.SILENT)}highlightBlot(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"plain";if(i=this.languages[i]?i:"plain",i==="plain")return dc(n).split(` `).reduce((o,u,c)=>(c!==0&&o.insert(` `,{[oi.blotName]:i}),o.insert(u)),new i_.default);let r=this.quill.root.ownerDocument.createElement("div");return r.classList.add(oi.className),r.innerHTML=AU(this.options.hljs,i,n),Qm(this.quill.scroll,r,[(o,u)=>{let c=tp.value(o);return c?u.compose(new i_.default().retain(u.length(),{[ga.blotName]:c})):u}],[(o,u)=>o.data.split(` `).reduce((c,f,p)=>(p!==0&&c.insert(` -`,{[oi.blotName]:i}),c.insert(f)),u)],new WeakMap)}};np.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]}});function r_(){return`row-${Math.random().toString(36).slice(2,6)}`}var vs,vo,Us,mc,QN=W(()=>{ps();pd();vs=class e extends wn{static blotName="table";static tagName="TD";static create(n){let i=super.create();return n?i.setAttribute("data-row",n):i.setAttribute("data-row",r_()),i}static formats(n){if(n.hasAttribute("data-row"))return n.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(n,i){n===e.blotName&&i?this.domNode.setAttribute("data-row",i):super.format(n,i)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}},vo=class extends ms{static blotName="table-row";static tagName="TR";checkMerge(){if(super.checkMerge()&&this.next.children.head!=null){let n=this.children.head.formats(),i=this.children.tail.formats(),r=this.next.children.head.formats(),o=this.next.children.tail.formats();return n.table===i.table&&n.table===r.table&&n.table===o.table}return!1}optimize(n){super.optimize(n),this.children.forEach(i=>{if(i.next==null)return;let r=i.formats(),o=i.next.formats();if(r.table!==o.table){let u=this.splitAfter(i);u&&u.optimize(),this.prev&&this.prev.optimize()}})}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}},Us=class extends ms{static blotName="table-body";static tagName="TBODY"},mc=class extends ms{static blotName="table-container";static tagName="TABLE";balanceCells(){let n=this.descendants(vo),i=n.reduce((r,o)=>Math.max(o.children.length,r),0);n.forEach(r=>{new Array(i-r.children.length).fill(0).forEach(()=>{let o;r.children.head!=null&&(o=vs.formats(r.children.head.domNode));let u=this.scroll.create(vs.blotName,o);r.appendChild(u),u.optimize()})})}cells(n){return this.rows().map(i=>i.children.at(n))}deleteColumn(n){let[i]=this.descendant(Us);i==null||i.children.head==null||i.children.forEach(r=>{let o=r.children.at(n);o?.remove()})}insertColumn(n){let[i]=this.descendant(Us);i==null||i.children.head==null||i.children.forEach(r=>{let o=r.children.at(n),u=vs.formats(r.children.head.domNode),c=this.scroll.create(vs.blotName,u);r.insertBefore(c,o)})}insertRow(n){let[i]=this.descendant(Us);if(i==null||i.children.head==null)return;let r=r_(),o=this.scroll.create(vo.blotName);i.children.head.children.forEach(()=>{let c=this.scroll.create(vs.blotName,r);o.appendChild(c)});let u=i.children.at(n);i.insertBefore(o,u)}rows(){let n=this.children.head;return n==null?[]:n.children.map(i=>i)}};mc.allowedChildren=[Us];Us.requiredContainer=mc;Us.allowedChildren=[vo];vo.requiredContainer=Us;vo.allowedChildren=[vs];vs.requiredContainer=vo});var JN,gx,eR,tR=W(()=>{JN=hn(Br(),1);Ir();gs();QN();gx=class extends $n{static register(){Ae.register(vs),Ae.register(vo),Ae.register(Us),Ae.register(mc)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(mc).forEach(n=>{n.balanceCells()})}deleteColumn(){let[n,,i]=this.getTable();i!=null&&(n.deleteColumn(i.cellOffset()),this.quill.update(Ae.sources.USER))}deleteRow(){let[,n]=this.getTable();n!=null&&(n.remove(),this.quill.update(Ae.sources.USER))}deleteTable(){let[n]=this.getTable();if(n==null)return;let i=n.offset();n.remove(),this.quill.update(Ae.sources.USER),this.quill.setSelection(i,Ae.sources.SILENT)}getTable(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.quill.getSelection();if(n==null)return[null,null,null,-1];let[i,r]=this.quill.getLine(n.index);if(i==null||i.statics.blotName!==vs.blotName)return[null,null,null,-1];let o=i.parent;return[o.parent.parent,o,i,r]}insertColumn(n){let i=this.quill.getSelection();if(!i)return;let[r,o,u]=this.getTable(i);if(u==null)return;let c=u.cellOffset();r.insertColumn(c+n),this.quill.update(Ae.sources.USER);let f=o.rowOffset();n===0&&(f+=1),this.quill.setSelection(i.index+f,i.length,Ae.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(n){let i=this.quill.getSelection();if(!i)return;let[r,o,u]=this.getTable(i);if(u==null)return;let c=o.rowOffset();r.insertRow(c+n),this.quill.update(Ae.sources.USER),n>0?this.quill.setSelection(i,Ae.sources.SILENT):this.quill.setSelection(i.index+o.children.length,i.length,Ae.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(n,i){let r=this.quill.getSelection();if(r==null)return;let o=new Array(n).fill(0).reduce(u=>{let c=new Array(i).fill(` -`).join("");return u.insert(c,{table:r_()})},new JN.default().retain(r.index));this.quill.updateContents(o,Ae.sources.USER),this.quill.setSelection(r.index,Ae.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(Ae.events.SCROLL_OPTIMIZE,n=>{n.some(i=>["TD","TR","TBODY","TABLE"].includes(i.target.tagName)?(this.quill.once(Ae.events.TEXT_CHANGE,(r,o,u)=>{u===Ae.sources.USER&&this.balanceTables()}),!0):!1)})}},eR=gx});function iR(e,n,i){let r=document.createElement("button");r.setAttribute("type","button"),r.classList.add(`ql-${n}`),r.setAttribute("aria-pressed","false"),i!=null?(r.value=i,r.setAttribute("aria-label",`${n}: ${i}`)):r.setAttribute("aria-label",n),e.appendChild(r)}function OU(e,n){Array.isArray(n[0])||(n=[n]),n.forEach(i=>{let r=document.createElement("span");r.classList.add("ql-formats"),i.forEach(o=>{if(typeof o=="string")iR(r,o);else{let u=Object.keys(o)[0],c=o[u];Array.isArray(c)?PU(r,u,c):iR(r,u,c)}}),e.appendChild(r)})}function PU(e,n,i){let r=document.createElement("select");r.classList.add(`ql-${n}`),i.forEach(o=>{let u=document.createElement("option");o!==!1?u.setAttribute("value",String(o)):u.setAttribute("selected","selected"),r.appendChild(u)}),e.appendChild(r)}var rR,nR,_d,sR=W(()=>{rR=hn(Br(),1);xn();Ir();hc();gs();nR=Ur("quill:toolbar"),_d=class extends $n{constructor(n,i){if(super(n,i),Array.isArray(this.options.container)){let r=document.createElement("div");r.setAttribute("role","toolbar"),OU(r,this.options.container),n.container?.parentNode?.insertBefore(r,n.container),this.container=r}else typeof this.options.container=="string"?this.container=document.querySelector(this.options.container):this.container=this.options.container;if(!(this.container instanceof HTMLElement)){nR.error("Container required for toolbar",this.options);return}this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach(r=>{let o=this.options.handlers?.[r];o&&this.addHandler(r,o)}),Array.from(this.container.querySelectorAll("button, select")).forEach(r=>{this.attach(r)}),this.quill.on(Ae.events.EDITOR_CHANGE,()=>{let[r]=this.quill.selection.getRange();this.update(r)})}addHandler(n,i){this.handlers[n]=i}attach(n){let i=Array.from(n.classList).find(o=>o.indexOf("ql-")===0);if(!i)return;if(i=i.slice(3),n.tagName==="BUTTON"&&n.setAttribute("type","button"),this.handlers[i]==null&&this.quill.scroll.query(i)==null){nR.warn("ignoring attaching to nonexistent format",i,n);return}let r=n.tagName==="SELECT"?"change":"click";n.addEventListener(r,o=>{let u;if(n.tagName==="SELECT"){if(n.selectedIndex<0)return;let f=n.options[n.selectedIndex];f.hasAttribute("selected")?u=!1:u=f.value||!1}else n.classList.contains("ql-active")?u=!1:u=n.value||!n.hasAttribute("value"),o.preventDefault();this.quill.focus();let[c]=this.quill.selection.getRange();if(this.handlers[i]!=null)this.handlers[i].call(this,u);else if(this.quill.scroll.query(i).prototype instanceof zn){if(u=prompt(`Enter ${i}`),!u)return;this.quill.updateContents(new rR.default().retain(c.index).delete(c.length).insert({[i]:u}),Ae.sources.USER)}else this.quill.format(i,u,Ae.sources.USER);this.update(c)}),this.controls.push([i,n])}update(n){let i=n==null?{}:this.quill.getFormat(n);this.controls.forEach(r=>{let[o,u]=r;if(u.tagName==="SELECT"){let c=null;if(n==null)c=null;else if(i[o]==null)c=u.querySelector("option[selected]");else if(!Array.isArray(i[o])){let f=i[o];typeof f=="string"&&(f=f.replace(/"/g,'\\"')),c=u.querySelector(`option[value="${f}"]`)}c==null?(u.value="",u.selectedIndex=-1):c.selected=!0}else if(n==null)u.classList.remove("ql-active"),u.setAttribute("aria-pressed","false");else if(u.hasAttribute("value")){let c=i[o],f=c===u.getAttribute("value")||c!=null&&c.toString()===u.getAttribute("value")||c==null&&!u.getAttribute("value");u.classList.toggle("ql-active",f),u.setAttribute("aria-pressed",f.toString())}else{let c=i[o]!=null;u.classList.toggle("ql-active",c),u.setAttribute("aria-pressed",c.toString())}})}};_d.DEFAULTS={};_d.DEFAULTS={container:null,handlers:{clean(){let e=this.quill.getSelection();if(e!=null)if(e.length===0){let n=this.quill.getFormat();Object.keys(n).forEach(i=>{this.quill.scroll.query(i,rt.INLINE)!=null&&this.quill.format(i,!1,Ae.sources.USER)})}else this.quill.removeFormat(e.index,e.length,Ae.sources.USER)},direction(e){let{align:n}=this.quill.getFormat();e==="rtl"&&n==null?this.quill.format("align","right",Ae.sources.USER):!e&&n==="right"&&this.quill.format("align",!1,Ae.sources.USER),this.quill.format("direction",e,Ae.sources.USER)},indent(e){let n=this.quill.getSelection(),i=this.quill.getFormat(n),r=parseInt(i.indent||0,10);if(e==="+1"||e==="-1"){let o=e==="+1"?1:-1;i.direction==="rtl"&&(o*=-1),this.quill.format("indent",r+o,Ae.sources.USER)}},link(e){e===!0&&(e=prompt("Enter link URL:")),this.quill.format("link",e,Ae.sources.USER)},list(e){let n=this.quill.getSelection(),i=this.quill.getFormat(n);e==="check"?i.list==="checked"||i.list==="unchecked"?this.quill.format("list",!1,Ae.sources.USER):this.quill.format("list","unchecked",Ae.sources.USER):this.quill.format("list",e,Ae.sources.USER)}}}});var FU,DU,jU,qU,zU,GU,$U,BU,oR,UU,VU,WU,HU,YU,XU,ZU,KU,QU,JU,e9,t9,n9,i9,r9,s9,o9,a9,l9,c9,u9,d9,h9,f9,ul,s_=W(()=>{FU='',DU='',jU='',qU='',zU='',GU='',$U='',BU='',oR='',UU='',VU='',WU='',HU='',YU='',XU='',ZU='',KU='',QU='',JU='',e9='',t9='',n9='',i9='',r9='',s9='',o9='',a9='',l9='',c9='',u9='',d9='',h9='',f9='',ul={align:{"":FU,center:DU,right:jU,justify:qU},background:zU,blockquote:GU,bold:$U,clean:BU,code:oR,"code-block":oR,color:UU,direction:{"":VU,rtl:WU},formula:HU,header:{1:YU,2:XU,3:ZU,4:KU,5:QU,6:JU},italic:e9,image:t9,indent:{"+1":n9,"-1":i9},link:r9,list:{bullet:s9,check:o9,ordered:a9},script:{sub:l9,super:c9},strike:u9,table:d9,underline:h9,video:f9}});function lR(e,n){e.setAttribute(n,`${e.getAttribute(n)!=="true"}`)}var p9,aR,mx,dl,ip=W(()=>{p9='',aR=0;mx=class{constructor(n){this.select=n,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",()=>{this.togglePicker()}),this.label.addEventListener("keydown",i=>{switch(i.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),i.preventDefault();break;default:}}),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),lR(this.label,"aria-expanded"),lR(this.options,"aria-hidden")}buildItem(n){let i=document.createElement("span");i.tabIndex="0",i.setAttribute("role","button"),i.classList.add("ql-picker-item");let r=n.getAttribute("value");return r&&i.setAttribute("data-value",r),n.textContent&&i.setAttribute("data-label",n.textContent),i.addEventListener("click",()=>{this.selectItem(i,!0)}),i.addEventListener("keydown",o=>{switch(o.key){case"Enter":this.selectItem(i,!0),o.preventDefault();break;case"Escape":this.escape(),o.preventDefault();break;default:}}),i}buildLabel(){let n=document.createElement("span");return n.classList.add("ql-picker-label"),n.innerHTML=p9,n.tabIndex="0",n.setAttribute("role","button"),n.setAttribute("aria-expanded","false"),this.container.appendChild(n),n}buildOptions(){let n=document.createElement("span");n.classList.add("ql-picker-options"),n.setAttribute("aria-hidden","true"),n.tabIndex="-1",n.id=`ql-picker-options-${aR}`,aR+=1,this.label.setAttribute("aria-controls",n.id),this.options=n,Array.from(this.select.options).forEach(i=>{let r=this.buildItem(i);n.appendChild(r),i.selected===!0&&this.selectItem(r)}),this.container.appendChild(n)}buildPicker(){Array.from(this.select.attributes).forEach(n=>{this.container.setAttribute(n.name,n.value)}),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout(()=>this.label.focus(),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.container.querySelector(".ql-selected");n!==r&&(r?.classList.remove("ql-selected"),n!=null&&(n.classList.add("ql-selected"),this.select.selectedIndex=Array.from(n.parentNode.children).indexOf(n),n.hasAttribute("data-value")?this.label.setAttribute("data-value",n.getAttribute("data-value")):this.label.removeAttribute("data-value"),n.hasAttribute("data-label")?this.label.setAttribute("data-label",n.getAttribute("data-label")):this.label.removeAttribute("data-label"),i&&(this.select.dispatchEvent(new Event("change")),this.close())))}update(){let n;if(this.select.selectedIndex>-1){let r=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];n=this.select.options[this.select.selectedIndex],this.selectItem(r)}else this.selectItem(null);let i=n!=null&&n!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",i)}},dl=mx});var _x,o_,yx=W(()=>{ip();_x=class extends dl{constructor(n,i){super(n),this.label.innerHTML=i,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach(r=>{r.classList.add("ql-primary")})}buildItem(n){let i=super.buildItem(n);return i.style.backgroundColor=n.getAttribute("value")||"",i}selectItem(n,i){super.selectItem(n,i);let r=this.label.querySelector(".ql-color-label"),o=n&&n.getAttribute("data-value")||"";r&&(r.tagName==="line"?r.style.stroke=o:r.style.fill=o)}},o_=_x});var vx,a_,bx=W(()=>{ip();vx=class extends dl{constructor(n,i){super(n),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach(r=>{r.innerHTML=i[r.getAttribute("data-value")||""]}),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(n,i){super.selectItem(n,i);let r=n||this.defaultItem;if(r!=null){if(this.label.innerHTML===r.innerHTML)return;this.label.innerHTML=r.innerHTML}}},a_=vx});var g9,xx,l_,wx=W(()=>{g9=e=>{let{overflowY:n}=getComputedStyle(e,null);return n!=="visible"&&n!=="clip"},xx=class{constructor(n,i){this.quill=n,this.boundsContainer=i||document.body,this.root=n.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,g9(this.quill.root)&&this.quill.root.addEventListener("scroll",()=>{this.root.style.marginTop=`${-1*this.quill.root.scrollTop}px`}),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(n){let i=n.left+n.width/2-this.root.offsetWidth/2,r=n.bottom+this.quill.root.scrollTop;this.root.style.left=`${i}px`,this.root.style.top=`${r}px`,this.root.classList.remove("ql-flip");let o=this.boundsContainer.getBoundingClientRect(),u=this.root.getBoundingClientRect(),c=0;if(u.right>o.right&&(c=o.right-u.right,this.root.style.left=`${i+c}px`),u.lefto.bottom){let f=u.bottom-u.top,p=n.bottom-n.top+f;this.root.style.top=`${r-p}px`,this.root.classList.add("ql-flip")}return c}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}},l_=xx});function x9(e){let n=e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return n?`${n[1]||"https"}://www.youtube.com/embed/${n[2]}?showinfo=0`:(n=e.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${n[1]||"https"}://player.vimeo.com/video/${n[2]}/`:e}function rp(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;n.forEach(r=>{let o=document.createElement("option");r===i?o.setAttribute("selected","selected"):o.setAttribute("value",String(r)),e.appendChild(o)})}var m9,_9,y9,v9,b9,ma,yd,Sx=W(()=>{Qa();ha();Rb();yx();bx();ip();wx();m9=[!1,"center","right","justify"],_9=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],y9=[!1,"serif","monospace"],v9=["1","2","3",!1],b9=["small",!1,"large","huge"],ma=class extends hd{constructor(n,i){super(n,i);let r=o=>{if(!document.body.contains(n.root)){document.body.removeEventListener("click",r);return}this.tooltip!=null&&!this.tooltip.root.contains(o.target)&&document.activeElement!==this.tooltip.textbox&&!this.quill.hasFocus()&&this.tooltip.hide(),this.pickers!=null&&this.pickers.forEach(u=>{u.container.contains(o.target)||u.close()})};n.emitter.listenDOM("click",document.body,r)}addModule(n){let i=super.addModule(n);return n==="toolbar"&&this.extendToolbar(i),i}buildButtons(n,i){Array.from(n).forEach(r=>{(r.getAttribute("class")||"").split(/\s+/).forEach(u=>{if(u.startsWith("ql-")&&(u=u.slice(3),i[u]!=null))if(u==="direction")r.innerHTML=i[u][""]+i[u].rtl;else if(typeof i[u]=="string")r.innerHTML=i[u];else{let c=r.value||"";c!=null&&i[u][c]&&(r.innerHTML=i[u][c])}})})}buildPickers(n,i){this.pickers=Array.from(n).map(o=>{if(o.classList.contains("ql-align")&&(o.querySelector("option")==null&&rp(o,m9),typeof i.align=="object"))return new a_(o,i.align);if(o.classList.contains("ql-background")||o.classList.contains("ql-color")){let u=o.classList.contains("ql-background")?"background":"color";return o.querySelector("option")==null&&rp(o,_9,u==="background"?"#ffffff":"#000000"),new o_(o,i[u])}return o.querySelector("option")==null&&(o.classList.contains("ql-font")?rp(o,y9):o.classList.contains("ql-header")?rp(o,v9):o.classList.contains("ql-size")&&rp(o,b9)),new dl(o)});let r=()=>{this.pickers.forEach(o=>{o.update()})};this.quill.on(ot.events.EDITOR_CHANGE,r)}};ma.DEFAULTS=wr({},hd.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let e=this.container.querySelector("input.ql-image[type=file]");e==null&&(e=document.createElement("input"),e.setAttribute("type","file"),e.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),e.classList.add("ql-image"),e.addEventListener("change",()=>{let n=this.quill.getSelection(!0);this.quill.uploader.upload(n,e.files),e.value=""}),this.container.appendChild(e)),e.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});yd=class extends l_{constructor(n,i){super(n,i),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",n=>{n.key==="Enter"?(this.save(),n.preventDefault()):n.key==="Escape"&&(this.cancel(),n.preventDefault())})}cancel(){this.hide(),this.restoreFocus()}edit(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"link",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),this.textbox==null)return;i!=null?this.textbox.value=i:n!==this.root.getAttribute("data-mode")&&(this.textbox.value="");let r=this.quill.getBounds(this.quill.selection.savedRange);r!=null&&this.position(r),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${n}`)||""),this.root.setAttribute("data-mode",n)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:n}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{let{scrollTop:i}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",n,ot.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",n,ot.sources.USER)),this.quill.root.scrollTop=i;break}case"video":n=x9(n);case"formula":{if(!n)break;let i=this.quill.getSelection(!0);if(i!=null){let r=i.index+i.length;this.quill.insertEmbed(r,this.root.getAttribute("data-mode"),n,ot.sources.USER),this.root.getAttribute("data-mode")==="formula"&&this.quill.insertText(r+1," ",ot.sources.USER),this.quill.setSelection(r+2,ot.sources.USER)}break}default:}this.textbox.value="",this.hide()}}});var w9,Ex,sp,cR=W(()=>{Qa();ha();Sx();Wf();s_();Ir();w9=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]],Ex=class extends yd{static TEMPLATE=['','
    ','','',"
    "].join("");constructor(n,i){super(n,i),this.quill.on(ot.events.EDITOR_CHANGE,(r,o,u,c)=>{if(r===ot.events.SELECTION_CHANGE)if(o!=null&&o.length>0&&c===ot.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;let f=this.quill.getLines(o.index,o.length);if(f.length===1){let p=this.quill.getBounds(o);p!=null&&this.position(p)}else{let p=f[f.length-1],g=this.quill.getIndex(p),d=Math.min(p.length()-1,o.index+o.length-g),v=this.quill.getBounds(new Vi(g,d));v!=null&&this.position(v)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()})}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",()=>{this.root.classList.remove("ql-editing")}),this.quill.on(ot.events.SCROLL_OPTIMIZE,()=>{setTimeout(()=>{if(this.root.classList.contains("ql-hidden"))return;let n=this.quill.getSelection();if(n!=null){let i=this.quill.getBounds(n);i!=null&&this.position(i)}},1)})}cancel(){this.show()}position(n){let i=super.position(n),r=this.root.querySelector(".ql-tooltip-arrow");return r.style.marginLeft="",i!==0&&(r.style.marginLeft=`${-1*i-r.offsetWidth/2}px`),i}},sp=class extends ma{constructor(n,i){i.modules.toolbar!=null&&i.modules.toolbar.container==null&&(i.modules.toolbar.container=w9),super(n,i),this.quill.container.classList.add("ql-bubble")}extendToolbar(n){this.tooltip=new Ex(this.quill,this.options.bounds),n.container!=null&&(this.tooltip.root.appendChild(n.container),this.buildButtons(n.container.querySelectorAll("button"),ul),this.buildPickers(n.container.querySelectorAll("select"),ul))}};sp.DEFAULTS=wr({},ma.DEFAULTS,{modules:{toolbar:{handlers:{link(e){e?this.quill.theme.tooltip.edit():this.quill.format("link",!1,Ae.sources.USER)}}}}})});var S9,Cx,c_,uR,dR=W(()=>{Qa();ha();Sx();ep();Wf();s_();Ir();S9=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]],Cx=class extends yd{static TEMPLATE=['','','',''].join("");preview=this.root.querySelector("a.ql-preview");listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",n=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),n.preventDefault()}),this.root.querySelector("a.ql-remove").addEventListener("click",n=>{if(this.linkRange!=null){let i=this.linkRange;this.restoreFocus(),this.quill.formatText(i,"link",!1,ot.sources.USER),delete this.linkRange}n.preventDefault(),this.hide()}),this.quill.on(ot.events.SELECTION_CHANGE,(n,i,r)=>{if(n!=null){if(n.length===0&&r===ot.sources.USER){let[o,u]=this.quill.scroll.descendant(pa,n.index);if(o!=null){this.linkRange=new Vi(n.index-u,o.length());let c=pa.formats(o.domNode);this.preview.textContent=c,this.preview.setAttribute("href",c),this.show();let f=this.quill.getBounds(this.linkRange);f!=null&&this.position(f);return}}else delete this.linkRange;this.hide()}})}show(){super.show(),this.root.removeAttribute("data-mode")}},c_=class extends ma{constructor(n,i){i.modules.toolbar!=null&&i.modules.toolbar.container==null&&(i.modules.toolbar.container=S9),super(n,i),this.quill.container.classList.add("ql-snow")}extendToolbar(n){n.container!=null&&(n.container.classList.add("ql-snow"),this.buildButtons(n.container.querySelectorAll("button"),ul),this.buildPickers(n.container.querySelectorAll("select"),ul),this.tooltip=new Cx(this.quill,this.options.bounds),n.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},(i,r)=>{n.handlers.link.call(n,!r.format.link)}))}};c_.DEFAULTS=wr({},ma.DEFAULTS,{modules:{toolbar:{handlers:{link(e){if(e){let n=this.quill.getSelection();if(n==null||n.length===0)return;let i=this.quill.getText(n);/^\S+@\S+\.\S+$/.test(i)&&i.indexOf("mailto:")!==0&&(i=`mailto:${i}`);let{tooltip:r}=this.quill.theme;r.edit("link",i)}else this.quill.format("link",!1,Ae.sources.USER)}}}}});uR=c_});var hR={};vi(hR,{AttributeMap:()=>ys.AttributeMap,Delta:()=>ys.default,Module:()=>$n,Op:()=>ys.Op,OpIterator:()=>ys.OpIterator,Parchment:()=>od,Range:()=>Vi,default:()=>E9});var E9,fR=W(()=>{nx();jb();$b();TN();RN();AN();ON();qb();$m();Vb();Hb();n_();FN();ep();jN();zN();$N();UN();HN();ZN();Bm();KN();tR();sR();s_();ip();yx();bx();wx();cR();dR();nx();t_.register({"attributors/attribute/direction":Um,"attributors/class/align":Db,"attributors/class/background":oN,"attributors/class/color":sN,"attributors/class/direction":Gb,"attributors/class/font":Ub,"attributors/class/size":Wb,"attributors/style/align":Gm,"attributors/style/background":Zf,"attributors/style/color":Xf,"attributors/style/direction":Vm,"attributors/style/font":Wm,"attributors/style/size":Hm},!0);t_.register({"formats/align":Db,"formats/direction":Gb,"formats/indent":LN,"formats/background":Zf,"formats/color":Xf,"formats/font":Ub,"formats/size":Wb,"formats/blockquote":NN,"formats/code-block":oi,"formats/header":MN,"formats/list":cl,"formats/bold":md,"formats/code":gd,"formats/italic":PN,"formats/link":pa,"formats/script":DN,"formats/strike":qN,"formats/underline":GN,"formats/formula":BN,"formats/image":WN,"formats/video":XN,"modules/syntax":np,"modules/table":eR,"modules/toolbar":_d,"themes/bubble":sp,"themes/snow":uR,"ui/icons":ul,"ui/picker":dl,"ui/icon-picker":a_,"ui/color-picker":o_,"ui/tooltip":l_},!0);E9=t_});function O9(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputTextHtml.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Ix(){let e=Ix.styles||(Ix.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` +`,{[oi.blotName]:i}),c.insert(f)),u)],new WeakMap)}};np.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]}});function r_(){return`row-${Math.random().toString(36).slice(2,6)}`}var ys,vo,Bs,mc,QN=W(()=>{fs();pd();ys=class e extends wn{static blotName="table";static tagName="TD";static create(n){let i=super.create();return n?i.setAttribute("data-row",n):i.setAttribute("data-row",r_()),i}static formats(n){if(n.hasAttribute("data-row"))return n.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(n,i){n===e.blotName&&i?this.domNode.setAttribute("data-row",i):super.format(n,i)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}},vo=class extends gs{static blotName="table-row";static tagName="TR";checkMerge(){if(super.checkMerge()&&this.next.children.head!=null){let n=this.children.head.formats(),i=this.children.tail.formats(),r=this.next.children.head.formats(),o=this.next.children.tail.formats();return n.table===i.table&&n.table===r.table&&n.table===o.table}return!1}optimize(n){super.optimize(n),this.children.forEach(i=>{if(i.next==null)return;let r=i.formats(),o=i.next.formats();if(r.table!==o.table){let u=this.splitAfter(i);u&&u.optimize(),this.prev&&this.prev.optimize()}})}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}},Bs=class extends gs{static blotName="table-body";static tagName="TBODY"},mc=class extends gs{static blotName="table-container";static tagName="TABLE";balanceCells(){let n=this.descendants(vo),i=n.reduce((r,o)=>Math.max(o.children.length,r),0);n.forEach(r=>{new Array(i-r.children.length).fill(0).forEach(()=>{let o;r.children.head!=null&&(o=ys.formats(r.children.head.domNode));let u=this.scroll.create(ys.blotName,o);r.appendChild(u),u.optimize()})})}cells(n){return this.rows().map(i=>i.children.at(n))}deleteColumn(n){let[i]=this.descendant(Bs);i==null||i.children.head==null||i.children.forEach(r=>{let o=r.children.at(n);o?.remove()})}insertColumn(n){let[i]=this.descendant(Bs);i==null||i.children.head==null||i.children.forEach(r=>{let o=r.children.at(n),u=ys.formats(r.children.head.domNode),c=this.scroll.create(ys.blotName,u);r.insertBefore(c,o)})}insertRow(n){let[i]=this.descendant(Bs);if(i==null||i.children.head==null)return;let r=r_(),o=this.scroll.create(vo.blotName);i.children.head.children.forEach(()=>{let c=this.scroll.create(ys.blotName,r);o.appendChild(c)});let u=i.children.at(n);i.insertBefore(o,u)}rows(){let n=this.children.head;return n==null?[]:n.children.map(i=>i)}};mc.allowedChildren=[Bs];Bs.requiredContainer=mc;Bs.allowedChildren=[vo];vo.requiredContainer=Bs;vo.allowedChildren=[ys];ys.requiredContainer=vo});var JN,gx,eR,tR=W(()=>{JN=hn($r(),1);Cr();ps();QN();gx=class extends Gn{static register(){Ae.register(ys),Ae.register(vo),Ae.register(Bs),Ae.register(mc)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(mc).forEach(n=>{n.balanceCells()})}deleteColumn(){let[n,,i]=this.getTable();i!=null&&(n.deleteColumn(i.cellOffset()),this.quill.update(Ae.sources.USER))}deleteRow(){let[,n]=this.getTable();n!=null&&(n.remove(),this.quill.update(Ae.sources.USER))}deleteTable(){let[n]=this.getTable();if(n==null)return;let i=n.offset();n.remove(),this.quill.update(Ae.sources.USER),this.quill.setSelection(i,Ae.sources.SILENT)}getTable(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.quill.getSelection();if(n==null)return[null,null,null,-1];let[i,r]=this.quill.getLine(n.index);if(i==null||i.statics.blotName!==ys.blotName)return[null,null,null,-1];let o=i.parent;return[o.parent.parent,o,i,r]}insertColumn(n){let i=this.quill.getSelection();if(!i)return;let[r,o,u]=this.getTable(i);if(u==null)return;let c=u.cellOffset();r.insertColumn(c+n),this.quill.update(Ae.sources.USER);let f=o.rowOffset();n===0&&(f+=1),this.quill.setSelection(i.index+f,i.length,Ae.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(n){let i=this.quill.getSelection();if(!i)return;let[r,o,u]=this.getTable(i);if(u==null)return;let c=o.rowOffset();r.insertRow(c+n),this.quill.update(Ae.sources.USER),n>0?this.quill.setSelection(i,Ae.sources.SILENT):this.quill.setSelection(i.index+o.children.length,i.length,Ae.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(n,i){let r=this.quill.getSelection();if(r==null)return;let o=new Array(n).fill(0).reduce(u=>{let c=new Array(i).fill(` +`).join("");return u.insert(c,{table:r_()})},new JN.default().retain(r.index));this.quill.updateContents(o,Ae.sources.USER),this.quill.setSelection(r.index,Ae.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(Ae.events.SCROLL_OPTIMIZE,n=>{n.some(i=>["TD","TR","TBODY","TABLE"].includes(i.target.tagName)?(this.quill.once(Ae.events.TEXT_CHANGE,(r,o,u)=>{u===Ae.sources.USER&&this.balanceTables()}),!0):!1)})}},eR=gx});function iR(e,n,i){let r=document.createElement("button");r.setAttribute("type","button"),r.classList.add(`ql-${n}`),r.setAttribute("aria-pressed","false"),i!=null?(r.value=i,r.setAttribute("aria-label",`${n}: ${i}`)):r.setAttribute("aria-label",n),e.appendChild(r)}function OU(e,n){Array.isArray(n[0])||(n=[n]),n.forEach(i=>{let r=document.createElement("span");r.classList.add("ql-formats"),i.forEach(o=>{if(typeof o=="string")iR(r,o);else{let u=Object.keys(o)[0],c=o[u];Array.isArray(c)?PU(r,u,c):iR(r,u,c)}}),e.appendChild(r)})}function PU(e,n,i){let r=document.createElement("select");r.classList.add(`ql-${n}`),i.forEach(o=>{let u=document.createElement("option");o!==!1?u.setAttribute("value",String(o)):u.setAttribute("selected","selected"),r.appendChild(u)}),e.appendChild(r)}var rR,nR,_d,sR=W(()=>{rR=hn($r(),1);xn();Cr();hc();ps();nR=Br("quill:toolbar"),_d=class extends Gn{constructor(n,i){if(super(n,i),Array.isArray(this.options.container)){let r=document.createElement("div");r.setAttribute("role","toolbar"),OU(r,this.options.container),n.container?.parentNode?.insertBefore(r,n.container),this.container=r}else typeof this.options.container=="string"?this.container=document.querySelector(this.options.container):this.container=this.options.container;if(!(this.container instanceof HTMLElement)){nR.error("Container required for toolbar",this.options);return}this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach(r=>{let o=this.options.handlers?.[r];o&&this.addHandler(r,o)}),Array.from(this.container.querySelectorAll("button, select")).forEach(r=>{this.attach(r)}),this.quill.on(Ae.events.EDITOR_CHANGE,()=>{let[r]=this.quill.selection.getRange();this.update(r)})}addHandler(n,i){this.handlers[n]=i}attach(n){let i=Array.from(n.classList).find(o=>o.indexOf("ql-")===0);if(!i)return;if(i=i.slice(3),n.tagName==="BUTTON"&&n.setAttribute("type","button"),this.handlers[i]==null&&this.quill.scroll.query(i)==null){nR.warn("ignoring attaching to nonexistent format",i,n);return}let r=n.tagName==="SELECT"?"change":"click";n.addEventListener(r,o=>{let u;if(n.tagName==="SELECT"){if(n.selectedIndex<0)return;let f=n.options[n.selectedIndex];f.hasAttribute("selected")?u=!1:u=f.value||!1}else n.classList.contains("ql-active")?u=!1:u=n.value||!n.hasAttribute("value"),o.preventDefault();this.quill.focus();let[c]=this.quill.selection.getRange();if(this.handlers[i]!=null)this.handlers[i].call(this,u);else if(this.quill.scroll.query(i).prototype instanceof qn){if(u=prompt(`Enter ${i}`),!u)return;this.quill.updateContents(new rR.default().retain(c.index).delete(c.length).insert({[i]:u}),Ae.sources.USER)}else this.quill.format(i,u,Ae.sources.USER);this.update(c)}),this.controls.push([i,n])}update(n){let i=n==null?{}:this.quill.getFormat(n);this.controls.forEach(r=>{let[o,u]=r;if(u.tagName==="SELECT"){let c=null;if(n==null)c=null;else if(i[o]==null)c=u.querySelector("option[selected]");else if(!Array.isArray(i[o])){let f=i[o];typeof f=="string"&&(f=f.replace(/"/g,'\\"')),c=u.querySelector(`option[value="${f}"]`)}c==null?(u.value="",u.selectedIndex=-1):c.selected=!0}else if(n==null)u.classList.remove("ql-active"),u.setAttribute("aria-pressed","false");else if(u.hasAttribute("value")){let c=i[o],f=c===u.getAttribute("value")||c!=null&&c.toString()===u.getAttribute("value")||c==null&&!u.getAttribute("value");u.classList.toggle("ql-active",f),u.setAttribute("aria-pressed",f.toString())}else{let c=i[o]!=null;u.classList.toggle("ql-active",c),u.setAttribute("aria-pressed",c.toString())}})}};_d.DEFAULTS={};_d.DEFAULTS={container:null,handlers:{clean(){let e=this.quill.getSelection();if(e!=null)if(e.length===0){let n=this.quill.getFormat();Object.keys(n).forEach(i=>{this.quill.scroll.query(i,rt.INLINE)!=null&&this.quill.format(i,!1,Ae.sources.USER)})}else this.quill.removeFormat(e.index,e.length,Ae.sources.USER)},direction(e){let{align:n}=this.quill.getFormat();e==="rtl"&&n==null?this.quill.format("align","right",Ae.sources.USER):!e&&n==="right"&&this.quill.format("align",!1,Ae.sources.USER),this.quill.format("direction",e,Ae.sources.USER)},indent(e){let n=this.quill.getSelection(),i=this.quill.getFormat(n),r=parseInt(i.indent||0,10);if(e==="+1"||e==="-1"){let o=e==="+1"?1:-1;i.direction==="rtl"&&(o*=-1),this.quill.format("indent",r+o,Ae.sources.USER)}},link(e){e===!0&&(e=prompt("Enter link URL:")),this.quill.format("link",e,Ae.sources.USER)},list(e){let n=this.quill.getSelection(),i=this.quill.getFormat(n);e==="check"?i.list==="checked"||i.list==="unchecked"?this.quill.format("list",!1,Ae.sources.USER):this.quill.format("list","unchecked",Ae.sources.USER):this.quill.format("list",e,Ae.sources.USER)}}}});var FU,DU,jU,qU,zU,GU,$U,BU,oR,UU,VU,WU,HU,YU,XU,ZU,KU,QU,JU,e9,t9,n9,i9,r9,s9,o9,a9,l9,c9,u9,d9,h9,f9,ul,s_=W(()=>{FU='',DU='',jU='',qU='',zU='',GU='',$U='',BU='',oR='',UU='',VU='',WU='',HU='',YU='',XU='',ZU='',KU='',QU='',JU='',e9='',t9='',n9='',i9='',r9='',s9='',o9='',a9='',l9='',c9='',u9='',d9='',h9='',f9='',ul={align:{"":FU,center:DU,right:jU,justify:qU},background:zU,blockquote:GU,bold:$U,clean:BU,code:oR,"code-block":oR,color:UU,direction:{"":VU,rtl:WU},formula:HU,header:{1:YU,2:XU,3:ZU,4:KU,5:QU,6:JU},italic:e9,image:t9,indent:{"+1":n9,"-1":i9},link:r9,list:{bullet:s9,check:o9,ordered:a9},script:{sub:l9,super:c9},strike:u9,table:d9,underline:h9,video:f9}});function lR(e,n){e.setAttribute(n,`${e.getAttribute(n)!=="true"}`)}var p9,aR,mx,dl,ip=W(()=>{p9='',aR=0;mx=class{constructor(n){this.select=n,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",()=>{this.togglePicker()}),this.label.addEventListener("keydown",i=>{switch(i.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),i.preventDefault();break;default:}}),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),lR(this.label,"aria-expanded"),lR(this.options,"aria-hidden")}buildItem(n){let i=document.createElement("span");i.tabIndex="0",i.setAttribute("role","button"),i.classList.add("ql-picker-item");let r=n.getAttribute("value");return r&&i.setAttribute("data-value",r),n.textContent&&i.setAttribute("data-label",n.textContent),i.addEventListener("click",()=>{this.selectItem(i,!0)}),i.addEventListener("keydown",o=>{switch(o.key){case"Enter":this.selectItem(i,!0),o.preventDefault();break;case"Escape":this.escape(),o.preventDefault();break;default:}}),i}buildLabel(){let n=document.createElement("span");return n.classList.add("ql-picker-label"),n.innerHTML=p9,n.tabIndex="0",n.setAttribute("role","button"),n.setAttribute("aria-expanded","false"),this.container.appendChild(n),n}buildOptions(){let n=document.createElement("span");n.classList.add("ql-picker-options"),n.setAttribute("aria-hidden","true"),n.tabIndex="-1",n.id=`ql-picker-options-${aR}`,aR+=1,this.label.setAttribute("aria-controls",n.id),this.options=n,Array.from(this.select.options).forEach(i=>{let r=this.buildItem(i);n.appendChild(r),i.selected===!0&&this.selectItem(r)}),this.container.appendChild(n)}buildPicker(){Array.from(this.select.attributes).forEach(n=>{this.container.setAttribute(n.name,n.value)}),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout(()=>this.label.focus(),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.container.querySelector(".ql-selected");n!==r&&(r?.classList.remove("ql-selected"),n!=null&&(n.classList.add("ql-selected"),this.select.selectedIndex=Array.from(n.parentNode.children).indexOf(n),n.hasAttribute("data-value")?this.label.setAttribute("data-value",n.getAttribute("data-value")):this.label.removeAttribute("data-value"),n.hasAttribute("data-label")?this.label.setAttribute("data-label",n.getAttribute("data-label")):this.label.removeAttribute("data-label"),i&&(this.select.dispatchEvent(new Event("change")),this.close())))}update(){let n;if(this.select.selectedIndex>-1){let r=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];n=this.select.options[this.select.selectedIndex],this.selectItem(r)}else this.selectItem(null);let i=n!=null&&n!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",i)}},dl=mx});var _x,o_,yx=W(()=>{ip();_x=class extends dl{constructor(n,i){super(n),this.label.innerHTML=i,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach(r=>{r.classList.add("ql-primary")})}buildItem(n){let i=super.buildItem(n);return i.style.backgroundColor=n.getAttribute("value")||"",i}selectItem(n,i){super.selectItem(n,i);let r=this.label.querySelector(".ql-color-label"),o=n&&n.getAttribute("data-value")||"";r&&(r.tagName==="line"?r.style.stroke=o:r.style.fill=o)}},o_=_x});var vx,a_,bx=W(()=>{ip();vx=class extends dl{constructor(n,i){super(n),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach(r=>{r.innerHTML=i[r.getAttribute("data-value")||""]}),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(n,i){super.selectItem(n,i);let r=n||this.defaultItem;if(r!=null){if(this.label.innerHTML===r.innerHTML)return;this.label.innerHTML=r.innerHTML}}},a_=vx});var g9,xx,l_,wx=W(()=>{g9=e=>{let{overflowY:n}=getComputedStyle(e,null);return n!=="visible"&&n!=="clip"},xx=class{constructor(n,i){this.quill=n,this.boundsContainer=i||document.body,this.root=n.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,g9(this.quill.root)&&this.quill.root.addEventListener("scroll",()=>{this.root.style.marginTop=`${-1*this.quill.root.scrollTop}px`}),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(n){let i=n.left+n.width/2-this.root.offsetWidth/2,r=n.bottom+this.quill.root.scrollTop;this.root.style.left=`${i}px`,this.root.style.top=`${r}px`,this.root.classList.remove("ql-flip");let o=this.boundsContainer.getBoundingClientRect(),u=this.root.getBoundingClientRect(),c=0;if(u.right>o.right&&(c=o.right-u.right,this.root.style.left=`${i+c}px`),u.lefto.bottom){let f=u.bottom-u.top,p=n.bottom-n.top+f;this.root.style.top=`${r-p}px`,this.root.classList.add("ql-flip")}return c}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}},l_=xx});function x9(e){let n=e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return n?`${n[1]||"https"}://www.youtube.com/embed/${n[2]}?showinfo=0`:(n=e.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${n[1]||"https"}://player.vimeo.com/video/${n[2]}/`:e}function rp(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;n.forEach(r=>{let o=document.createElement("option");r===i?o.setAttribute("selected","selected"):o.setAttribute("value",String(r)),e.appendChild(o)})}var m9,_9,y9,v9,b9,ma,yd,Sx=W(()=>{Qa();ha();Rb();yx();bx();ip();wx();m9=[!1,"center","right","justify"],_9=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],y9=[!1,"serif","monospace"],v9=["1","2","3",!1],b9=["small",!1,"large","huge"],ma=class extends hd{constructor(n,i){super(n,i);let r=o=>{if(!document.body.contains(n.root)){document.body.removeEventListener("click",r);return}this.tooltip!=null&&!this.tooltip.root.contains(o.target)&&document.activeElement!==this.tooltip.textbox&&!this.quill.hasFocus()&&this.tooltip.hide(),this.pickers!=null&&this.pickers.forEach(u=>{u.container.contains(o.target)||u.close()})};n.emitter.listenDOM("click",document.body,r)}addModule(n){let i=super.addModule(n);return n==="toolbar"&&this.extendToolbar(i),i}buildButtons(n,i){Array.from(n).forEach(r=>{(r.getAttribute("class")||"").split(/\s+/).forEach(u=>{if(u.startsWith("ql-")&&(u=u.slice(3),i[u]!=null))if(u==="direction")r.innerHTML=i[u][""]+i[u].rtl;else if(typeof i[u]=="string")r.innerHTML=i[u];else{let c=r.value||"";c!=null&&i[u][c]&&(r.innerHTML=i[u][c])}})})}buildPickers(n,i){this.pickers=Array.from(n).map(o=>{if(o.classList.contains("ql-align")&&(o.querySelector("option")==null&&rp(o,m9),typeof i.align=="object"))return new a_(o,i.align);if(o.classList.contains("ql-background")||o.classList.contains("ql-color")){let u=o.classList.contains("ql-background")?"background":"color";return o.querySelector("option")==null&&rp(o,_9,u==="background"?"#ffffff":"#000000"),new o_(o,i[u])}return o.querySelector("option")==null&&(o.classList.contains("ql-font")?rp(o,y9):o.classList.contains("ql-header")?rp(o,v9):o.classList.contains("ql-size")&&rp(o,b9)),new dl(o)});let r=()=>{this.pickers.forEach(o=>{o.update()})};this.quill.on(ot.events.EDITOR_CHANGE,r)}};ma.DEFAULTS=xr({},hd.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let e=this.container.querySelector("input.ql-image[type=file]");e==null&&(e=document.createElement("input"),e.setAttribute("type","file"),e.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),e.classList.add("ql-image"),e.addEventListener("change",()=>{let n=this.quill.getSelection(!0);this.quill.uploader.upload(n,e.files),e.value=""}),this.container.appendChild(e)),e.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});yd=class extends l_{constructor(n,i){super(n,i),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",n=>{n.key==="Enter"?(this.save(),n.preventDefault()):n.key==="Escape"&&(this.cancel(),n.preventDefault())})}cancel(){this.hide(),this.restoreFocus()}edit(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"link",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),this.textbox==null)return;i!=null?this.textbox.value=i:n!==this.root.getAttribute("data-mode")&&(this.textbox.value="");let r=this.quill.getBounds(this.quill.selection.savedRange);r!=null&&this.position(r),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${n}`)||""),this.root.setAttribute("data-mode",n)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:n}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{let{scrollTop:i}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",n,ot.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",n,ot.sources.USER)),this.quill.root.scrollTop=i;break}case"video":n=x9(n);case"formula":{if(!n)break;let i=this.quill.getSelection(!0);if(i!=null){let r=i.index+i.length;this.quill.insertEmbed(r,this.root.getAttribute("data-mode"),n,ot.sources.USER),this.root.getAttribute("data-mode")==="formula"&&this.quill.insertText(r+1," ",ot.sources.USER),this.quill.setSelection(r+2,ot.sources.USER)}break}default:}this.textbox.value="",this.hide()}}});var w9,Ex,sp,cR=W(()=>{Qa();ha();Sx();Wf();s_();Cr();w9=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]],Ex=class extends yd{static TEMPLATE=['','
    ','','',"
    "].join("");constructor(n,i){super(n,i),this.quill.on(ot.events.EDITOR_CHANGE,(r,o,u,c)=>{if(r===ot.events.SELECTION_CHANGE)if(o!=null&&o.length>0&&c===ot.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;let f=this.quill.getLines(o.index,o.length);if(f.length===1){let p=this.quill.getBounds(o);p!=null&&this.position(p)}else{let p=f[f.length-1],g=this.quill.getIndex(p),d=Math.min(p.length()-1,o.index+o.length-g),v=this.quill.getBounds(new Vi(g,d));v!=null&&this.position(v)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()})}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",()=>{this.root.classList.remove("ql-editing")}),this.quill.on(ot.events.SCROLL_OPTIMIZE,()=>{setTimeout(()=>{if(this.root.classList.contains("ql-hidden"))return;let n=this.quill.getSelection();if(n!=null){let i=this.quill.getBounds(n);i!=null&&this.position(i)}},1)})}cancel(){this.show()}position(n){let i=super.position(n),r=this.root.querySelector(".ql-tooltip-arrow");return r.style.marginLeft="",i!==0&&(r.style.marginLeft=`${-1*i-r.offsetWidth/2}px`),i}},sp=class extends ma{constructor(n,i){i.modules.toolbar!=null&&i.modules.toolbar.container==null&&(i.modules.toolbar.container=w9),super(n,i),this.quill.container.classList.add("ql-bubble")}extendToolbar(n){this.tooltip=new Ex(this.quill,this.options.bounds),n.container!=null&&(this.tooltip.root.appendChild(n.container),this.buildButtons(n.container.querySelectorAll("button"),ul),this.buildPickers(n.container.querySelectorAll("select"),ul))}};sp.DEFAULTS=xr({},ma.DEFAULTS,{modules:{toolbar:{handlers:{link(e){e?this.quill.theme.tooltip.edit():this.quill.format("link",!1,Ae.sources.USER)}}}}})});var S9,Cx,c_,uR,dR=W(()=>{Qa();ha();Sx();ep();Wf();s_();Cr();S9=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]],Cx=class extends yd{static TEMPLATE=['','','',''].join("");preview=this.root.querySelector("a.ql-preview");listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",n=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),n.preventDefault()}),this.root.querySelector("a.ql-remove").addEventListener("click",n=>{if(this.linkRange!=null){let i=this.linkRange;this.restoreFocus(),this.quill.formatText(i,"link",!1,ot.sources.USER),delete this.linkRange}n.preventDefault(),this.hide()}),this.quill.on(ot.events.SELECTION_CHANGE,(n,i,r)=>{if(n!=null){if(n.length===0&&r===ot.sources.USER){let[o,u]=this.quill.scroll.descendant(pa,n.index);if(o!=null){this.linkRange=new Vi(n.index-u,o.length());let c=pa.formats(o.domNode);this.preview.textContent=c,this.preview.setAttribute("href",c),this.show();let f=this.quill.getBounds(this.linkRange);f!=null&&this.position(f);return}}else delete this.linkRange;this.hide()}})}show(){super.show(),this.root.removeAttribute("data-mode")}},c_=class extends ma{constructor(n,i){i.modules.toolbar!=null&&i.modules.toolbar.container==null&&(i.modules.toolbar.container=S9),super(n,i),this.quill.container.classList.add("ql-snow")}extendToolbar(n){n.container!=null&&(n.container.classList.add("ql-snow"),this.buildButtons(n.container.querySelectorAll("button"),ul),this.buildPickers(n.container.querySelectorAll("select"),ul),this.tooltip=new Cx(this.quill,this.options.bounds),n.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},(i,r)=>{n.handlers.link.call(n,!r.format.link)}))}};c_.DEFAULTS=xr({},ma.DEFAULTS,{modules:{toolbar:{handlers:{link(e){if(e){let n=this.quill.getSelection();if(n==null||n.length===0)return;let i=this.quill.getText(n);/^\S+@\S+\.\S+$/.test(i)&&i.indexOf("mailto:")!==0&&(i=`mailto:${i}`);let{tooltip:r}=this.quill.theme;r.edit("link",i)}else this.quill.format("link",!1,Ae.sources.USER)}}}}});uR=c_});var hR={};hi(hR,{AttributeMap:()=>_s.AttributeMap,Delta:()=>_s.default,Module:()=>Gn,Op:()=>_s.Op,OpIterator:()=>_s.OpIterator,Parchment:()=>od,Range:()=>Vi,default:()=>E9});var E9,fR=W(()=>{nx();jb();$b();TN();RN();AN();ON();qb();$m();Vb();Hb();n_();FN();ep();jN();zN();$N();UN();HN();ZN();Bm();KN();tR();sR();s_();ip();yx();bx();wx();cR();dR();nx();t_.register({"attributors/attribute/direction":Um,"attributors/class/align":Db,"attributors/class/background":oN,"attributors/class/color":sN,"attributors/class/direction":Gb,"attributors/class/font":Ub,"attributors/class/size":Wb,"attributors/style/align":Gm,"attributors/style/background":Zf,"attributors/style/color":Xf,"attributors/style/direction":Vm,"attributors/style/font":Wm,"attributors/style/size":Hm},!0);t_.register({"formats/align":Db,"formats/direction":Gb,"formats/indent":LN,"formats/background":Zf,"formats/color":Xf,"formats/font":Ub,"formats/size":Wb,"formats/blockquote":NN,"formats/code-block":oi,"formats/header":MN,"formats/list":cl,"formats/bold":md,"formats/code":gd,"formats/italic":PN,"formats/link":pa,"formats/script":DN,"formats/strike":qN,"formats/underline":GN,"formats/formula":BN,"formats/image":WN,"formats/video":XN,"modules/syntax":np,"modules/table":eR,"modules/toolbar":_d,"themes/bubble":sp,"themes/snow":uR,"ui/icons":ul,"ui/picker":dl,"ui/icon-picker":a_,"ui/color-picker":o_,"ui/tooltip":l_},!0);E9=t_});function O9(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputTextHtml.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Ix(){let e=Ix.styles||(Ix.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var C9,I9,k9,L9,T9,N9,R9,M9,A9,P9,pR,gR=W(()=>{C9=Ti(),I9=(fR(),Wn(hR)).default,k9={name:"input-html",mixins:[C9],methods:{setupTableCustomTools(){let e=this.$el.querySelector(".ql-column-left");e.innerHTML='',e.title="Add column left";let n=this.$el.querySelector(".ql-column-right");n.innerHTML='',n.title="Add column right";let i=this.$el.querySelector(".ql-column-remove");i.innerHTML='',i.title="Remove column";let r=this.$el.querySelector(".ql-row-above");r.innerHTML='',r.title="Add row above";let o=this.$el.querySelector(".ql-row-below");o.innerHTML='',o.title="Add row below";let u=this.$el.querySelector(".ql-row-remove");u.innerHTML='',u.title="Remove row"}},created(){this.edit_state={edit:!1,show_html:!1},this.state.edit_states||(this.state.edit_states=[]),this.state.edit_states.push(this.edit_state)},async mounted(){let e=[[{header:[1,2,3,4,5,6,!1]}],[{align:""},{align:"center"},{align:"right"},{align:"justify"}],[{color:[]},{background:[]}],["bold","italic","underline",{list:"ordered"},{list:"bullet"},"link","clean","html"],["table","column-left","column-right","column-remove","row-above","row-below","row-remove"]];await this.$nextTick(),this.quill=new I9(this.$refs.quill_editor,{modules:{table:!0,toolbar:{container:e,handlers:{html:()=>{this.edit_state.show_html=!this.edit_state.show_html,this.edit_state.show_html?this.quill.container.firstChild.innerText=this.quill.container.firstChild.innerHTML:this.quill.container.firstChild.innerHTML=this.quill.container.firstChild.innerText;for(let n of this.$el.querySelectorAll(".ql-formats"))for(let i of n.children)i.classList.contains("ql-html")?i.classList.toggle("skin-color"):i.classList.toggle("g3w-disabled")},"column-left":()=>this.table.insertColumnLeft(),"column-right":()=>this.table.insertColumnRight(),"column-remove":()=>this.table.deleteColumn(),"row-above":()=>this.table.insertRowAbove(),"row-below":()=>this.table.insertRowBelow(),"row-remove":()=>this.table.deleteRow()}}},theme:"snow"}),this.quill.container.firstChild.innerHTML=this.state.value,this.table=this.quill.getModule("table"),this.setupTableCustomTools(),this.handler=()=>{this.state.value=this.edit_state.show_html?this.quill.container.firstChild.innerText:this.quill.container.firstChild.innerHTML,this.edit_state.edit=!0,this.change(),setTimeout(()=>this.edit_state.edit=!1)},this.quill.on("text-change",this.handler)},watch:{"state.value"(e){this.edit_state.edit||(this.edit_state.show_html?this.quill.container.firstChild.innerText=e:this.quill.container.firstChild.innerHTML=e)}},beforeDestroy(){this.quill.off("text-change",this.handler),this.handler=null,this.quill=null,this.edit_state.edit=!1,this.edit_state.show_html=!1}},L9=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],attrs:{state:e.state}},[i("div",{ref:"quill_editor",staticClass:"form-control",style:{border:e.state.validate.valid?"1px solid #ccc":"1px solid reed"},attrs:{slot:"body"},on:{keydown:function(r){r.stopPropagation()}},slot:"body"})])},T9=[],N9=function(e){e&&e("data-v-28f953fd_0",{source:'button.ql-html{width:40px!important}button.ql-html:after{content:"html"}',map:void 0,media:void 0})},R9=void 0,M9=void 0,A9=!1;P9=O9({render:L9,staticRenderFns:T9},N9,k9,R9,A9,M9,!1,Ix,void 0,void 0),pR=P9});var kx=Qe((bye,mR)=>{gR();var F9=Vue.extend(pR);mR.exports=F9});function V9(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputTextArea.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Lx(){let e=Lx.styles||(Lx.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var D9,j9,q9,z9,G9,$9,B9,U9,W9,_R,yR=W(()=>{D9=Ti(),j9={name:"input-textarea",mixins:[D9]},q9=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("textarea",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],class:{"input-error-validation":e.notvalid},staticStyle:{"max-width":"100%","min-width":"100%"},attrs:{slot:"body",placeholder:e.state.default,rows:"3",tabIndex:e.tabIndex},domProps:{value:e.state.value},on:{keydown:function(r){r.stopPropagation()},input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change],change:e.change},slot:"body"})])},z9=[],G9=function(e){e&&e("data-v-bb33858e_0",{source:"textarea[data-v-bb33858e]{resize:none;border:1px solid #ccc}",map:void 0,media:void 0})},$9="data-v-bb33858e",B9=void 0,U9=!1;W9=V9({render:q9,staticRenderFns:z9},G9,j9,$9,U9,B9,!1,Lx,void 0,void 0),_R=W9});var Tx=Qe((Sye,vR)=>{yR();var H9=Vue.extend(_R);vR.exports=H9});function n7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputInteger.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var Y9,X9,Z9,K9,Q9,J9,e7,t7,i7,bR,xR=W(()=>{Y9=Ti(),X9={name:"input-integer",mixins:[Y9]},Z9=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{slot:"body",placeholder:e.state.default,tabIndex:e.tabIndex,type:"number"},domProps:{value:e.state.value},on:{change:e.change,input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change]},slot:"body"})])},K9=[],Q9=void 0,J9=void 0,e7=void 0,t7=!1;i7=n7({render:Z9,staticRenderFns:K9},Q9,X9,J9,t7,e7,!1,void 0,void 0,void 0),bR=i7});var Nx=Qe((Iye,wR)=>{xR();var r7=Vue.extend(bR);wR.exports=r7});function f7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputFloat.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var s7,o7,a7,l7,c7,u7,d7,h7,p7,SR,ER=W(()=>{s7=Ti(),o7={name:"input-float",mixins:[s7]},a7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{slot:"body",tabIndex:e.tabIndex,type:"number",step:e.state.step||1,placeholder:e.state.default},domProps:{value:e.state.value},on:{change:e.change,input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change]},slot:"body"})])},l7=[],c7=void 0,u7=void 0,d7=void 0,h7=!1;p7=f7({render:a7,staticRenderFns:l7},c7,o7,u7,h7,d7,!1,void 0,void 0,void 0),SR=p7});var Rx=Qe((Tye,CR)=>{ER();var g7=Vue.extend(SR);CR.exports=g7});function E7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputRadio.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var m7,_7,y7,v7,b7,x7,w7,S7,C7,IR,kR=W(()=>{bn();m7=Ti(),_7={name:"input-radio",mixins:[m7],data(){return{ids:[ut(),ut()],name:`name_${ut()}`,radio_value:this.state.value}},watch:{radio_value(){this.state.value=this.radio_value,this.change()}}},y7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{attrs:{slot:"body"},slot:"body"},e._l(e.state.input.options.values,function(r,o){return i("span",{key:r.key},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.radio_value,expression:"radio_value"}],staticClass:"magic-radio",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{id:e.ids[o],name:e.name,tabIndex:e.tabIndex,type:"radio"},domProps:{value:r.value,checked:e._q(e.radio_value,r.value)},on:{change:function(u){e.radio_value=r.value}}}),e._v(" "),i("label",{attrs:{for:e.ids[o]}},[e._v(e._s(r.key))])])}),0)])},v7=[],b7=void 0,x7=void 0,w7=void 0,S7=!1;C7=E7({render:y7,staticRenderFns:v7},b7,_7,x7,S7,w7,!1,void 0,void 0,void 0),IR=C7});var Mx=Qe((Aye,LR)=>{kR();var I7=Vue.extend(IR);LR.exports=I7});function P7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputCheckbox.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var k7,L7,T7,N7,R7,M7,A7,O7,F7,TR,NR=W(()=>{bn();k7=Ti(),L7={name:"input-checkbox",mixins:[k7],data(){return{value:null,label:null,id:ut(),changed:!1}},watch:{"state.value"(e){this.changed?this.changed=!1:this.stateValueChanged(e)}},methods:{getValuesItem(e=!1){return this.service.state.input.options.values.find(n=>!!e===n.checked)||{}},convertValueToChecked(){if([null,void 0].includes(this.service.state.value))return!1;let e=this.service.state.input.options.values.find(n=>this.service.state.value==n.value);return e===void 0&&(e=this.service.state.input.options.values.find(n=>n.checked===!1),this.service.state.value=e.value),e.checked},changeCheckBox(){let{value:e,label:n}=this.getValuesItem(this.value);this.label=n,this.state.value=e,this.changed=!0,this.change()},stateValueChanged(){this.value=this.convertValueToChecked();let{value:e,label:n}=this.getValuesItem(this.value);this.label=n,this.state.value=e}},mounted(){this.stateValueChanged()}},T7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],staticStyle:{height:"20px","margin-top":"8px"},attrs:{slot:"body"},slot:"body"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"magic-checkbox",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{tabIndex:e.tabIndex,type:"checkbox",id:e.id},domProps:{checked:Array.isArray(e.value)?e._i(e.value,null)>-1:e.value},on:{change:[function(r){var o=e.value,u=r.target,c=!!u.checked;if(Array.isArray(o)){var f=null,p=e._i(o,f);u.checked?p<0&&(e.value=o.concat([f])):p>-1&&(e.value=o.slice(0,p).concat(o.slice(p+1)))}else e.value=c},e.changeCheckBox]}}),e._v(" "),i("label",{attrs:{for:e.id}},[e._v(e._s(e.label))])])])},N7=[],R7=void 0,M7=void 0,A7=void 0,O7=!1;F7=P7({render:T7,staticRenderFns:N7},R7,L7,M7,O7,A7,!1,void 0,void 0,void 0),TR=F7});var Ax=Qe((Dye,RR)=>{NR();var D7=Vue.extend(TR);RR.exports=D7});function W7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputRange.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var j7,q7,z7,G7,$7,B7,U7,V7,H7,MR,AR=W(()=>{j7=Ti(),q7={name:"input-range",mixins:[j7],data(){let{min:e,max:n,Step:i}=this.state.input.options.values[0];return{min:e,max:n,step:i}},methods:{checkValue(){let e=this.state.value===null||`${this.state.value}`.trim()==="";e&&!this.state.validate.required&&(this.state.value=this.state.input.options.values[0].default),this.state.validate.valid=!this.state.validate.required,e||(this.state.validate.valid=this.service.getValidator().validate(this.state.value)),this.change()}}},z7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","padding-right":"5px"},attrs:{slot:"body",tabIndex:e.tabIndex,type:"number",step:e.step},domProps:{value:e.state.value},on:{keydown:[function(r){if(!r.type.indexOf("key")&&r.keyCode!==69)return null;r.preventDefault()},function(r){if(!r.type.indexOf("key")&&r.keyCode!==13)return null;r.stopPropagation()}],change:e.checkValue,blur:e.checkValue,input:function(r){r.target.composing||e.$set(e.state,"value",r.target.value)}},slot:"body"})])},G7=[],$7=void 0,B7=void 0,U7=void 0,V7=!1;H7=W7({render:z7,staticRenderFns:G7},$7,q7,B7,V7,U7,!1,void 0,void 0,void 0),MR=H7});var Ox=Qe((zye,OR)=>{AR();var Y7=Vue.extend(MR);OR.exports=Y7});function iV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputDateTimePicker.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var X7,Z7,K7,Q7,J7,eV,tV,nV,rV,PR,FR=W(()=>{vt();rr();bn();X7=Ti(),Z7={name:"input-datetime-picker",mixins:[X7,br],data(){let e=ut();return{widget_container:{top:0,left:0},iddatetimepicker:"datetimepicker_"+e,idinputdatetimepiker:"inputdatetimepicker_"+e}},methods:{resize(){let e=$(`#${this.iddatetimepicker}`);e&&e.data("DateTimePicker")&&e.data("DateTimePicker").hide()},timeOnly(){return!this.state.input.options.formats[0].date},onDatePickerChange(){let e=$(`#${this.idinputdatetimepiker}`).val();this.state.value=e.trim()===""?null:moment(e,this.datetimedisplayformat).format(this.datetimefieldformat),this.change()},onDatePickerShow(e){this.widget_container.top=0,this.widget_container.left=0,setTimeout(()=>{let n=this.$refs.datetimepicker_body.getBoundingClientRect(),i=this.$refs.datimewidget_container.querySelector(".bootstrap-datetimepicker-widget").getBoundingClientRect();this.widget_container.top=n.top+(n.top{$(`#${this.idinputdatetimepiker}`).blur()})}},K7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{ref:"datetimepicker_body",attrs:{slot:"body"},slot:"body"},[i("div",{ref:"datimewidget_container",style:{top:e.widget_container.top+"px",left:e.widget_container.left+"px",position:"fixed",zIndex:1e4}}),e._v(" "),i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],staticClass:"input-group date",attrs:{id:e.iddatetimepicker}},[i("input",{staticClass:"form-control",class:{"input-error-validation":e.notvalid},attrs:{type:"text",id:e.idinputdatetimepiker,tabIndex:e.tabIndex,readonly:!e.editable||e.isMobile()?"readonly":null}}),e._v(" "),i("span",{staticClass:"input-group-addon caret"},[i("span",{class:[e.g3wtemplate.getFontClass(e.timeOnly()?"time":"calendar")]})])])])])},Q7=[],J7=void 0,eV=void 0,tV=void 0,nV=!1;rV=iV({render:K7,staticRenderFns:Q7},J7,Z7,eV,nV,tV,!1,void 0,void 0,void 0),PR=rV});var Px=Qe((Wye,DR)=>{FR();var sV=Vue.extend(PR);DR.exports=sV});function pV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputUnique.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var oV,aV,lV,cV,uV,dV,hV,fV,gV,jR,qR=W(()=>{rr();bn();oV=Ti(),aV={name:"input-unique",mixins:[oV,Ru],data(){return{id:`unique_${ut()}`}},async mounted(){await this.$nextTick(),this.select2=$(`#${this.id}`).select2({dropdownParent:$("#g3w-view-content"),tags:this.state.input.options.editable,language:this.getLanguage()}),this.state.value!==null&&this.select2.val(this.state.value).trigger("change"),this.select2.on("select2:select",async e=>{let n=e.params.data.$value?e.params.data.$value:e.params.data.id;this.state.value=n==="null"?null:["integer","float","bigint"].includes(this.state.type)?Number(n):n,this.changeSelect(this.state.value),await this.$nextTick()})}},lV=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],attrs:{state:e.state}},[i("select",{staticClass:"form-control",staticStyle:{width:"100%"},attrs:{slot:"body",id:e.id,tabIndex:e.tabIndex},slot:"body"},[i("option",{attrs:{value:"null"}}),e._v(" "),e._l(e.state.input.options.values,function(r){return i("option",{key:r,domProps:{value:e.getValue(r)}},[e._v(e._s(e.getValue(r)))])})],2)])},cV=[],uV=void 0,dV=void 0,hV=void 0,fV=!1;gV=pV({render:lV,staticRenderFns:cV},uV,aV,dV,fV,hV,!1,void 0,void 0,void 0),jR=gV});var Fx=Qe((Kye,zR)=>{qR();var mV=Vue.extend(jR);zR.exports=mV});var hl,Dx=W(()=>{hl=class extends ol.interaction.Pointer{constructor(n={}){super({handleDownEvent(r){return this.pickedFeature_=this.featuresAtPixel_(r.pixel,r.map),this.pickedFeature_},handleUpEvent(r){return this.pickedFeature_&&this.dispatchEvent({type:"picked",feature:this.pickedFeature_,coordinate:r.coordinate,layer:this.pickedLayer_}),!0},handleMoveEvent(r){r.map.getTargetElement().style.cursor=this.featuresAtPixel_(r.pixel,r.map)?"pointer":""},...n});let{features:i}=n;this.features_=Array.isArray(i)&&i.length>0?i:null,this.layers_=n.layers||null,this.pickedFeature_=null,this.pickedLayer_=null}layerFilter_(n){let i=(this.layers_||[]).includes(n);return this.pickedLayer_=i&&n,i}featuresAtPixel_(n,i){let r=null,o=i.forEachFeatureAtPixel(n,u=>this.features_?this.features_.includes(u)?u:null:u,{layerFilter:this.layerFilter_.bind(this),hitTolerance:isMobile&&isMobile.any?10:0});return o&&(r=o),r}shouldStopEvent(){return!1}setMap(n){n||(this.getMap().getTargetElement().style.cursor=""),super.setMap(n)}}});var Hi,_c=W(()=>{Hi=class extends ol.interaction.Pointer{constructor(n={}){super({handleDownEvent(i){return this._centerMap=i.map.getView().getCenter(),setTimeout(()=>{this._centerMap===i.map.getView().getCenter()&&this.handleUpEvent(i)},300),!1},handleUpEvent(i){return this.dispatchEvent({type:"picked",coordinate:i.coordinate}),!1},handleMoveEvent(i){return i.map.getViewport().classList.add(this._cursor),!0},...n}),this._cursor=n.cursor||"ol-pointer",this._centerMap=null}shouldStopEvent(){return!1}setActive(n){let i=this.getMap();i&&i.getViewport().classList.remove(this._cursor),super.setActive(n)}setMap(n){n||this.getMap().getViewport().classList.remove(this._cursor),super.setMap(n)}}});var jx=Qe((sve,GR)=>{bt();zi();Dx();_c();GR.exports=class{constructor(n={}){this.pick_type=n.pick_type||"wms",this.ispicked=!1,this.fields=n.fields||[n.value],this.layerId=n.layer_id,this.mapService=U.getService("map"),this.interaction=this.pick_type==="map"?new hl({layers:[this.mapService.getLayerById(this.layerId)]}):new Hi}isPicked(){return this.ispicked}escKeyUpHandler({keyCode:n,data:{owner:i}}){n===27&&i.unpick()}unbindEscKeyUp(){$(document).unbind("keyup",this.escKeyUpHandler)}bindEscKeyUp(){$(document).on("keyup",{owner:this},this.escKeyUpHandler)}pick(){return new Promise((n,i)=>{this.bindEscKeyUp();let r={};this.ispicked=!0;let o=u=>{if(u){let c=u.getProperties();this.fields.filter(f=>f).forEach(f=>r[f]=c[f]),n(r)}else i();this.ispicked=!1,this.unpick()};U.setModal(!1),this.mapService.addInteraction(this.interaction),this.interaction.once("picked",u=>{if(this.pick_type==="map"){let c=u.feature;o(c)}else if(this.pick_type==="wms"){let c=U.getService("map").getProjectLayer(this.layerId);c&&Ht.getQueryLayersPromisesByCoordinates([c],{map:this.mapService.getMap(),feature_count:1,coordinates:u.coordinate}).then(f=>{let{data:p=[]}=f[0],g=p.length&&p[0].features[0]||null;o(g)}).fail(f=>console.warn(f))}})})}unpick(){this.mapService.removeInteraction(this.interaction),U.setModal(!0),this.unbindEscKeyUp(),this.ispicked=!1}clear(){this.isPicked()&&this.unpick(),this.mapService=this.interaction=this.field=null}}});function Vr(e,n="filename=g3w_file"){Object.assign(document.createElement("a"),{href:URL.createObjectURL(e),download:n.split("filename=").at(-1)}).click(),URL.revokeObjectURL(e)}var yc=W(()=>{});async function u_({value:e,label:n,callback:i}){let r={value:e,id:ut()},o=new Vue({template:` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var D9,j9,q9,z9,G9,$9,B9,U9,W9,_R,yR=W(()=>{D9=Ti(),j9={name:"input-textarea",mixins:[D9]},q9=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("textarea",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],class:{"input-error-validation":e.notvalid},staticStyle:{"max-width":"100%","min-width":"100%"},attrs:{slot:"body",placeholder:e.state.default,rows:"3",tabIndex:e.tabIndex},domProps:{value:e.state.value},on:{keydown:function(r){r.stopPropagation()},input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change],change:e.change},slot:"body"})])},z9=[],G9=function(e){e&&e("data-v-bb33858e_0",{source:"textarea[data-v-bb33858e]{resize:none;border:1px solid #ccc}",map:void 0,media:void 0})},$9="data-v-bb33858e",B9=void 0,U9=!1;W9=V9({render:q9,staticRenderFns:z9},G9,j9,$9,U9,B9,!1,Lx,void 0,void 0),_R=W9});var Tx=Qe((Sye,vR)=>{yR();var H9=Vue.extend(_R);vR.exports=H9});function n7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputInteger.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var Y9,X9,Z9,K9,Q9,J9,e7,t7,i7,bR,xR=W(()=>{Y9=Ti(),X9={name:"input-integer",mixins:[Y9]},Z9=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{slot:"body",placeholder:e.state.default,tabIndex:e.tabIndex,type:"number"},domProps:{value:e.state.value},on:{change:e.change,input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change]},slot:"body"})])},K9=[],Q9=void 0,J9=void 0,e7=void 0,t7=!1;i7=n7({render:Z9,staticRenderFns:K9},Q9,X9,J9,t7,e7,!1,void 0,void 0,void 0),bR=i7});var Nx=Qe((Iye,wR)=>{xR();var r7=Vue.extend(bR);wR.exports=r7});function f7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputFloat.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var s7,o7,a7,l7,c7,u7,d7,h7,p7,SR,ER=W(()=>{s7=Ti(),o7={name:"input-float",mixins:[s7]},a7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{slot:"body",tabIndex:e.tabIndex,type:"number",step:e.state.step||1,placeholder:e.state.default},domProps:{value:e.state.value},on:{change:e.change,input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change]},slot:"body"})])},l7=[],c7=void 0,u7=void 0,d7=void 0,h7=!1;p7=f7({render:a7,staticRenderFns:l7},c7,o7,u7,h7,d7,!1,void 0,void 0,void 0),SR=p7});var Rx=Qe((Tye,CR)=>{ER();var g7=Vue.extend(SR);CR.exports=g7});function E7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputRadio.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var m7,_7,y7,v7,b7,x7,w7,S7,C7,IR,kR=W(()=>{bn();m7=Ti(),_7={name:"input-radio",mixins:[m7],data(){return{ids:[ut(),ut()],name:`name_${ut()}`,radio_value:this.state.value}},watch:{radio_value(){this.state.value=this.radio_value,this.change()}}},y7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{attrs:{slot:"body"},slot:"body"},e._l(e.state.input.options.values,function(r,o){return i("span",{key:r.key},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.radio_value,expression:"radio_value"}],staticClass:"magic-radio",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{id:e.ids[o],name:e.name,tabIndex:e.tabIndex,type:"radio"},domProps:{value:r.value,checked:e._q(e.radio_value,r.value)},on:{change:function(u){e.radio_value=r.value}}}),e._v(" "),i("label",{attrs:{for:e.ids[o]}},[e._v(e._s(r.key))])])}),0)])},v7=[],b7=void 0,x7=void 0,w7=void 0,S7=!1;C7=E7({render:y7,staticRenderFns:v7},b7,_7,x7,S7,w7,!1,void 0,void 0,void 0),IR=C7});var Mx=Qe((Aye,LR)=>{kR();var I7=Vue.extend(IR);LR.exports=I7});function P7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputCheckbox.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var k7,L7,T7,N7,R7,M7,A7,O7,F7,TR,NR=W(()=>{bn();k7=Ti(),L7={name:"input-checkbox",mixins:[k7],data(){return{value:null,label:null,id:ut(),changed:!1}},watch:{"state.value"(e){this.changed?this.changed=!1:this.stateValueChanged(e)}},methods:{getValuesItem(e=!1){return this.service.state.input.options.values.find(n=>!!e===n.checked)||{}},convertValueToChecked(){if([null,void 0].includes(this.service.state.value))return!1;let e=this.service.state.input.options.values.find(n=>this.service.state.value==n.value);return e===void 0&&(e=this.service.state.input.options.values.find(n=>n.checked===!1),this.service.state.value=e.value),e.checked},changeCheckBox(){let{value:e,label:n}=this.getValuesItem(this.value);this.label=n,this.state.value=e,this.changed=!0,this.change()},stateValueChanged(){this.value=this.convertValueToChecked();let{value:e,label:n}=this.getValuesItem(this.value);this.label=n,this.state.value=e}},mounted(){this.stateValueChanged()}},T7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],staticStyle:{height:"20px","margin-top":"8px"},attrs:{slot:"body"},slot:"body"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"magic-checkbox",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},attrs:{tabIndex:e.tabIndex,type:"checkbox",id:e.id},domProps:{checked:Array.isArray(e.value)?e._i(e.value,null)>-1:e.value},on:{change:[function(r){var o=e.value,u=r.target,c=!!u.checked;if(Array.isArray(o)){var f=null,p=e._i(o,f);u.checked?p<0&&(e.value=o.concat([f])):p>-1&&(e.value=o.slice(0,p).concat(o.slice(p+1)))}else e.value=c},e.changeCheckBox]}}),e._v(" "),i("label",{attrs:{for:e.id}},[e._v(e._s(e.label))])])])},N7=[],R7=void 0,M7=void 0,A7=void 0,O7=!1;F7=P7({render:T7,staticRenderFns:N7},R7,L7,M7,O7,A7,!1,void 0,void 0,void 0),TR=F7});var Ax=Qe((Dye,RR)=>{NR();var D7=Vue.extend(TR);RR.exports=D7});function W7(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputRange.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var j7,q7,z7,G7,$7,B7,U7,V7,H7,MR,AR=W(()=>{j7=Ti(),q7={name:"input-range",mixins:[j7],data(){let{min:e,max:n,Step:i}=this.state.input.options.values[0];return{min:e,max:n,step:i}},methods:{checkValue(){let e=this.state.value===null||`${this.state.value}`.trim()==="";e&&!this.state.validate.required&&(this.state.value=this.state.input.options.values[0].default),this.state.validate.valid=!this.state.validate.required,e||(this.state.validate.valid=this.service.getValidator().validate(this.state.value)),this.change()}}},z7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","padding-right":"5px"},attrs:{slot:"body",tabIndex:e.tabIndex,type:"number",step:e.step},domProps:{value:e.state.value},on:{keydown:[function(r){if(!r.type.indexOf("key")&&r.keyCode!==69)return null;r.preventDefault()},function(r){if(!r.type.indexOf("key")&&r.keyCode!==13)return null;r.stopPropagation()}],change:e.checkValue,blur:e.checkValue,input:function(r){r.target.composing||e.$set(e.state,"value",r.target.value)}},slot:"body"})])},G7=[],$7=void 0,B7=void 0,U7=void 0,V7=!1;H7=W7({render:z7,staticRenderFns:G7},$7,q7,B7,V7,U7,!1,void 0,void 0,void 0),MR=H7});var Ox=Qe((zye,OR)=>{AR();var Y7=Vue.extend(MR);OR.exports=Y7});function iV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputDateTimePicker.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var X7,Z7,K7,Q7,J7,eV,tV,nV,rV,PR,FR=W(()=>{vt();rr();bn();X7=Ti(),Z7={name:"input-datetime-picker",mixins:[X7,vr],data(){let e=ut();return{widget_container:{top:0,left:0},iddatetimepicker:"datetimepicker_"+e,idinputdatetimepiker:"inputdatetimepicker_"+e}},methods:{resize(){let e=$(`#${this.iddatetimepicker}`);e&&e.data("DateTimePicker")&&e.data("DateTimePicker").hide()},timeOnly(){return!this.state.input.options.formats[0].date},onDatePickerChange(){let e=$(`#${this.idinputdatetimepiker}`).val();this.state.value=e.trim()===""?null:moment(e,this.datetimedisplayformat).format(this.datetimefieldformat),this.change()},onDatePickerShow(e){this.widget_container.top=0,this.widget_container.left=0,setTimeout(()=>{let n=this.$refs.datetimepicker_body.getBoundingClientRect(),i=this.$refs.datimewidget_container.querySelector(".bootstrap-datetimepicker-widget").getBoundingClientRect();this.widget_container.top=n.top+(n.top{$(`#${this.idinputdatetimepiker}`).blur()})}},K7=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{ref:"datetimepicker_body",attrs:{slot:"body"},slot:"body"},[i("div",{ref:"datimewidget_container",style:{top:e.widget_container.top+"px",left:e.widget_container.left+"px",position:"fixed",zIndex:1e4}}),e._v(" "),i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],staticClass:"input-group date",attrs:{id:e.iddatetimepicker}},[i("input",{staticClass:"form-control",class:{"input-error-validation":e.notvalid},attrs:{type:"text",id:e.idinputdatetimepiker,tabIndex:e.tabIndex,readonly:!e.editable||e.isMobile()?"readonly":null}}),e._v(" "),i("span",{staticClass:"input-group-addon caret"},[i("span",{class:[e.g3wtemplate.getFontClass(e.timeOnly()?"time":"calendar")]})])])])])},Q7=[],J7=void 0,eV=void 0,tV=void 0,nV=!1;rV=iV({render:K7,staticRenderFns:Q7},J7,Z7,eV,nV,tV,!1,void 0,void 0,void 0),PR=rV});var Px=Qe((Wye,DR)=>{FR();var sV=Vue.extend(PR);DR.exports=sV});function pV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputUnique.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var oV,aV,lV,cV,uV,dV,hV,fV,gV,jR,qR=W(()=>{rr();bn();oV=Ti(),aV={name:"input-unique",mixins:[oV,Ru],data(){return{id:`unique_${ut()}`}},async mounted(){await this.$nextTick(),this.select2=$(`#${this.id}`).select2({dropdownParent:$("#g3w-view-content"),tags:this.state.input.options.editable,language:this.getLanguage()}),this.state.value!==null&&this.select2.val(this.state.value).trigger("change"),this.select2.on("select2:select",async e=>{let n=e.params.data.$value?e.params.data.$value:e.params.data.id;this.state.value=n==="null"?null:["integer","float","bigint"].includes(this.state.type)?Number(n):n,this.changeSelect(this.state.value),await this.$nextTick()})}},lV=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],attrs:{state:e.state}},[i("select",{staticClass:"form-control",staticStyle:{width:"100%"},attrs:{slot:"body",id:e.id,tabIndex:e.tabIndex},slot:"body"},[i("option",{attrs:{value:"null"}}),e._v(" "),e._l(e.state.input.options.values,function(r){return i("option",{key:r,domProps:{value:e.getValue(r)}},[e._v(e._s(e.getValue(r)))])})],2)])},cV=[],uV=void 0,dV=void 0,hV=void 0,fV=!1;gV=pV({render:lV,staticRenderFns:cV},uV,aV,dV,fV,hV,!1,void 0,void 0,void 0),jR=gV});var Fx=Qe((Kye,zR)=>{qR();var mV=Vue.extend(jR);zR.exports=mV});var hl,Dx=W(()=>{hl=class extends ol.interaction.Pointer{constructor(n={}){super({handleDownEvent(r){return this.pickedFeature_=this.featuresAtPixel_(r.pixel,r.map),this.pickedFeature_},handleUpEvent(r){return this.pickedFeature_&&this.dispatchEvent({type:"picked",feature:this.pickedFeature_,coordinate:r.coordinate,layer:this.pickedLayer_}),!0},handleMoveEvent(r){r.map.getTargetElement().style.cursor=this.featuresAtPixel_(r.pixel,r.map)?"pointer":""},...n});let{features:i}=n;this.features_=Array.isArray(i)&&i.length>0?i:null,this.layers_=n.layers||null,this.pickedFeature_=null,this.pickedLayer_=null}layerFilter_(n){let i=(this.layers_||[]).includes(n);return this.pickedLayer_=i&&n,i}featuresAtPixel_(n,i){let r=null,o=i.forEachFeatureAtPixel(n,u=>this.features_?this.features_.includes(u)?u:null:u,{layerFilter:this.layerFilter_.bind(this),hitTolerance:isMobile&&isMobile.any?10:0});return o&&(r=o),r}shouldStopEvent(){return!1}setMap(n){n||(this.getMap().getTargetElement().style.cursor=""),super.setMap(n)}}});var Hi,_c=W(()=>{Hi=class extends ol.interaction.Pointer{constructor(n={}){super({handleDownEvent(i){return this._centerMap=i.map.getView().getCenter(),setTimeout(()=>{this._centerMap===i.map.getView().getCenter()&&this.handleUpEvent(i)},300),!1},handleUpEvent(i){return this.dispatchEvent({type:"picked",coordinate:i.coordinate}),!1},handleMoveEvent(i){return i.map.getViewport().classList.add(this._cursor),!0},...n}),this._cursor=n.cursor||"ol-pointer",this._centerMap=null}shouldStopEvent(){return!1}setActive(n){let i=this.getMap();i&&i.getViewport().classList.remove(this._cursor),super.setActive(n)}setMap(n){n||this.getMap().getViewport().classList.remove(this._cursor),super.setMap(n)}}});var jx=Qe((sve,GR)=>{bt();zi();Dx();_c();GR.exports=class{constructor(n={}){this.pick_type=n.pick_type||"wms",this.ispicked=!1,this.fields=n.fields||[n.value],this.layerId=n.layer_id,this.mapService=U.getService("map"),this.interaction=this.pick_type==="map"?new hl({layers:[this.mapService.getLayerById(this.layerId)]}):new Hi}isPicked(){return this.ispicked}escKeyUpHandler({keyCode:n,data:{owner:i}}){n===27&&i.unpick()}unbindEscKeyUp(){$(document).unbind("keyup",this.escKeyUpHandler)}bindEscKeyUp(){$(document).on("keyup",{owner:this},this.escKeyUpHandler)}pick(){return new Promise((n,i)=>{this.bindEscKeyUp();let r={};this.ispicked=!0;let o=u=>{if(u){let c=u.getProperties();this.fields.filter(f=>f).forEach(f=>r[f]=c[f]),n(r)}else i();this.ispicked=!1,this.unpick()};U.setModal(!1),this.mapService.addInteraction(this.interaction),this.interaction.once("picked",u=>{if(this.pick_type==="map"){let c=u.feature;o(c)}else if(this.pick_type==="wms"){let c=U.getService("map").getProjectLayer(this.layerId);c&&Ht.getQueryLayersPromisesByCoordinates([c],{map:this.mapService.getMap(),feature_count:1,coordinates:u.coordinate}).then(f=>{let{data:p=[]}=f[0],g=p.length&&p[0].features[0]||null;o(g)}).fail(f=>console.warn(f))}})})}unpick(){this.mapService.removeInteraction(this.interaction),U.setModal(!0),this.unbindEscKeyUp(),this.ispicked=!1}clear(){this.isPicked()&&this.unpick(),this.mapService=this.interaction=this.field=null}}});function Ur(e,n="filename=g3w_file"){Object.assign(document.createElement("a"),{href:URL.createObjectURL(e),download:n.split("filename=").at(-1)}).click(),URL.revokeObjectURL(e)}var yc=W(()=>{});async function u_({value:e,label:n,callback:i}){let r={value:e,id:ut()},o=new Vue({template:`
    `,data(){return r}}),u;new Promise((c,f)=>{u=U.showModalDialog({message:o.$mount().$el,closeButton:!1,buttons:{ok:{label:"Ok",className:"btn-success",callback:()=>c(r.value)},cancel:{label:"Cancel",className:"btn-danger",callback:()=>f()}}});let p=u.find("button.btn-success");p.prop("disabled",r.value.trim().length===0),o.$watch("value",g=>{p.prop("disabled",g.trim().length===0)})}).then(i).catch(c=>console.warn(c)).finally(()=>{o.$destroy(),o=null,r=null,u=null})}var qx=W(()=>{bt();bn()});function IV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FieldG3W.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var _V,yV,vV,bV,xV,wV,SV,EV,CV,kV,d_,zx=W(()=>{_V=Og(),yV=Nu(),vV={name:"g3w-field",props:{state:{required:!0},feature:{type:Object}},components:{...yV},created(){this.type=_V.getType(this.state)}},bV=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i(e.type,{tag:"component",attrs:{feature:e.feature,state:e.state}})},xV=[],wV=void 0,SV=void 0,EV=void 0,CV=!1;kV=IV({render:bV,staticRenderFns:xV},wV,vV,SV,CV,EV,!1,void 0,void 0,void 0),d_=kV});function BR(e){return new(Object.entries({MultiPolygon:ol.geom.MultiPolygon,MultiLine:ol.geom.MultiLineString,MultiPoint:ol.geom.MultiPoint,Polygon:ol.geom.Polygon,Line:ol.geom.LineString,Point:ol.geom.Point,"":ol.geom.Point}).find(n=>e.type.startsWith(n[0])))[1](e.coordinates)}function $R(e){return{id:e.id,feature:{attributes:e.attributes||e.properties,geometry:e.geometry?BR(e.geometry):e.geometry}}}function PV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="Table.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Gx(){let e=Gx.styles||(Gx.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var LV,TV,NV,RV,MV,AV,OV,FV,UR,VR=W(()=>{Nt();zs();vt();zx();bt();zi();rr();Go();bn();yr();qn();ln();LV={name:"G3WTable",mixins:[br],components:{Field:d_},data(){let e=st(this.$options.layerId);return{layer:e,state:{features:[],headers:[null,...e.getTableHeaders()],geometry:!0,allfeatures:0,selectAll:!1,nofilteredrow:!1,show_tools:!1,geolayer:{active:!1,in_bbox:void 0}},relations:(e.isGeoLayer()?[]:e.getRelations().getArray()).map(n=>[n,st(n.getFather())]).filter(([n,i])=>e.getId()!==n.getFather()&&i.isGeoLayer()).map(([n,i])=>({layer:i,father_fields:n.getFatherField(),fields:n.getChildField(),features:{}})),filter:[],has_map:!0,async_highlight:()=>{},getAll:!1,search:{},firstCall:!0,map_bbox:{key:null,cb:null},disableSelectAll:!1}},computed:{has_features(){return!!this.state.features.length},current_layout(){return V.gui.layout[V.gui.layout.__current]}},methods:{toggleFilterToken(e){e.state.filter.active&&!e.selectionFids.has("__ALL__")&&(this.state.selectAll=!1,this.selectAllRows()),e.toggleFilterToken()},editFeature(e){$(".tooltip").remove(),U.getService("queryresults").editFeature({layer:{id:this.layer.getId()},feature:e})},async openForm(e){$(".tooltip").remove();try{await sn(Ht.getData("search:fids",{inputs:{layer:this.layer,fids:[e.id],formatter:1}})),e.geometry&&U.getService("map").zoomToGeometry(BR(e.geometry))}catch(n){console.warn(n)}},get_check_id(e){return e&&(this.get_check_id.cached_id=ut()),this.get_check_id.cached_id},async getDataFromBBOX(){let e=U.getService("map");this.state.geolayer.active=!this.state.geolayer.active;let n=this.state.geolayer.active;n&&(this.map_bbox.cb=()=>{this.state.geolayer.in_bbox=this.state.geolayer.active?e.getMapBBOX().join(","):void 0,$(this.$refs.attribute_table).DataTable().ajax.reload()}),n&&(this.map_bbox.key=e.getMap().on("moveend",this.map_bbox.cb)),this.map_bbox.cb&&this.map_bbox.cb(),n||(ol.Observable.unByKey(this.map_bbox.key),this.map_bbox.key=null,this.map_bbox.cb=null)},checkSelectAll(){this.state.selectAll=this.layer.getSelectionFids().has(ni.ALL)||this.state.features.every(e=>e.selected)},async inverseSelection(){this.getAll||await this.getFeatures(),this.state.features.forEach(e=>e.selected=!e.selected),this.layer.invertSelectionFids(),this.checkSelectAll()},async selectAllRows(){this.state.selectAll=!this.state.selectAll;let e=this.filter.length>0;e||(this.getAll||await this.getFeatures(),this.state.features.forEach(n=>n.selected=this.state.selectAll),await this.layer[this.state.selectAll?"setSelectionFidsAll":"clearSelectionFids"]()),e&&(this.state.selectAll?this.state.features.filter(n=>this.filter.includes(n.id)).forEach(n=>{n.selected=!0,this.layer.includeSelectionFid(n.id)}):(this.state.features.forEach(n=>n.selected=!1),this.layer.clearSelectionFids())),this.state.show_tools=this.state.features.some(n=>n.selected)},async highlight(e,n=!0){let i=U.getService("map");if(!e||!e.geometry)return i.clearHighlightGeometry();if(this.async_highlight=()=>{i.clearHighlightGeometry(),i.highlightGeometry(e.geometry,{zoom:n,duration:1/0})},e.geometry&&this.has_map)return this.async_highlight();if(e.geometry||!e.geometry&&!this.relations.length>0)return;let r=[],o=[];(await Promise.allSettled(this.relations.flatMap(({layer:u,father_fields:c,fields:f})=>{let p=f.map(g=>e.attributes[g]);return o.push(p),n?Ht.getData("search:features",{inputs:{layer:u,formatter:1,filter:c.map((g,d)=>`${g}|eq|${encodeURIComponent(p[d])}`).join("|AND,")},outputs:!1}):[]}))).forEach((u,c)=>{if(u.status==="fulfilled"){let f=this.relations[c],p=o[c].join("__"),g=u.value&&u.value.data[0];f.features[p]===void 0&&(f.features[p]=g&&g.features||[]),r.push(...f.features[p])}n?i.zoomToFeatures(r,{highlight:!0}):i.highlightFeatures(r)})},select(e){e.selected=!e.selected,this.state.selectAll=this.state.features.every(n=>n.selected),this.layer[e.selected?"includeSelectionFid":"excludeSelectionFid"](e.id),this.state.show_tools=this.layer.getSelectionFids().size>0},async resize(){await this.$nextTick();let e=this.$el.querySelector("div.dataTables_scrollBody");e&&(e.style.height=U.isMobile()?"100%":((document.querySelector(".content")||{}).clientHeight||0)-((this.$el.querySelector("div.dataTables_scrollHeadInner")||{}).clientHeight||0)-100+"px"),$(this.$refs.attribute_table).DataTable().columns.adjust()},async getFeatures(e){try{U.setLoadingContent(!0);let n=await sn(this.layer.getDataTable(e||{})),i=this.layer.isGeoLayer()&&n.features;if(i&&!e){let r=this.state.features.map(o=>o.id);n.features.filter(o=>o.geometry&&!r.includes(o.id)).forEach(o=>this.layer.addOlSelectionFeature($R(o))),this.getAll=!0}if(i)return n.features}catch(n){return console.warn(n),Promise.reject()}finally{U.setLoadingContent(!1)}},async getData({start:e=0,order:n=[],length:i=this.layer.getAttributeTablePageLength()||mr[1],columns:r=[],search:o={value:null}}={}){if(U.setLoadingContent(!0),this.layer.setAttributeTablePageLength(i),this.state.headers.length===0)return{data:[],recordsTotal:0,recordsFiltered:0};this.state.features.splice(0),n.length===0&&n.push({column:1,dir:"asc"}),this.search={field:r.filter(u=>u.search&&u.search.value).map(u=>`${u.name}|ilike|${u.search.value}|and`).join(",")||void 0,page:e===0||this.layer.state.filter.active?1:e/i+1,page_size:i,search:o.value&&o.value.length>0?o.value:null,in_bbox:this.state.geolayer.in_bbox,ordering:(n[0].dir==="asc"?"":"-")+this.state.headers[n[0].column].name,formatter:1};try{let u=await sn(this.layer.getDataTable(this.search));return this.state.allfeatures=u.count,this.state.featurescount=(u.features||[]).length,this.state.features.push(...(u.features||[]).map(c=>(this.layer.isGeoLayer()&&c.geometry&&!this.layer.getOlSelectionFeature(c.id)&&this.layer.addOlSelectionFeature($R(c)),{id:c.id,selected:this.layer.getFilterToken()||this.layer.hasSelectionFid(c.id),attributes:c.attributes||c.properties,geometry:this.layer.isGeoLayer()&&c.geometry||void 0}))),this.state.show_tools=this.layer.state.filter.active||this.layer.getSelectionFids().size>0,this.state.selectAll=this.layer.state.filter.active||this.state.features.every(c=>c.selected),{data:this.state.features.map(c=>[null].concat(this.state.headers.filter(f=>f).map(f=>(f.value=(c.attributes||c.properties)[f.name],f.value)))),recordsFiltered:u.count,recordsTotal:u.count,filter:this.state.features.map(c=>c.id)}}catch(u){return console.warn(u),U.notify.error(He("info.server_error")),Promise.reject(u)}finally{U.setLoadingContent(!1)}},unSelectAll(){this.state.features.forEach(e=>e.selected=!1),this.state.show_tools=!1,this.state.selectAll=!1},onGUIContent(e={}){this.has_map=e.perc!==100},filterChangeHandler(){$(this.$refs.attribute_table).DataTable().ajax.reload()}},beforeCreate(){this.delayType="debounce"},async created(){this.unSelectAll=this.unSelectAll.bind(this),this.onGUIContent=this.onGUIContent.bind(this),U.onbefore("setContent",this.onGUIContent),this.layer.on("unselectionall",this.unSelectAll),this.layer.on("filtertokenchange",this.filterChangeHandler),U.closeSideBar(),this.current_layout.rightpanel.height=55,U.showContent({content:new zt({id:"openattributetable",service:{state:this.state},internalComponent:this}),split:U.isMobile()?"h":"v",push:!1,title:this.layer.getTitle(),text:!0}),this.isMobile()&&U.hideSidebar()},async mounted(){this.last_map_control=U.getService("map").getMapControls().find(o=>o.control.isToggled&&o.control.isToggled()),this.last_map_control&&this.last_map_control.control.toggle(),this.setContentKey=U.onafter("setContent",this.resize),await this.$nextTick();let e,n={},i=$(this.$refs.attribute_table).DataTable({ajax:Li(async(o,u)=>{try{U.disableContent(!0);let c=await this.getData(o);u(c),this.disableSelectAll=this.state.features.length===0,e&&e(c.filter),await this.$nextTick(),i.columns.adjust()}catch(c){console.warn(c)}U.disableContent(!1)},800),bSortCellsTop:!0,columns:this.state.headers,columnDefs:[{orderable:!1,searchable:!1,targets:0,width:"1%"}],deferLoading:this.state.allfeatures,dom:'frt<"#g3w-table-toolbar">lip',lengthMenu:mr,order:[1,"asc"],pageLength:this.layer.getAttributeTablePageLength()||mr[1],processing:!1,responsive:!0,scrollCollapse:!0,scrollX:!0,serverSide:!0,sSearch:!1});this.changeColumn=Li(async(o,u)=>{let c=o.target.value.trim();i.one("draw",async()=>{n[u]=c,this.disableSelectAll=this.state.features.length===0,this.filter=Object.values(n).find(f=>f)?await new Promise(f=>e=f):[]}),i.columns(u).search(c).draw()});let r=document.createDocumentFragment();r.appendChild(this.$refs.table_toolbar),document.getElementById("g3w-table-toolbar").appendChild(r),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_info")),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_filter")),document.getElementById("table_body_attributes").remove(),i.ajax.reload()},async beforeDestroy(){this.last_map_control&&!this.last_map_control.control.isToggled()&&this.last_map_control.control.toggle(),this.last_map_control=null,this.layer.off("unselectionall",this.unSelectAll),this.layer.off("filtertokenchange",this.filterChangeHandler),ol.Observable.unByKey(this.map_bbox.key),this.map_bbox.key=null,this.map_bbox.cb=null,this.highlight(),this.has_map||setTimeout(()=>{this.async_highlight(),this.has_map=!0,this.async_highlight=()=>{}}),U.un("setContent",this.setContentKey),document.querySelector("#g3w-view-content .dataTables_info").remove(),document.querySelector("#g3w-view-content .dataTables_filter").remove(),$(this.$refs.attribute_table).DataTable().destroy(!0)}},TV=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{attrs:{id:"open_attribute_table"}},[i("div",{ref:"table_toolbar",staticStyle:{display:"flex","justify-content":"space-between",padding:"1px"}},[e.layer.isGeoLayer()?i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:e.state.geolayer.active&&e.current_layout.rightpanel.height_100,expression:"state.geolayer.active && current_layout.rightpanel.height_100"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.show_features_on_map",expression:"'layer_selection_filter.tools.show_features_on_map'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[e.$fa("map"),e.state.geolayer.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.getDataFromBBOX.apply(null,arguments)}}}):e._e(),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.clear",expression:"'layer_selection_filter.tools.clear'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:e.$fa("clear"),attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.layer.clearSelectionFids()}}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.invert",expression:"'layer_selection_filter.tools.invert'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[e.$fa("invert"),e.layer.state.filter.active?"g3w-disabled":""],attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.inverseSelection.apply(null,arguments)}}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.filter",expression:"'layer_selection_filter.tools.filter'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[e.$fa("filter"),e.layer.state.filter.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.toggleFilterToken(e.layer)}}})]),e._v(" "),e.state.headers.length?i("table",{ref:"attribute_table",staticClass:"table table-striped row-border compact nowrap",attrs:{id:"layer_attribute_table"}},[i("thead",[i("tr",[i("th"),e._v(" "),e._l(e.state.headers,function(r,o){return o>0?i("th",[e._v(e._s(r.label))]):e._e()})],2),e._v(" "),i("tr",[i("th",{directives:[{name:"disabled",rawName:"v-disabled",value:e.disableSelectAll,expression:"disableSelectAll"}]},[i("input",{staticClass:"magic-checkbox",attrs:{type:"checkbox",id:"attribute_table_select_all_rows"},domProps:{checked:e.state.selectAll}}),e._v(" "),i("label",{attrs:{for:"attribute_table_select_all_rows"},on:{"!click":function(r){return r.stopPropagation(),r.preventDefault(),e.selectAllRows.apply(null,arguments)}}},[e._v("\xA0")])]),e._v(" "),e._l(e.state.headers,function(r,o){return o>0?i("th",[i("input",{staticClass:"form-control column-search",attrs:{type:"text",placeholder:r.name,title:"search by "+r.name},on:{keyup:function(u){return e.changeColumn(u,o)}}})]):e._e()})],2)]),e._v(" "),i("tbody",{attrs:{id:"table_body_attributes",hidden:""}}),e._v(" "),i("tbody",{ref:"table_body",on:{mouseleave:function(r){return e.highlight()}}},e._l(e.state.features,function(r,o){return i("tr",{key:r.id,class:[o%2==1?"odd":"pair","feature_attribute",{geometry:!!r.geometry},{selected:r.selected}],attrs:{role:"row"},on:{mouseover:function(u){return e.highlight(r,!1)},click:function(u){return u.stopPropagation(),e.highlight(r,!0)}}},[i("td",[i("div",{staticStyle:{display:"flex"}},[i("input",{staticClass:"magic-checkbox",attrs:{type:"checkbox",id:e.get_check_id(!0)},domProps:{checked:r.selected}}),e._v(" "),i("label",{attrs:{for:e.get_check_id(!1)},on:{"!click":function(u){return u.stopPropagation(),u.preventDefault(),e.select(r)}}}),e._v(" "),i("i",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.tooltips.relations.row_to_form",expression:"'sdk.tooltips.relations.row_to_form'",arg:"top",modifiers:{create:!0}}],class:"action-button skin-color "+e.$fa("table"),on:{click:function(u){return u.stopPropagation(),e.openForm(r)}}}),e._v(" "),e.layer.state.geolayer&&!r.geometry?i("i",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"no_geometry",expression:"'no_geometry'",arg:"top",modifiers:{create:!0}}],class:"action-button "+e.$fa("alert"),staticStyle:{color:"currentColor !important"}}):e._e(),e._v(" "),e.layer.isEditable()&&e.layer.config.editing.visible?i("i",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.tooltips.editing",expression:"'sdk.tooltips.editing'",arg:"top",modifiers:{create:!0}}],class:"action-button skin-color "+e.$fa("pencil"),on:{click:function(u){return u.stopPropagation(),e.editFeature(r)}}}):e._e()])]),e._v(" "),e._l(e.state.headers,function(u,c){return c>0?i("td",[i("field",{attrs:{feature:r,state:{label:void 0,value:r.attributes[u.name]}}})],1):e._e()})],2)}),0)]):i("div",{directives:[{name:"t",rawName:"v-t",value:"dataTable.no_data",expression:"'dataTable.no_data'"}],attrs:{id:"noheaders"}})])},NV=[],RV=function(e){e&&(e("data-v-46956175_0",{source:"#open_attribute_table{margin-top:5px}#g3w-table-toolbar{margin:.755em 1ch 0 0;position:relative;bottom:3px;display:inline-flex;border:1px solid #d2d6de;background-color:#fff;float:left}",map:void 0,media:void 0}),e("data-v-46956175_1",{source:".geometry[data-v-46956175]{cursor:pointer}#noheaders[data-v-46956175]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-46956175]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-46956175]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-46956175]{padding:5px}#g3w-table-toolbar .action-button[data-v-46956175]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-46956175]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-46956175]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-46956175]:not(.selected):hover{background-color:rgb(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-46956175]{margin-bottom:0!important}",map:void 0,media:void 0}),e("data-v-46956175_2",{source:"#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:0 0;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}",map:void 0,media:void 0}))},MV="data-v-46956175",AV=void 0,OV=!1;FV=PV({render:TV,staticRenderFns:NV},RV,LV,MV,OV,AV,!1,Gx,void 0,void 0),UR=FV});function op(e){return typeof e=="string"&&Number.isNaN(1*e)&&(e=e.split("."),e=e.at(e.length===2?1:0)),e}var $x=W(()=>{});function Bx(e){return e.setCoordinates(WR(e.getCoordinates())),e}function WR(e){return e.find(n=>{if(!Array.isArray(n)){let[i,r]=e;return e[0]=r,e[1]=i,!0}WR(n)}),e}var HR=W(()=>{});var Wr,ap=W(()=>{Nt();bn();Wr=class e extends ol.Feature{constructor(n={}){super(),this.state={new:!1,state:null,visible:!0},this._uid=ut(),this._geometry=!1,n.feature&&n.properties&&Array.isArray(n.properties)?n.properties.forEach(o=>this.set(o,n.feature.get(o))):n.feature&&this.setProperties(n.feature.getProperties()),n.feature&&(this.setId(n.feature.getId()),this.setGeometryName(n.feature.getGeometryName()));let i=n.feature&&n.feature.getGeometry();i&&(this._geometry=!0,this.setGeometry(i));let r=this.getStyle();r&&this.setStyle(r)}getUid(){return this._uid}isGeometry(){return this._geometry}cloneNew(n){let i=this.clone();return i._uid=ut(),i.setTemporaryId(),n&&n.editable===!1&&i.set(n.name,null),i}clone(){let n=super.clone();n.setId(this.getId()),this.isGeometry()&&n.setGeometry(n.getGeometry().clone());let i=new e({feature:n});return i._uid=this.getUid(),i.setState(this.getState()),this.isNew()&&i.setNew(),i}setTemporaryId(){this.setId(`_new_${ut()}`),this.setNew()}setNew(){this.state.new=!0}delete(){return this.state.state="delete",this}update(){return this.state.state="update",this}add(){return this.state.state="add",this}isNew(){return this.state.new}isAdded(){return this.state.state==="add"}isUpdated(){return this.state.state==="update"}isDeleted(){return this.state.state==="delete"}setState(n){this.state.state=n}getState(){return this.state.state}getAlphanumericProperties(){return Object.entries(this.getProperties()).filter(([n,i])=>!gu.GEOMETRY_FIELDS.includes(n)).reduce((n,[i,r])=>(n[i]=r,n),{})}clearState(){this.state.state=null,this.state.new=!1}isVisible(){return this.state.visible}setVisible(n=!0){this.state.visible=n}}});function Vx(e,n="server_saver_error"){try{let i=Object.entries(e),r=i.find(([u,c])=>u==="fields"),[,o]=r||i[0];if(!r&&!Array.isArray(o)&&typeof o=="object")return Vx(o,n);if(r&&typeof o=="string"&&(n=`[${i.find(([u])=>u!=="fields")[0]}] ${o}`),r&&typeof o!="string"&&(n=Object.entries(o).reduce((u,[c,f])=>`${u}${c} ${Array.isArray(f)?f[0]:f} -`,"")),r)return n.replace(/\:|\./g,"")}catch(i){console.warn(i)}}var Ux,bs,h_=W(()=>{Nt();bt();bg();ng();Wy();$x();HR();ap();ln();Object.entries({G3W_FID:Cn,GUI:U,Feature:Wr,t:He,is3DGeometry:Vl,removeZValue:Ph,sanitizeFidFeature:op,reverseGeometry:Bx}).forEach(([e,n])=>console.assert(n!==void 0,`${e} is undefined`));Ux="GIS3W_ESCAPE_NUMERIC_FIELD_",bs={get(e){switch(e){case"g3w-error":return function(n={}){let{error:i}=n;return{parse({type:r="responseJSON"}={}){return r==="responseJSON"&&i&&i.responseJSON&&i.responseJSON.error.message?i.responseJSON.error.message:r==="responseJSON"&&i&&i.errors?Vx(i.errors):r==="String"&&typeof i=="string"?i:r==="String"?Vx(i):He("server_saver_error")}}};case"g3w-table/json":return function(n={}){return(n.features||[]).map(i=>{let r=new Wr;return r.setProperties(i.properties),r.setId(i.id),r})};case"g3w-vector/gml":return function({data:n,layer:i}={}){try{return new ol.format.WMSGetFeatureInfo({layers:i.getQueryLayerOrigName()}).readFeatures(n.substr(0,2)==="--"?n.split(/\r\n--/).filter(r=>/<([^ ]*)FeatureCollection/.test(r)||/<([^ ]*)msGMLOutput/.test(r)).map(r=>r.substr(r.indexOf("({layer:p,features:[],filtertoken:u})),f=r.map(p=>o?p.getWMSLayerName():p.getWFSLayerName());return(n?new ol.format.GeoJSON({geometryName:"geometry",defaultDataProjection:i.layer||i.map}).readFeatures(n):[]).filter(p=>{let g=p.getId(),d=op(g),v=g==d?0:f.indexOf(g);if(v===-1)return!1;let y=p.getProperties();p.set(Cn,d),c[v].layer.getFields().filter(S=>S.show&&y[S.name]===void 0&&y[S.label]!==void 0).forEach(S=>p.set(S.name,y[S.label])),c[v].features.push(p)}),c};case"application/geojson":return function({layers:n,response:i}={}){return i?n.map(r=>({layer:r,features:bs.get("g3w-vector/geojson")(i,{})})):[]};case"text/plain":case"text/html":return function({layers:n,response:i}={}){return n.map(r=>({layer:r,rawdata:i}))};case"text/gml":return function({layers:n,response:i}){return n.map(r=>({layer:r,features:bs.get("g3w-vector/gml")({data:i,layer:n[0]})}))};case"application/vnd.ogc.gml":return function({response:n,projections:i,layers:r,wms:o=!0}={}){n&&typeof n!="string"&&!(n instanceof String)&&(n=new XMLSerializer().serializeToString(n)),n&&(n=r.reduce((p,g,d)=>{let v=(o&&g.isWmsUseLayerIds()?g.getId():g.getName()).replace(/[\s'()/]+/g,y=>/\s/g.test(y)&&!o?"_":"");return o||(v=v.replace(/[/\\]+/g,"").replaceAll(":","-")),p.replace(new RegExp(`qgs:${v}`,"g"),`qgs:layer${d}`)},n));let u=n&&Array.from(n.matchAll(/qgs:(\d+(?:\.\d+)?)(\w+)|qgs:(\w+):(\w+)/g)).filter((p,g)=>g%2===0);u&&(n=u.reduce((p,g)=>p.replace(new RegExp(g[0],"g"),`qgs:${Ux}${g[1]}${g[2]}`),n)),n&&(n=n.replace(new RegExp("\0","g"),"0"));let c=[],f;try{if(f=new DOMParser().parseFromString(n,"text/xml"),!f.querySelector("FeatureCollection > featureMember"))throw"no features in response";r.forEach((p,g)=>{let d=f.cloneNode(!0),v=[],y=[...d.querySelectorAll(`FeatureCollection > featureMember > layer${g}`)];if(y.forEach(w=>{let E=(w.getAttribute("fid")||".").split(".")[1];if(E){let I=d.createElement("gml:"+Cn);w.setAttribute("fid",E),I.textContent=E,w.appendChild(I)}v.push(w.parentNode)}),y.length>1){let w=ec(y,E=>Object.values(E.children).map(I=>I.nodeName));Object.keys(w).length>1&&Object.keys(w).forEach((E,I)=>w[E].forEach((O,H)=>{let X=d.createElement(`qgs:layer${I}_${H}`);for([...O.attributes].map(({name:z,value:Z})=>{X.setAttribute(z,Z)});O.firstChild;)X.appendChild(O.firstChild);let re=d.createElement("gml:featureMember");re.appendChild(X),O.parentNode.insertAdjacentElement("beforebegin",re),O.parentNode.children.length===1?O.parentNode.parentNode.removeChild(O.parentNode):O.parentNode.removeChild(O),v.push(re)}))}d.querySelectorAll("FeatureCollection > featureMember").forEach(w=>{v.includes(w)||w.parentNode.removeChild(w)}),v=new ol.format.WMSGetFeatureInfo().readFeatures(d.documentElement.outerHTML);let S=i.layer&&i.layer.getCode()!==i.map.getCode()&&v.length&&!!v[0].getGeometry();if(v.length&&u){let w=Object.keys(v[0].getProperties()).filter(E=>E.indexOf(Ux)!==-1);v.forEach(E=>{w.forEach(I=>{let O=u.find(H=>`${H[1]}${H[2]}`===I.replace(Ux,""));E.set(O[0].replace("qgs:",""),[].concat(E.get(I))[0]),E.unset(I)})})}S&&v.forEach(w=>w.setGeometry(w.getGeometry().transform(i.layer.getCode(),i.map.getCode()))),S&&(i.layer||i.map).getAxisOrientation().substr(0,2)==="ne"&&v.forEach(w=>w.setGeometry(Bx(w.getGeometry()))),p.isGeoLayer()&&!Vl(p.getGeometryType())&&v.forEach(w=>Ph({feature:w})),c.unshift({layer:p,features:v})})}catch(p){console.warn(p)}return f.querySelector("ServiceException")&&U.showUserMessage({type:"warning",textMessage:!0,message:`${r[0].getName()} - ${f.querySelector("ServiceException").innerText}`}),c};default:return function({layers:n=[]}={}){return n.map(i=>({layer:i,rawdata:He("warning.not_supported_format")}))}}}}});function vd(e){let n,i;return(e.getCategories()||[]).forEach(({checked:r,_checked:o,ruleKey:u})=>{r!==o&&(r?n=(n===void 0?`${e.getWMSLayerName()}:`:`${n},`)+u:i=(i===void 0?`${e.getWMSLayerName()}:`:`${i},`)+u)}),{LEGEND_ON:n,LEGEND_OFF:i}}var Wx=W(()=>{});function lp({layer:e={},relation:n={},fid:i,type:r="data",formatter:o=1,page:u=1,page_size:c=mr[0]}){return`${V.project.getLayerById(n.father===void 0?e.id===n.referencedLayer?n.referencingLayer:n.referencedLayer:e.id===n.father?n.child:n.father).getUrl(r)}?relationonetomany=${n.id}|${op(i)}&formatter=${o}&page=${u}&page_size=${c}`}var Hx=W(()=>{Nt();vt();$x()});var YR={};vi(YR,{Layer:()=>ai});function vc(e,n){let i=new DV[e];return Object.assign(i,{_name:e,_layer:n,getLayer:()=>i._layer,setLayer:r=>i._layer=r,getFeatures:i.getFeatures||(()=>console.log("overwriteby single provider")),query:i.query||(()=>console.log("overwriteby single provider")),getName:()=>i._name})}var f_,DV,Yx,ai,bc=W(()=>{Nt();vt();zi();bt();Yn();yr();yc();xi();qx();VR();h_();Wx();Hx();ap();ln();f_=e=>e!==void 0;DV={geojson:class{query(){return Wt(Promise.resolve([]))}getFeatures(e={}){return Wt(async()=>new ol.format.GeoJSON().readFeatures(e.data||(await ht.get({url:e.url||this._layer.get("source").url})).results,{featureProjection:e.mapProjection,dataProjection:e.projection||"EPSG:4326"}))}},qgis:class{query(e={}){return this._projections=this._projections||{map:null,layer:null},Wt(async()=>{let n=this._layer.getType()==="table";n||(this._projections.map=this._layer.getMapProjection()||this._projections.layer);let i=e.layers?e.layers.map(c=>c.getWMSLayerName()).join(","):this._layer.getWMSLayerName();if(!e.filter)return Promise.reject();let r=[].concat(e.filter).map(c=>({type:c._type||c.type,value:c._filter||c.value}));r[0].type!=="geometry"&&(this._projections.layer=null),r=r.filter(c=>c.value);let o=await ht.get({url:e.queryUrl||this._layer.getUrl("query"),params:{SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",filtertoken:V.tokens.filtertoken,LAYERS:i,QUERY_LAYERS:i,INFO_FORMAT:this._layer.getInfoFormat()||"application/vnd.ogc.gml",FEATURE_COUNT:e.feature_count||10,CRS:n?V.map.epsg:this._projections.map.getCode(),I:e.I,J:e.J,FILTER:r.length?r.map(c=>c.value).join(";"):void 0,WITH_GEOMETRY:!n}}),u=e.layers===void 0?[this._layer]:e.layers;return e.raw?o:bs.get(u[0].getInfoFormat())({response:o,projections:this._projections,layers:u,wms:!0})})}getConfig(){return Wt(ht.get({url:this._layer.getUrl("config")}))}getFeatures(e={},n={}){return Object.entries(n).forEach(([i,r])=>{[null,void 0].includes(r)&&delete n[i]}),Wt(async()=>{if(n=new URLSearchParams(n||{}).toString(),n=(n?"?":"")+n,!e.editing){let{vector:i}=await ht.get({url:this._layer.getUrl("data")+n});return{data:i.data,count:i.count}}try{let i;if(e.filter?f_(e.filter.bbox)?i=await ht.post({url:this._layer.getUrl("editing")+n,data:JSON.stringify({in_bbox:e.filter.bbox.join(","),filtertoken:V.tokens.filtertoken}),contentType:"application/json"}):f_(e.filter.fid)?i=await ht.get({url:lp(e.filter.fid)}):e.filter.field?i=await ht.post({url:this._layer.getUrl("editing")+n,data:JSON.stringify(e.filter),contentType:"application/json"}):f_(e.filter.fids)?i=await ht.get({url:this._layer.getUrl("editing")+n,params:e.filter}):f_(e.filter.nofeatures)&&(i=await ht.post({url:this._layer.getUrl("editing")+n,data:JSON.stringify({field:`${e.filter.nofeatures_field||"id"}|eq|__G3W__NO_FEATURES__`}),contentType:"application/json"})):i=await ht.post({url:this._layer.getUrl("editing")+n,contentType:"application/json"}),!i.result)return;let r=i.featurelocks.map(o=>o.featureid);return{count:i.vector.count,featurelocks:i.featurelocks,features:bs.get(`g3w-${this._layer.getType()}/json`)(i.vector.data,i.vector.geometrytype==="NoGeometry"?{}:{crs:this._layer.getCrs()}).filter(o=>r.includes(`${o.getId()}`)).map(o=>new Wr({feature:o}))}}catch(i){console.warn(i)}return Promise.reject({message:He("info.server_error")})})}},wms:class{query(e={}){let{layers:n=[this._layer],size:i=[101,101],coordinates:r=[],resolution:o}=e,u=o*i[0]/2,c=o*i[1]/2,f=[r[0]-u,r[1]-c,r[0]+u,r[1]+c],p=this._layer.getMapProjection()||this._layer.getProjection(),g=e.query_point_tolerance??ja,d=n[0].getQueryUrl(),v=n[0].getOwsMethod(),y=n[0].useProxy(),S=(d||"").split("SOURCE"),w={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",CRS:p.getCode(),LAYERS:(n||[this._layer.getWMSInfoLayerName()]).map(I=>I.getWMSInfoLayerName()).join(","),QUERY_LAYERS:(n||[this._layer.getWMSInfoLayerName()]).map(I=>I.getWMSInfoLayerName()).join(","),filtertoken:V.tokens.filtertoken,INFO_FORMAT:this._layer.getInfoFormat()||"application/vnd.ogc.gml",FEATURE_COUNT:e.feature_count??10,WITH_GEOMETRY:!0,DPI:zo,FILTER_GEOM:g.unit==="map"?new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(r,g.value))):void 0,FI_POINT_TOLERANCE:g.unit==="map"?void 0:g.value,FI_LINE_TOLERANCE:g.unit==="map"?void 0:g.value,FI_POLYGON_TOLERANCE:g.unit==="map"?void 0:g.value,G3W_TOLERANCE:g.unit==="map"?void 0:g.value*o,I:g.unit==="map"?void 0:Math.floor((r[0]-f[0])/o),J:g.unit==="map"?void 0:Math.floor((f[3]-r[1])/o),WIDTH:i[0],HEIGHT:i[1],STYLES:(n||[]).map(I=>I.getStyle()).join(","),BBOX:(p.getAxisOrientation().substr(0,2)==="ne"?[f[1],f[0],f[3],f[2]]:f).join(","),LEGEND_ON:n.flatMap(I=>vd(I).LEGEND_ON).filter(Boolean).join(";")||void 0,LEGEND_OFF:n.flatMap(I=>vd(I).LEGEND_OFF).filter(Boolean).join(";")||void 0,SOURCE:!y&&v==="GET"&&S.length>1?S[1]:void 0},E;return Wt(Promise.race([new Promise(I=>{E=setTimeout(()=>{I({data:(n||[]).map(O=>({layer:O,rawdata:"timeout"})),query:{coordinates:r,resolution:o}})},ji)}),(async()=>{try{let I;if(y)I=await n[0].getDataProxyFromServer("wms",{url:d,params:w,method:v,headers:{"Content-Type":w.INFO_FORMAT}});else if(v==="GET"){let O=(S.length?S[0]:d).replace(/[?&]$/,"");I=await ht.get({url:O+(O.indexOf("?")===-1?"?":"&")+Object.keys(w).filter(H=>![void 0,null].includes(w[H])).map(H=>H+"="+encodeURIComponent(w[H])).join("&")})}else v==="POST"?I=await ht.post({url:d,data:w}):console.warn("unsupported method: ",v);return{data:bs.get(n[0].getInfoFormat())({response:I,layers:n,wms:!0,projections:{map:p,layer:null}}),query:{coordinates:r,resolution:o}}}finally{y||clearTimeout(E)}})()]))}},wfs:class{query(e={},n={}){let i=e.filter||{},r=e.layers||[this._layer],o=`${r[0].getQueryUrl()}/`.replace(/\/+$/,"/"),u=r[0].getOwsMethod();Object.assign(i,{config:i.config||{},type:i._type||i.type,value:i._filter||i.value}),n=Object.assign(n,{SERVICE:"WFS",VERSION:"1.1.0",REQUEST:"GetFeature",MAXFEATURES:e.feature_count??10,TYPENAME:r.map(f=>f.getWFSLayerName()).join(","),OUTPUTFORMAT:r[0].getInfoFormat(),SRSNAME:(e.reproject?r[0].getProjection():this._layer.getMapProjection()).getCode(),FILTER:i.type!=="all"?`(${new ol.format.WFS().writeGetFeature({featureTypes:[""],filter:{bbox:()=>ol.format.filter.bbox("the_geom",i.value),geometry:()=>ol.format.filter[i.config.spatialMethod||"intersects"]("the_geom",i.value),expression:()=>null}[i.type]()}).children[0].innerHTML})`.repeat(r.length||1):void 0});let c;return Wt(Promise.race([new Promise(f=>{c=setTimeout(()=>{f({data:(r||[]).map(p=>({layer:p,rawdata:"timeout"})),query:{}})},ji)}),(async()=>{try{let f;u==="GET"&&!["all","geometry"].includes(i.type)&&(f=await ht.get({url:o+"?"+new URLSearchParams(n||{}).toString()})),(u==="POST"||["all","geometry"].includes(i.type))&&(f=await ht.post({url:o,data:n}));let p=bs.get(r[0].getInfoFormat())({response:f,projections:{map:this._layer.getMapProjection(),layer:e.reproject?this._layer.getProjection():null},layers:r,wms:!1});return p.flatMap(g=>g.features||[]).forEach(g=>Object.entries(g.getProperties()).forEach(([d,v])=>v&&v["xsi:nil"]&&feature.set(d,"NULL"))),{data:p}}finally{clearTimeout(c)}})()]))}}},Yx={download:{format:"shapefile",url:"shp"},download_gpkg:{format:"gpkg",url:"gpkg"},download_gpx:{format:"gpx",url:"gpx"},download_csv:{format:"csv",url:"csv"},download_xls:{format:"xls",url:"xls"},download_raster:{format:"geotiff",url:"geotiff"},download_pdf:{format:"pdf",url:"pdf"}},ai=class e extends Et{constructor(n={},i={}){super();let r=i.project||V.project,o=n.baselayer?"":`${r.getType()}/${r.getId()}/${n.id}/`,u=n.baselayer?"":r.state.vectorurl,c=n.baselayer?"":r.state.rasterurl;this.config=Object.assign(n,{id:n.id||"Layer",title:n.title||n.name,download:!!n.download,geolayer:!1,baselayer:!!n.baselayer,fields:n.fields||{},urls:{query:n.infourl||n.wmsUrl,...n.urls||{},...n.baselayer?{}:{filtertoken:`${u}filtertoken/${o}`,data:`${u}data/${o}`,shp:`${u}shp/${o}`,csv:`${u}csv/${o}`,xls:`${u}xls/${o}`,gpx:`${u}gpx/${o}`,gpkg:`${u}gpkg/${o}`,geotiff:`${c}geotiff/${o}`,editing:`${u}editing/${o}`,commit:`${u}commit/${o}`,config:`${u}config/${o}`,unlock:`${u}unlock/${o}`,widget:{unique:`${u}widget/unique/data/${o}`},featurecount:r.getUrl("featurecount"),pdf:"/html2pdf/"}},...n.baselayer?{}:{searchParams:{I:0,J:0}},search_endpoint:"api"});let f=r.getRelations().filter(d=>[d.referencedLayer,d.referencingLayer].includes(this.getId()));this._relations={_relations:(f||[]).reduce((d,v={})=>{let y=Date.now(),S={loading:!1,id:v.id||`id_${y}`,name:v.name||`name_${y}`,origname:v.origname||`origname_${y}`,father:v.referencedLayer,child:v.referencingLayer,type:v.type,editable:v.editable||!1,prefix:v.prefix,fatherField:[].concat(v.fieldRef.referencedField),childField:[].concat(v.fieldRef.referencingField)};return d[S.id]=Object.assign(new Et(v),{state:S,getId:()=>S.id,setId:w=>S.id=w,getName:()=>S.name,setName:w=>S.name=w,getChild:()=>S.child,getFather:()=>S.father,getState:()=>S,getType:()=>S.type,getFatherField:()=>S.fatherField,getChildField:()=>S.childField,setLoading:w=>S.loading=!!w,isLoading:()=>S.loading,isEditable:()=>S.editable,getPrefix:()=>S.prefix,getFields:()=>({father:S.fatherField,child:S.childField}),getTitle:()=>S.title,setTitle:w=>S.title=w}),d},{}),_length:f?f.length:0,_reloadRelationsInfo(){this._relationsInfo={children:{},fathers:{},father_child:{}};let d,v,{father_child:y,fathers:S,children:w}=this._relationsInfo;Object.entries(this._relations).forEach(([E,I])=>{d=I.getFather(),v=I.getChild(),y[d+v]=E,S[d]=S[d]||[],w[v]=w[v]||[],S[d].push(v),w[v].push(d)})},getLength(){return this._length},getRelations({type:d=null}={}){if(!d)return this._relations;if(["ONE","MANY"].indexOf(d)!==-1){let v={};for(let y in this._relations)d===this._relations[y].getType()&&(v[y]=this._relations[y]);return v}return{}},setRelations(d=[]){this._relations=Array.isArray(d)?d:[]},getRelationById(d){return this._relations[d]},getArray(){return Object.entries(this._relations).map(d=>d[1])},getRelationByFatherChildren(d,v){return this.getRelationById(this._relationsInfo.father_child[d+v])},isChild(d){return!!this._relationsInfo.children[d]},isFather(d){return!!this._relationsInfo.fathers[d]},hasChildren(d){return(this.getChildren(d)||[]).length>0},hasFathers(d){return(this.getFathers(d)||[]).length>0},getChildren(d){return this.isFather(d)?this._relationsInfo.fathers[d]:null},getFathers(d){return this.isChild(d)?this._relationsInfo.children[d]:null}},this._relations._reloadRelationsInfo();let p=n.styles&&n.styles.find(d=>d.current).name;this.state={id:n.id,title:n.title,selected:n.selected||!1,disabled:n.disabled||!1,metadata:n.metadata,openattributetable:this.canShowTable(),removable:n.removable||!1,downloadable:this.isDownloadable(),source:n.source,styles:n.styles,defaultstyle:p,infoformat:this.getInfoFormat(),infoformats:this.config.infoformats||[],projectLayer:!0,geolayer:!1,attributetable:{pageLength:null},visible:n.visible||!1,tochighlightable:!1,inediting:!1,selection:{active:!1},filter:{active:!1,current:null,pagination:!1},filters:n.filters||[],featurecount:n.featurecount,stylesfeaturecount:n.featurecount&&p&&{[p]:n.featurecount},name:n.name,expanded:n.expanded,toc:typeof n.toc=="boolean"?n.toc:!0},this.selectionFids=new Set,this._layersstore=n.layersstore||null;let g=`${this.config.servertype} ${this.config.source&&this.config.source.type}`;this.providers={data:(()=>{if(["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs"].includes(g))return vc("qgis",this);if(g==="G3WSUITE geojson")return vc("geojson",this)})(),filter:["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs","QGIS wmst","QGIS wcs","QGIS wms"].includes(g)&&vc("wfs",this),filtertoken:["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext"].includes(g)&&vc("qgis",this),query:(()=>{if(["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs","QGIS wmst","QGIS wcs","QGIS wms","QGIS gdal","QGIS postgresraster","QGIS vector-tile","QGIS vectortile","QGIS arcgismapserver","QGIS mdal","OGC wms"].includes(g))return vc("wms",this);if(g==="G3WSUITE geojson")return vc("geojson",this)})(),search:["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs"].includes(g)&&vc("qgis",this)},this.proxyData={wms:null}}async getDownloadFilefromDownloadDataType(n,{data:i={}}){i.filtertoken=this.getFilterToken();let r,o;switch(n){case"pdf":r=this.getUrl("pdf"),o=r&&await fetch(r,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json; charset=utf-8","Access-Control-Expose-Headers":"Content-Disposition"},signal:AbortSignal.timeout(ji)});break;default:r=this.getUrl(n==="shapefile"?"shp":n),o=r&&await fetch(r,{body:Object.keys(i||{}).reduce((u,c)=>(u.append(c,i[c]),u),new FormData),method:"POST",headers:{"Access-Control-Expose-Headers":"Content-Disposition"},signal:AbortSignal.timeout(ji)});break}if(!o?.ok)throw(await o.json()).message;Vr(await o.blob(),o.headers.get("content-disposition"))}getGeoTIFF({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("geotiff",{data:n})}getXls({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("xls",{data:n})}getShp({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("shapefile",{data:n})}getGpx({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("gpx",{data:n})}getGpkg({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("gpkg",{data:n})}getCsv({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("csv",{data:n})}getDownloadableFormats(){return Object.keys(Yx).filter(n=>this.config[n]).map(n=>Yx[n].format)}getDownloadUrl(n){return(Object.values(Yx).find(i=>i.format===n)||{}).url}isDownloadable(){return!!this.getDownloadableFormats().length}isGeoTIFFDownloadable(){return!this.isBaseLayer()&&this.config.download&&this.config.source.type==="gdal"}isShpDownloadable(){return!this.isBaseLayer()&&this.config.download&&this.config.source.type!=="gdal"}isXlsDownloadable(){return!this.isBaseLayer()&&!!this.config.download_xls}isGpxDownloadable(){return!this.isBaseLayer()&&!!this.config.download_gpx}isGpkgDownloadable(){return!this.isBaseLayer()&&!!this.config.download_gpkg}isCsvDownloadable(){return!this.isBaseLayer()&&!!this.config.download_csv}getRelations(){return this._relations}getRelationById(n){return this._relations.getArray().find(i=>n===i.getId())}getRelationAttributes(n){let i=this._relations.find(r=>n===r.name);return i?i.fields:[]}getRelationsAttributes(){return(this.state.relations||[]).reduce((n,i)=>(n[i.name]=i.fields,n),{})}isChild(){return this.getRelations()?this._relations.isChild(this.getId()):!1}isFather(){return this.getRelations()?this._relations.isFather(this.getId()):!1}getChildren(){return this.isFather()?this._relations.getChildren(this.getId()):[]}getFathers(){return this.isChild()?this._relations.getFathers(this.getId()):[]}hasChildren(){return this.hasRelations()?this._relations.hasChildren(this.getId()):!1}hasFathers(){return this.hasRelations()?this._relations.hasFathers(this.getId()):!1}hasRelations(){return!!this._relations}isSelected(){return this.state.selected}setSelected(n){this.state.selected=n}async setSelection(n=!1){if(this.state.selection.active=n,n)return;let i=this.state.filter.active,r=this.state.filter.current!==null;r&&i&&await this._applyFilterToken(this.state.filter.current),!r&&i&&await this.deleteFilterToken(),this.emit("unselectionall",this.getId())}isSelectionActive(){return this.state.selection.active}getSelection(){return this.state.selection}getFilter(){return this.state.filter}setFilter(n=!1){this.state.filter.active=n,this.state.filter.pagination=n&&this.state.filter.pagination,this.isGeoLayer()&&this.state.filter.active&&this.hideOlSelectionFeatures(),this.isGeoLayer()&&!this.state.filter.active&&this.updateMapOlSelectionFeatures()}async applyFilter(n){this.providers.filtertoken&&((this.state.filter.current===null||n.fid!==this.state.filter.current.fid)&&(await this.clearSelectionFids(),U.closeContent()),await this._applyFilterToken(n))}async _applyFilterToken(n){try{let i=await ht.get({url:this.providers.filtertoken._layer.getUrl("filtertoken"),params:{mode:"apply",fid:n.fid}});if(!i||!i.result||!i.data)return;this.setFilter(!1),this.state.filter.current=n,this.setFilterToken(i.data.filtertoken)}catch(i){console.warn(i)}}saveFilter(){if(!this.providers.filtertoken||!this.selectionFids.size>0)return;let n=this;u_({label:He("layer_selection_filter.tools.savefilter"),value:n.state.filter.current?n.state.filter.current.name:"",callback:async i=>{let r=await ht.get({url:n.providers.filtertoken._layer.getUrl("filtertoken"),params:{mode:"save",name:i}});if(!r||!r.result||!r.data)return;let o=n.state.filters.find(u=>r.data.fid===u.fid);o===void 0&&(o={fid:r.data.fid,name:r.data.name},n.state.filters.push(o)),n.state.filter.current=o,n.setFilter(!1),n.getSelection().active=!1,n.selectionFids.clear(),n.isGeoLayer()&&n.setOlSelectionFeatures(),n.emit("unselectionall",n.getId())}})}async toggleFilterToken(){this.setFilter(!this.state.filter.active);let n=this.state.filter.current,i=this.state.filter.active;return i&&await this.createFilterToken(),n&&!i&&await this.applyFilter(this.state.filter.current),!n&&!i&&await this.deleteFilterToken(),this.state.filter.active}async deleteFilterToken(n){try{if(!this.providers.filtertoken)return;let i;try{let r=await ht.get({url:this.providers.filtertoken._layer.getUrl("filtertoken"),params:{fid:n,mode:n===void 0?"delete":"delete_saved"}});r&&r.result&&r.data&&(i=r.data.filtertoken)}catch(r){console.warn(r)}n!==void 0&&(this.state.filters=this.state.filters.filter(r=>n!==r.fid)),this.state.filter.current=null,this.state.filter.active&&this.setFilter(!1),this.setFilterToken(i)}catch(i){console.warn(i)}}setFilterToken(n=void 0){V.tokens.filtertoken=n,this.setFilter(!!n),this.emit("filtertokenchange",{layerId:this.getId()})}async createFilterToken(){try{let n=this.providers.filtertoken,i=this.selectionFids;if(!n||!i.size>0)return;if(i.has(ni.ALL)){try{await ht.get({url:this.providers.filtertoken._layer.getUrl("filtertoken"),params:{fid:void 0,mode:"delete"}})}catch(u){console.warn(u)}this.setFilterToken(null);return}let r=Array.from(i),{data:o={}}=await ht.post({url:n._layer.getUrl("filtertoken"),contentType:"application/json",data:JSON.stringify(i.has(ni.EXCLUDE)?{fidsout:r.filter(u=>u!==ni.EXCLUDE).join(",")}:{fidsin:r.join(",")})});this.setFilterToken(o.filtertoken)}catch(n){console.warn(n)}}getFilterToken(){return V.tokens.filtertoken}setSelectionFidsAll(){this.selectionFids.clear(),this.selectionFids.add(ni.ALL),this.isGeoLayer()&&(Object.values(this.olSelectionFeatures).forEach(n=>n.selected=!0),this.updateMapOlSelectionFeatures()),this.setSelection(!0),this.state.filter.active&&this.createFilterToken()}getSelectionFids(){return this.selectionFids}invertSelectionFids(){let n=this.selectionFids;n.has(ni.EXCLUDE)?n.delete(ni.EXCLUDE):n.has(ni.ALL)?n.delete(ni.ALL):n.size>0&&n.add(ni.EXCLUDE),this.isGeoLayer()&&this.setInversionOlSelectionFeatures(),this.state.filter.active&&this.createFilterToken(),this.setSelection(n.size>0)}hasSelectionFid(n){let i=this.selectionFids;return i.has(ni.ALL)?!0:i.has(ni.EXCLUDE)?!i.has(n):i.has(n)}async includeSelectionFid(n,i=!0){let r=this.selectionFids,o=r.has(ni.EXCLUDE)&&r.has(n);o&&r.delete(n),o||r.add(n),o&&r.size===1&&this.setSelectionFidsAll(),!o&&!this.isSelectionActive()&&this.setSelection(!0),this.isGeoLayer()&&this.setOlSelectionFeatureByFid(n,o?"remove":"add"),i&&this.state.filter.active&&await this.createFilterToken()}async excludeSelectionFid(n,i=!0){let r=this.selectionFids;(r.has(ni.ALL)||r.size===0)&&(r.clear(),r.add(ni.EXCLUDE)),r.has(ni.EXCLUDE)?r.add(n):r.delete(n),r.size===0&&this.clearSelectionFids(),r.size===1&&r.has(ni.EXCLUDE)&&(r.clear(),this.setselectionFidsAll()),this.isGeoLayer()&&this.setOlSelectionFeatureByFid(n,r.has(ni.EXCLUDE)?r.has(n):r.has(n)?"add":"remove"),i&&this.state.filter.active&&await this.createFilterToken()}async includeSelectionFids(n=[],i=!0){n.forEach(r=>this.includeSelectionFid(r,!1)),i&&this.state.filter.active&&await this.createFilterToken()}async excludeSelectionFids(n=[],i=!0){n.forEach(r=>this.excludeSelectionFid(r,!1)),i&&this.state.filter.active&&await this.createFilterToken()}async clearSelectionFids(){this.selectionFids.clear(),this.isGeoLayer()&&(Object.values(this.olSelectionFeatures).forEach(n=>n.selected=!1),this.updateMapOlSelectionFeatures()),await this.setSelection(!1)}getProxyData(n){return n?this.proxyData[n]:this.proxyData}setProxyData(n,i={}){this.proxyData[n]=i}clearProxyData(n){this.proxyData[n]=null}async getDataProxyFromServer(n="wms",i={}){try{let{response:r,data:o}=await Ht.getData(`proxy:${n}`,{inputs:i,outputs:!1});return this.setProxyData(n,JSON.parse(o)),r}catch(r){console.warn(r)}}changeProxyDataAndReloadFromServer(n="wms",i={}){return Object.keys(i).forEach(r=>{Object.keys(i[r]).forEach(o=>{this.proxyData[n][r][o]=i[r][o]})}),this.getDataProxyFromServer(n,this.proxyData[n])}isInEditing(){return this.state.inediting}setInEditing(n=!1){this.state.inediting=n}getSearchParams(){return this.config.searchParams}getSearchEndPoint(){return console.warn("getSearchEndPoint is deprecated"),"api"}setAttributeTablePageLength(n){this.state.attributetable.pageLength=n}getAttributeTablePageLength(){return this.state.attributetable.pageLength}getWMSLayerName(){return this.isWmsUseLayerIds()?this.getId():this.getName()}isWmsUseLayerIds(){return this.config.wms_use_layer_ids}getSourceType(){return this.config.source?this.config.source.type:null}isGeoLayer(){return this.state.geolayer}getDataTable({page:n=null,page_size:i=null,ordering:r=null,search:o=null,suggest:u=null,formatter:c=0,custom_params:f={},field:p,in_bbox:g}={}){return Wt(async()=>{if(!this.getProvider("filter")&&!this.getProvider("data"))return Promise.reject();let d=await sn(this.getProvider("data").getFeatures({editing:!1},{...f,field:p,page:n,page_size:i,ordering:r,search:o,formatter:c,suggest:u,in_bbox:g,filtertoken:V.tokens.filtertoken})),v=d.data.features&&d.data.features||[],y=this.getAttributes()||[],S=v.length?v[0].properties:[];return{features:v,headers:y&&y.length>0?y.filter(w=>Object.keys(S).indexOf(w.name)>-1):Object.keys(S).filter(w=>oo.indexOf(w)===-1).map(w=>({name:w,label:w})),title:this.getTitle(),count:d.count}})}async getFeatureByFids({fids:n=[],formatter:i=0}={}){let r=this.getUrl("data");try{let o=await ht.get({url:r,params:{fids:n.toString(),formatter:i}});if(o&&o.result&&o.vector&&o.vector.data)return o.vector.data.features}catch(o){console.warn(o)}}searchFeatures(n={},i={}){let{search_endpoint:r=this.config.search_endpoint}=n;return new Promise(async(o,u)=>{switch(r){case"ows":this.search(n,i).then(c=>{o({data:c})}).fail(c=>{console.warn(c),u(c)});break;case"api":try{o(await this.getFilterData({queryUrl:n.queryUrl,field:n.filter,ordering:n.ordering,unique:n.unique,raw:n.raw!==void 0?n.raw:!1,suggest:n.suggest,formatter:n.formatter!==void 0?n.formatter:1,autofilter:n.autofilter,page:n.page,page_size:n.page_size}))}catch(c){console.warn(c),u(c)}break}})}async getFilterData({raw:n=!1,suggest:i,field:r,unique:o,fformatter:u,ffield:c,formatter:f=1,queryUrl:p,ordering:g,autofilter:d,page:v,page_size:y}={}){let S=this.getProvider("data");S._projections=S._projections||{map:null,layer:null};let w={field:r,suggest:i,ordering:g,formatter:f,unique:o,fformatter:u,ffield:c,filtertoken:V.tokens.filtertoken,autofilter:d,page:v,page_size:y};try{let E=p||S._layer.getUrl("data"),I=r?await ht.post({url:E,contentType:"application/json",data:JSON.stringify(w)}):await ht.get({url:E,params:w});if(S._layer.getType()!=="table"&&(S._projections.map=S._layer.getMapProjection()||S._projections.layer),n)return I;if(o&&I.result)return I.data;if(u&&I.result)return I;if(I.result)return{data:bs.get("application/json")({layers:[S._layer],response:I.vector.data,filtertoken:I.filtertoken,projections:S._projections}),count:I.vector.count}}catch(E){return console.warn(E),Promise.reject(E)}return Promise.reject()}search(n={},i={}){n={...n,feature_count:n.feature_count||10,...this.config.searchParams,...i};let r=this.getProvider("search");return Wt(async()=>r?await sn(r.query(n)):Promise.reject(He("sdk.search.layer_not_searchable")))}query(n={}){let i=this.getProvider(n.filter?"filter":"query");return Wt(async()=>i?await sn(i.query(n)):Promise.reject(He("sdk.search.layer_not_querable")))}get(n){return this.config[n]?this.config[n]:this.state[n]}getFields(){return this.config.fields}getEditingFields(){return this.config.editing.fields}getTableFields(){return(this.config.fields||[]).filter(n=>n.show)}getTableHeaders(){return this.getTableFields().filter(n=>!oo.includes(n.name))}getProject(){return this.config.project}getConfig(){return this.config}getLayerEditingFormStructure(){return this.config.editor_form_structure}hasFormStructure(){return!!this.config.editor_form_structure}getCustomStyle(){return this.config.customstyle}getState(){return this.state}getSource(){return this.state.source}getEditingLayer(){return this._editingLayer}setEditingLayer(n){this._editingLayer=n}isHidden(){return this.state.hidden}setHidden(n=!0){this.state.hidden=n}getId(){return this.config.id}getMetadata(){return this.state.metadata}getTitle(){return this.config.title}getName(){return this.config.name}getOrigName(){return this.config.origname}getServerType(){return this.config.servertype||"QGIS"}getType(){return this.type}isType(n){return n===this.getType()}setDisabled(n){this.state.disabled=n}isDisabled(){return this.state.disabled}isVisible(){return this.state.visible}setVisible(n){this.state.visible=n}isQueryable(){return!!(this.config.capabilities&&this.config.capabilities&e.CAPABILITIES.QUERYABLE)}getTocHighlightable(){return this.state.tochighlightable}setTocHighlightable(n=!1){this.state.tochighlightable=n}isFilterable(n=null){let i=!!(this.config.capabilities&&this.config.capabilities&e.CAPABILITIES.FILTERABLE);if(i&&n){let r=Object.keys(n).reduce((o,u)=>{let c=this.get(u),f=n[u];return o&&Array.isArray(c)?c.includes(f):f===c},!0);i=i&&r}return i}isQtimeseries(){return this.config.qtimeseries}isEditable(){return!!(this.config.capabilities&&this.config.capabilities&e.CAPABILITIES.EDITABLE)}isBaseLayer(){return this.config.baselayer}getUrl(n){return this.config.urls[n]}setUrl({type:n,url:i}={}){this.config.urls[n]=i}getQueryUrl(){return this.config.urls.query}getQueryLayerOrigName(){return this.state.infolayer&&this.config.infolayer!==""?this.config.infolayer:this.config.origname}getInfoFormat(n){return this.config.qtimeseries===!0||this.getSourceType()==="gdal"?"application/json":this.config.infoformat&&this.config.infoformat!==""&&n!=="wfs"?this.config.infoformat:"application/vnd.ogc.gml"}getInfoFormats(){return this.state.infoformats}getInfoUrl(){return this.config.infourl}setInfoFormat(n){this.config.infoformat=n}getAttributes(){return this.config.fields}changeAttribute(n,i,r){for(let o of this.config.fields)if(o.name===n){o.type=i,o.options=r;break}}getAttributeLabel(n){return(this.getAttributes().find(i=>n===i.name)||{}).label}getProvider(n){return this.providers[n]}getProviders(){return this.providers}getLayersStore(){return this._layersstore}setLayersStore(n){this._layersstore=n}canShowTable(){return this.config.not_show_attributes_table||this.isBaseLayer()?!1:this.getServerType()==="QGIS"&&["postgres","oracle","wfs","ogr","mssql","spatialite"].includes(this.config.source.type)&&this.isQueryable()?this.getTableFields().length>0:!!(this.getServerType()==="G3WSUITE"&&this.get("source").type==="geojson"||this.getServerType()!=="G3WSUITE"&&this.isFilterable())}changeFieldType({name:n,type:i,options:r={},reset:o=!1}={}){let u=this.getFields().find(c=>n===c.name);if(u&&o)return u.type=u._type,delete u._type,delete u[`${i}options`],u.type;if(u&&!o)return u._type=u.type,u.type=i,u[`${i}options`]=r,u._type}changeConfigFieldType({name:n,type:i,options:r={},reset:o=!1}){return this.changeFieldType({name:n,type:i,options:r,reset:o})}clear(){}isVector(){return e.LayerTypes.VECTOR===this.getType()}isTable(){return e.LayerTypes.TABLE===this.getType()}getFeatureCount(){return this.state.featurecount}async getStyleFeatureCount(n){if(this.state.stylesfeaturecount!==void 0){if(this.state.stylesfeaturecount[n]===void 0)try{let{result:i,data:r}=await ht.post({url:`${this.config.urls.featurecount}${this.getId()}/`,data:JSON.stringify({style:n}),contentType:"application/json"});this.state.stylesfeaturecount[n]=i===!0?r:{}}catch(i){cansole.warn(i),this.state.stylesfeaturecount[n]={}}return this.state.stylesfeaturecount[n]}}getFormat(){return this.config.format||V.project.state.wms_getmap_format||"image/png"}openAttributeTable(n={}){new(Vue.extend(UR))({...n,layerId:this.state.id})}};ai.LayerTypes={TABLE:"table",IMAGE:"image",VECTOR:"vector"};ai.CAPABILITIES={QUERYABLE:1,FILTERABLE:2,EDITABLE:4}});function cp({field:e,value:n,operator:i="eq",logicop:r="OR"}){return[].concat(n).map(o=>`${e}|${i.toLowerCase()}|${encodeURIComponent(o)}`).join(`|${r},`)}function YV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputSelect.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Xx(){let e=Xx.styles||(Xx.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var LV,TV,NV,RV,MV,AV,OV,FV,UR,VR=W(()=>{Nt();qs();vt();zx();bt();zi();rr();Go();bn();_r();Bn();ln();LV={name:"G3WTable",mixins:[vr],components:{Field:d_},data(){let e=st(this.$options.layerId);return{layer:e,state:{features:[],headers:[null,...e.getTableHeaders()],geometry:!0,allfeatures:0,selectAll:!1,nofilteredrow:!1,show_tools:!1,geolayer:{active:!1,in_bbox:void 0}},relations:(e.isGeoLayer()?[]:e.getRelations().getArray()).map(n=>[n,st(n.getFather())]).filter(([n,i])=>e.getId()!==n.getFather()&&i.isGeoLayer()).map(([n,i])=>({layer:i,father_fields:n.getFatherField(),fields:n.getChildField(),features:{}})),filter:[],has_map:!0,async_highlight:()=>{},getAll:!1,search:{},firstCall:!0,map_bbox:{key:null,cb:null},disableSelectAll:!1}},computed:{has_features(){return!!this.state.features.length},current_layout(){return V.gui.layout[V.gui.layout.__current]}},methods:{toggleFilterToken(e){e.state.filter.active&&!e.selectionFids.has("__ALL__")&&(this.state.selectAll=!1,this.selectAllRows()),e.toggleFilterToken()},editFeature(e){$(".tooltip").remove(),U.getService("queryresults").editFeature({layer:{id:this.layer.getId()},feature:e})},async openForm(e){$(".tooltip").remove();try{await sn(Ht.getData("search:fids",{inputs:{layer:this.layer,fids:[e.id],formatter:1}})),e.geometry&&U.getService("map").zoomToGeometry(BR(e.geometry))}catch(n){console.warn(n)}},get_check_id(e){return e&&(this.get_check_id.cached_id=ut()),this.get_check_id.cached_id},async getDataFromBBOX(){let e=U.getService("map");this.state.geolayer.active=!this.state.geolayer.active;let n=this.state.geolayer.active;n&&(this.map_bbox.cb=()=>{this.state.geolayer.in_bbox=this.state.geolayer.active?e.getMapBBOX().join(","):void 0,$(this.$refs.attribute_table).DataTable().ajax.reload()}),n&&(this.map_bbox.key=e.getMap().on("moveend",this.map_bbox.cb)),this.map_bbox.cb&&this.map_bbox.cb(),n||(ol.Observable.unByKey(this.map_bbox.key),this.map_bbox.key=null,this.map_bbox.cb=null)},checkSelectAll(){this.state.selectAll=this.layer.getSelectionFids().has(ni.ALL)||this.state.features.every(e=>e.selected)},async inverseSelection(){this.getAll||await this.getFeatures(),this.state.features.forEach(e=>e.selected=!e.selected),this.layer.invertSelectionFids(),this.checkSelectAll()},async selectAllRows(){this.state.selectAll=!this.state.selectAll;let e=this.filter.length>0;e||(this.getAll||await this.getFeatures(),this.state.features.forEach(n=>n.selected=this.state.selectAll),await this.layer[this.state.selectAll?"setSelectionFidsAll":"clearSelectionFids"]()),e&&(this.state.selectAll?this.state.features.filter(n=>this.filter.includes(n.id)).forEach(n=>{n.selected=!0,this.layer.includeSelectionFid(n.id)}):(this.state.features.forEach(n=>n.selected=!1),this.layer.clearSelectionFids())),this.state.show_tools=this.state.features.some(n=>n.selected)},async highlight(e,n=!0){let i=U.getService("map");if(!e||!e.geometry)return i.clearHighlightGeometry();if(this.async_highlight=()=>{i.clearHighlightGeometry(),i.highlightGeometry(e.geometry,{zoom:n,duration:1/0})},e.geometry&&this.has_map)return this.async_highlight();if(e.geometry||!e.geometry&&!this.relations.length>0)return;let r=[],o=[];(await Promise.allSettled(this.relations.flatMap(({layer:u,father_fields:c,fields:f})=>{let p=f.map(g=>e.attributes[g]);return o.push(p),n?Ht.getData("search:features",{inputs:{layer:u,formatter:1,filter:c.map((g,d)=>`${g}|eq|${encodeURIComponent(p[d])}`).join("|AND,")},outputs:!1}):[]}))).forEach((u,c)=>{if(u.status==="fulfilled"){let f=this.relations[c],p=o[c].join("__"),g=u.value&&u.value.data[0];f.features[p]===void 0&&(f.features[p]=g&&g.features||[]),r.push(...f.features[p])}n?i.zoomToFeatures(r,{highlight:!0}):i.highlightFeatures(r)})},select(e){e.selected=!e.selected,this.state.selectAll=this.state.features.every(n=>n.selected),this.layer[e.selected?"includeSelectionFid":"excludeSelectionFid"](e.id),this.state.show_tools=this.layer.getSelectionFids().size>0},async resize(){await this.$nextTick();let e=this.$el.querySelector("div.dataTables_scrollBody");e&&(e.style.height=U.isMobile()?"100%":((document.querySelector(".content")||{}).clientHeight||0)-((this.$el.querySelector("div.dataTables_scrollHeadInner")||{}).clientHeight||0)-100+"px"),$(this.$refs.attribute_table).DataTable().columns.adjust()},async getFeatures(e){try{U.setLoadingContent(!0);let n=await sn(this.layer.getDataTable(e||{})),i=this.layer.isGeoLayer()&&n.features;if(i&&!e){let r=this.state.features.map(o=>o.id);n.features.filter(o=>o.geometry&&!r.includes(o.id)).forEach(o=>this.layer.addOlSelectionFeature($R(o))),this.getAll=!0}if(i)return n.features}catch(n){return console.warn(n),Promise.reject()}finally{U.setLoadingContent(!1)}},async getData({start:e=0,order:n=[],length:i=this.layer.getAttributeTablePageLength()||oo[1],columns:r=[],search:o={value:null}}={}){if(U.setLoadingContent(!0),this.layer.setAttributeTablePageLength(i),this.state.headers.length===0)return{data:[],recordsTotal:0,recordsFiltered:0};this.state.features.splice(0),n.length===0&&n.push({column:1,dir:"asc"}),this.search={field:r.filter(u=>u.search&&u.search.value).map(u=>`${u.name}|ilike|${u.search.value}|and`).join(",")||void 0,page:e===0||this.layer.state.filter.active?1:e/i+1,page_size:i,search:o.value&&o.value.length>0?o.value:null,in_bbox:this.state.geolayer.in_bbox,ordering:(n[0].dir==="asc"?"":"-")+this.state.headers[n[0].column].name,formatter:1};try{let u=await sn(this.layer.getDataTable(this.search));return this.state.allfeatures=u.count,this.state.featurescount=(u.features||[]).length,this.state.features.push(...(u.features||[]).map(c=>(this.layer.isGeoLayer()&&c.geometry&&!this.layer.getOlSelectionFeature(c.id)&&this.layer.addOlSelectionFeature($R(c)),{id:c.id,selected:this.layer.getFilterToken()||this.layer.hasSelectionFid(c.id),attributes:c.attributes||c.properties,geometry:this.layer.isGeoLayer()&&c.geometry||void 0}))),this.state.show_tools=this.layer.state.filter.active||this.layer.getSelectionFids().size>0,this.state.selectAll=this.layer.state.filter.active||this.state.features.every(c=>c.selected),{data:this.state.features.map(c=>[null].concat(this.state.headers.filter(f=>f).map(f=>(f.value=(c.attributes||c.properties)[f.name],f.value)))),recordsFiltered:u.count,recordsTotal:u.count,filter:this.state.features.map(c=>c.id)}}catch(u){return console.warn(u),U.notify.error(He("info.server_error")),Promise.reject(u)}finally{U.setLoadingContent(!1)}},unSelectAll(){this.state.features.forEach(e=>e.selected=!1),this.state.show_tools=!1,this.state.selectAll=!1},onGUIContent(e={}){this.has_map=e.perc!==100},filterChangeHandler(){$(this.$refs.attribute_table).DataTable().ajax.reload()}},beforeCreate(){this.delayType="debounce"},async created(){this.unSelectAll=this.unSelectAll.bind(this),this.onGUIContent=this.onGUIContent.bind(this),U.onbefore("setContent",this.onGUIContent),this.layer.on("unselectionall",this.unSelectAll),this.layer.on("filtertokenchange",this.filterChangeHandler),U.closeSideBar(),this.current_layout.rightpanel.height=55,U.showContent({content:new zt({id:"openattributetable",service:{state:this.state},internalComponent:this}),split:U.isMobile()?"h":"v",push:!1,title:this.layer.getTitle(),text:!0}),this.isMobile()&&U.hideSidebar()},async mounted(){this.last_map_control=U.getService("map").getMapControls().find(o=>o.control.isToggled&&o.control.isToggled()),this.last_map_control&&this.last_map_control.control.toggle(),this.setContentKey=U.onafter("setContent",this.resize),await this.$nextTick();let e,n={},i=$(this.$refs.attribute_table).DataTable({ajax:Li(async(o,u)=>{try{U.disableContent(!0);let c=await this.getData(o);u(c),this.disableSelectAll=this.state.features.length===0,e&&e(c.filter),await this.$nextTick(),i.columns.adjust()}catch(c){console.warn(c)}U.disableContent(!1)},800),bSortCellsTop:!0,columns:this.state.headers,columnDefs:[{orderable:!1,searchable:!1,targets:0,width:"1%"}],deferLoading:this.state.allfeatures,dom:'frt<"#g3w-table-toolbar">lip',lengthMenu:oo,order:[1,"asc"],pageLength:this.layer.getAttributeTablePageLength()||oo[1],processing:!1,responsive:!0,scrollCollapse:!0,scrollX:!0,serverSide:!0,sSearch:!1});this.changeColumn=Li(async(o,u)=>{let c=o.target.value.trim();i.one("draw",async()=>{n[u]=c,this.disableSelectAll=this.state.features.length===0,this.filter=Object.values(n).find(f=>f)?await new Promise(f=>e=f):[]}),i.columns(u).search(c).draw()});let r=document.createDocumentFragment();r.appendChild(this.$refs.table_toolbar),document.getElementById("g3w-table-toolbar").appendChild(r),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_info")),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_filter")),document.getElementById("table_body_attributes").remove(),i.ajax.reload()},async beforeDestroy(){this.last_map_control&&!this.last_map_control.control.isToggled()&&this.last_map_control.control.toggle(),this.last_map_control=null,this.layer.off("unselectionall",this.unSelectAll),this.layer.off("filtertokenchange",this.filterChangeHandler),ol.Observable.unByKey(this.map_bbox.key),this.map_bbox.key=null,this.map_bbox.cb=null,this.highlight(),this.has_map||setTimeout(()=>{this.async_highlight(),this.has_map=!0,this.async_highlight=()=>{}}),U.un("setContent",this.setContentKey),document.querySelector("#g3w-view-content .dataTables_info").remove(),document.querySelector("#g3w-view-content .dataTables_filter").remove(),$(this.$refs.attribute_table).DataTable().destroy(!0)}},TV=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{attrs:{id:"open_attribute_table"}},[i("div",{ref:"table_toolbar",staticStyle:{display:"flex","justify-content":"space-between",padding:"1px"}},[e.layer.isGeoLayer()?i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:e.state.geolayer.active&&e.current_layout.rightpanel.height_100,expression:"state.geolayer.active && current_layout.rightpanel.height_100"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.show_features_on_map",expression:"'layer_selection_filter.tools.show_features_on_map'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[e.$fa("map"),e.state.geolayer.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.getDataFromBBOX.apply(null,arguments)}}}):e._e(),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.clear",expression:"'layer_selection_filter.tools.clear'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:e.$fa("clear"),attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.layer.clearSelectionFids()}}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.invert",expression:"'layer_selection_filter.tools.invert'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[e.$fa("invert"),e.layer.state.filter.active?"g3w-disabled":""],attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.inverseSelection.apply(null,arguments)}}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.filter",expression:"'layer_selection_filter.tools.filter'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[e.$fa("filter"),e.layer.state.filter.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(r){return r.stopPropagation(),e.toggleFilterToken(e.layer)}}})]),e._v(" "),e.state.headers.length?i("table",{ref:"attribute_table",staticClass:"table table-striped row-border compact nowrap",attrs:{id:"layer_attribute_table"}},[i("thead",[i("tr",[i("th"),e._v(" "),e._l(e.state.headers,function(r,o){return o>0?i("th",[e._v(e._s(r.label))]):e._e()})],2),e._v(" "),i("tr",[i("th",{directives:[{name:"disabled",rawName:"v-disabled",value:e.disableSelectAll,expression:"disableSelectAll"}]},[i("input",{staticClass:"magic-checkbox",attrs:{type:"checkbox",id:"attribute_table_select_all_rows"},domProps:{checked:e.state.selectAll}}),e._v(" "),i("label",{attrs:{for:"attribute_table_select_all_rows"},on:{"!click":function(r){return r.stopPropagation(),r.preventDefault(),e.selectAllRows.apply(null,arguments)}}},[e._v("\xA0")])]),e._v(" "),e._l(e.state.headers,function(r,o){return o>0?i("th",[i("input",{staticClass:"form-control column-search",attrs:{type:"text",placeholder:r.name,title:"search by "+r.name},on:{keyup:function(u){return e.changeColumn(u,o)}}})]):e._e()})],2)]),e._v(" "),i("tbody",{attrs:{id:"table_body_attributes",hidden:""}}),e._v(" "),i("tbody",{ref:"table_body",on:{mouseleave:function(r){return e.highlight()}}},e._l(e.state.features,function(r,o){return i("tr",{key:r.id,class:[o%2==1?"odd":"pair","feature_attribute",{geometry:!!r.geometry},{selected:r.selected}],attrs:{role:"row"},on:{mouseover:function(u){return e.highlight(r,!1)},click:function(u){return u.stopPropagation(),e.highlight(r,!0)}}},[i("td",[i("div",{staticStyle:{display:"flex"}},[i("input",{staticClass:"magic-checkbox",attrs:{type:"checkbox",id:e.get_check_id(!0)},domProps:{checked:r.selected}}),e._v(" "),i("label",{attrs:{for:e.get_check_id(!1)},on:{"!click":function(u){return u.stopPropagation(),u.preventDefault(),e.select(r)}}}),e._v(" "),i("i",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.tooltips.relations.row_to_form",expression:"'sdk.tooltips.relations.row_to_form'",arg:"top",modifiers:{create:!0}}],class:"action-button skin-color "+e.$fa("table"),on:{click:function(u){return u.stopPropagation(),e.openForm(r)}}}),e._v(" "),e.layer.state.geolayer&&!r.geometry?i("i",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"no_geometry",expression:"'no_geometry'",arg:"top",modifiers:{create:!0}}],class:"action-button "+e.$fa("alert"),staticStyle:{color:"currentColor !important"}}):e._e(),e._v(" "),e.layer.isEditable()&&e.layer.config.editing.visible?i("i",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.tooltips.editing",expression:"'sdk.tooltips.editing'",arg:"top",modifiers:{create:!0}}],class:"action-button skin-color "+e.$fa("pencil"),on:{click:function(u){return u.stopPropagation(),e.editFeature(r)}}}):e._e()])]),e._v(" "),e._l(e.state.headers,function(u,c){return c>0?i("td",[i("field",{attrs:{feature:r,state:{label:void 0,value:r.attributes[u.name]}}})],1):e._e()})],2)}),0)]):i("div",{directives:[{name:"t",rawName:"v-t",value:"dataTable.no_data",expression:"'dataTable.no_data'"}],attrs:{id:"noheaders"}})])},NV=[],RV=function(e){e&&(e("data-v-46956175_0",{source:"#open_attribute_table{margin-top:5px}#g3w-table-toolbar{margin:.755em 1ch 0 0;position:relative;bottom:3px;display:inline-flex;border:1px solid #d2d6de;background-color:#fff;float:left}",map:void 0,media:void 0}),e("data-v-46956175_1",{source:".geometry[data-v-46956175]{cursor:pointer}#noheaders[data-v-46956175]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-46956175]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-46956175]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-46956175]{padding:5px}#g3w-table-toolbar .action-button[data-v-46956175]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-46956175]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-46956175]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-46956175]:not(.selected):hover{background-color:rgb(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-46956175]{margin-bottom:0!important}",map:void 0,media:void 0}),e("data-v-46956175_2",{source:"#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:0 0;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}",map:void 0,media:void 0}))},MV="data-v-46956175",AV=void 0,OV=!1;FV=PV({render:TV,staticRenderFns:NV},RV,LV,MV,OV,AV,!1,Gx,void 0,void 0),UR=FV});function op(e){return typeof e=="string"&&Number.isNaN(1*e)&&(e=e.split("."),e=e.at(e.length===2?1:0)),e}var $x=W(()=>{});function Bx(e){return e.setCoordinates(WR(e.getCoordinates())),e}function WR(e){return e.find(n=>{if(!Array.isArray(n)){let[i,r]=e;return e[0]=r,e[1]=i,!0}WR(n)}),e}var HR=W(()=>{});var Vr,ap=W(()=>{Nt();bn();Vr=class e extends ol.Feature{constructor(n={}){super(),this.state={new:!1,state:null,visible:!0},this._uid=ut(),this._geometry=!1,n.feature&&n.properties&&Array.isArray(n.properties)?n.properties.forEach(o=>this.set(o,n.feature.get(o))):n.feature&&this.setProperties(n.feature.getProperties()),n.feature&&(this.setId(n.feature.getId()),this.setGeometryName(n.feature.getGeometryName()));let i=n.feature&&n.feature.getGeometry();i&&(this._geometry=!0,this.setGeometry(i));let r=this.getStyle();r&&this.setStyle(r)}getUid(){return this._uid}isGeometry(){return this._geometry}cloneNew(n){let i=this.clone();return i._uid=ut(),i.setTemporaryId(),n&&n.editable===!1&&i.set(n.name,null),i}clone(){let n=super.clone();n.setId(this.getId()),this.isGeometry()&&n.setGeometry(n.getGeometry().clone());let i=new e({feature:n});return i._uid=this.getUid(),i.setState(this.getState()),this.isNew()&&i.setNew(),i}setTemporaryId(){this.setId(`_new_${ut()}`),this.setNew()}setNew(){this.state.new=!0}delete(){return this.state.state="delete",this}update(){return this.state.state="update",this}add(){return this.state.state="add",this}isNew(){return this.state.new}isAdded(){return this.state.state==="add"}isUpdated(){return this.state.state==="update"}isDeleted(){return this.state.state==="delete"}setState(n){this.state.state=n}getState(){return this.state.state}getAlphanumericProperties(){return Object.entries(this.getProperties()).filter(([n,i])=>!gu.GEOMETRY_FIELDS.includes(n)).reduce((n,[i,r])=>(n[i]=r,n),{})}clearState(){this.state.state=null,this.state.new=!1}isVisible(){return this.state.visible}setVisible(n=!0){this.state.visible=n}}});function Vx(e,n="server_saver_error"){try{let i=Object.entries(e),r=i.find(([u,c])=>u==="fields"),[,o]=r||i[0];if(!r&&!Array.isArray(o)&&typeof o=="object")return Vx(o,n);if(r&&typeof o=="string"&&(n=`[${i.find(([u])=>u!=="fields")[0]}] ${o}`),r&&typeof o!="string"&&(n=Object.entries(o).reduce((u,[c,f])=>`${u}${c} ${Array.isArray(f)?f[0]:f} +`,"")),r)return n.replace(/\:|\./g,"")}catch(i){console.warn(i)}}var Ux,vs,h_=W(()=>{Nt();bt();bg();ng();Wy();$x();HR();ap();ln();Object.entries({G3W_FID:Cn,GUI:U,Feature:Vr,t:He,is3DGeometry:Vl,removeZValue:Ph,sanitizeFidFeature:op,reverseGeometry:Bx}).forEach(([e,n])=>console.assert(n!==void 0,`${e} is undefined`));Ux="GIS3W_ESCAPE_NUMERIC_FIELD_",vs={get(e){switch(e){case"g3w-error":return function(n={}){let{error:i}=n;return{parse({type:r="responseJSON"}={}){return r==="responseJSON"&&i&&i.responseJSON&&i.responseJSON.error.message?i.responseJSON.error.message:r==="responseJSON"&&i&&i.errors?Vx(i.errors):r==="String"&&typeof i=="string"?i:r==="String"?Vx(i):He("server_saver_error")}}};case"g3w-table/json":return function(n={}){return(n.features||[]).map(i=>{let r=new Vr;return r.setProperties(i.properties),r.setId(i.id),r})};case"g3w-vector/gml":return function({data:n,layer:i}={}){try{return new ol.format.WMSGetFeatureInfo({layers:i.getQueryLayerOrigName()}).readFeatures(n.substr(0,2)==="--"?n.split(/\r\n--/).filter(r=>/<([^ ]*)FeatureCollection/.test(r)||/<([^ ]*)msGMLOutput/.test(r)).map(r=>r.substr(r.indexOf("({layer:p,features:[],filtertoken:u})),f=r.map(p=>o?p.getWMSLayerName():p.getWFSLayerName());return(n?new ol.format.GeoJSON({geometryName:"geometry",defaultDataProjection:i.layer||i.map}).readFeatures(n):[]).filter(p=>{let g=p.getId(),d=op(g),v=g==d?0:f.indexOf(g);if(v===-1)return!1;let y=p.getProperties();p.set(Cn,d),c[v].layer.getFields().filter(S=>S.show&&y[S.name]===void 0&&y[S.label]!==void 0).forEach(S=>p.set(S.name,y[S.label])),c[v].features.push(p)}),c};case"application/geojson":return function({layers:n,response:i}={}){return i?n.map(r=>({layer:r,features:vs.get("g3w-vector/geojson")(i,{})})):[]};case"text/plain":case"text/html":return function({layers:n,response:i}={}){return n.map(r=>({layer:r,rawdata:i}))};case"text/gml":return function({layers:n,response:i}){return n.map(r=>({layer:r,features:vs.get("g3w-vector/gml")({data:i,layer:n[0]})}))};case"application/vnd.ogc.gml":return function({response:n,projections:i,layers:r,wms:o=!0}={}){n&&typeof n!="string"&&!(n instanceof String)&&(n=new XMLSerializer().serializeToString(n)),n&&(n=r.reduce((p,g,d)=>{let v=(o&&g.isWmsUseLayerIds()?g.getId():g.getName()).replace(/[\s'()/]+/g,y=>/\s/g.test(y)&&!o?"_":"");return o||(v=v.replace(/[/\\]+/g,"").replaceAll(":","-")),p.replace(new RegExp(`qgs:${v}`,"g"),`qgs:layer${d}`)},n));let u=n&&Array.from(n.matchAll(/qgs:(\d+(?:\.\d+)?)(\w+)|qgs:(\w+):(\w+)/g)).filter((p,g)=>g%2===0);u&&(n=u.reduce((p,g)=>p.replace(new RegExp(g[0],"g"),`qgs:${Ux}${g[1]}${g[2]}`),n)),n&&(n=n.replace(new RegExp("\0","g"),"0"));let c=[],f;try{if(f=new DOMParser().parseFromString(n,"text/xml"),!f.querySelector("FeatureCollection > featureMember"))throw"no features in response";r.forEach((p,g)=>{let d=f.cloneNode(!0),v=[],y=[...d.querySelectorAll(`FeatureCollection > featureMember > layer${g}`)];if(y.forEach(w=>{let E=(w.getAttribute("fid")||".").split(".")[1];if(E){let I=d.createElement("gml:"+Cn);w.setAttribute("fid",E),I.textContent=E,w.appendChild(I)}v.push(w.parentNode)}),y.length>1){let w=ec(y,E=>Object.values(E.children).map(I=>I.nodeName));Object.keys(w).length>1&&Object.keys(w).forEach((E,I)=>w[E].forEach((O,H)=>{let X=d.createElement(`qgs:layer${I}_${H}`);for([...O.attributes].map(({name:z,value:Z})=>{X.setAttribute(z,Z)});O.firstChild;)X.appendChild(O.firstChild);let re=d.createElement("gml:featureMember");re.appendChild(X),O.parentNode.insertAdjacentElement("beforebegin",re),O.parentNode.children.length===1?O.parentNode.parentNode.removeChild(O.parentNode):O.parentNode.removeChild(O),v.push(re)}))}d.querySelectorAll("FeatureCollection > featureMember").forEach(w=>{v.includes(w)||w.parentNode.removeChild(w)}),v=new ol.format.WMSGetFeatureInfo().readFeatures(d.documentElement.outerHTML);let S=i.layer&&i.layer.getCode()!==i.map.getCode()&&v.length&&!!v[0].getGeometry();if(v.length&&u){let w=Object.keys(v[0].getProperties()).filter(E=>E.indexOf(Ux)!==-1);v.forEach(E=>{w.forEach(I=>{let O=u.find(H=>`${H[1]}${H[2]}`===I.replace(Ux,""));E.set(O[0].replace("qgs:",""),[].concat(E.get(I))[0]),E.unset(I)})})}S&&v.forEach(w=>w.setGeometry(w.getGeometry().transform(i.layer.getCode(),i.map.getCode()))),S&&(i.layer||i.map).getAxisOrientation().substr(0,2)==="ne"&&v.forEach(w=>w.setGeometry(Bx(w.getGeometry()))),p.isGeoLayer()&&!Vl(p.getGeometryType())&&v.forEach(w=>Ph({feature:w})),c.unshift({layer:p,features:v})})}catch(p){console.warn(p)}return f.querySelector("ServiceException")&&U.showUserMessage({type:"warning",textMessage:!0,message:`${r[0].getName()} - ${f.querySelector("ServiceException").innerText}`}),c};default:return function({layers:n=[]}={}){return n.map(i=>({layer:i,rawdata:He("warning.not_supported_format")}))}}}}});function vd(e){let n,i;return(e.getCategories()||[]).forEach(({checked:r,_checked:o,ruleKey:u})=>{r!==o&&(r?n=(n===void 0?`${e.getWMSLayerName()}:`:`${n},`)+u:i=(i===void 0?`${e.getWMSLayerName()}:`:`${i},`)+u)}),{LEGEND_ON:n,LEGEND_OFF:i}}var Wx=W(()=>{});function lp({layer:e={},relation:n={},fid:i,type:r="data",formatter:o=1,page:u,page_size:c}){return`${V.project.getLayerById(n.father===void 0?e.id===n.referencedLayer?n.referencingLayer:n.referencedLayer:e.id===n.father?n.child:n.father).getUrl(r)}?relationonetomany=${n.id}|${op(i)}&formatter=${o}${u?"&page="+u:""}${c?"&page_size="+c:""}`}var Hx=W(()=>{vt();$x()});var YR={};hi(YR,{Layer:()=>ai});function vc(e,n){let i=new DV[e];return Object.assign(i,{_name:e,_layer:n,getLayer:()=>i._layer,setLayer:r=>i._layer=r,getFeatures:i.getFeatures||(()=>console.log("overwriteby single provider")),query:i.query||(()=>console.log("overwriteby single provider")),getName:()=>i._name})}var f_,DV,Yx,ai,bc=W(()=>{Nt();vt();zi();bt();Yn();_r();yc();xi();qx();VR();h_();Wx();Hx();ap();ln();f_=e=>e!==void 0;DV={geojson:class{query(){return Wt(Promise.resolve([]))}getFeatures(e={}){return Wt(async()=>new ol.format.GeoJSON().readFeatures(e.data||(await ht.get({url:e.url||this._layer.get("source").url})).results,{featureProjection:e.mapProjection,dataProjection:e.projection||"EPSG:4326"}))}},qgis:class{query(e={}){return this._projections=this._projections||{map:null,layer:null},Wt(async()=>{let n=this._layer.getType()==="table";n||(this._projections.map=this._layer.getMapProjection()||this._projections.layer);let i=e.layers?e.layers.map(c=>c.getWMSLayerName()).join(","):this._layer.getWMSLayerName();if(!e.filter)return Promise.reject();let r=[].concat(e.filter).map(c=>({type:c._type||c.type,value:c._filter||c.value}));r[0].type!=="geometry"&&(this._projections.layer=null),r=r.filter(c=>c.value);let o=await ht.get({url:e.queryUrl||this._layer.getUrl("query"),params:{SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",filtertoken:V.tokens.filtertoken,LAYERS:i,QUERY_LAYERS:i,INFO_FORMAT:this._layer.getInfoFormat()||"application/vnd.ogc.gml",FEATURE_COUNT:e.feature_count||10,CRS:n?V.map.epsg:this._projections.map.getCode(),I:e.I,J:e.J,FILTER:r.length?r.map(c=>c.value).join(";"):void 0,WITH_GEOMETRY:!n}}),u=e.layers===void 0?[this._layer]:e.layers;return e.raw?o:vs.get(u[0].getInfoFormat())({response:o,projections:this._projections,layers:u,wms:!0})})}getConfig(){return Wt(ht.get({url:this._layer.getUrl("config")}))}getFeatures(e={},n={}){return Object.entries(n).forEach(([i,r])=>{[null,void 0].includes(r)&&delete n[i]}),Wt(async()=>{if(n=new URLSearchParams(n||{}).toString(),n=(n?"?":"")+n,!e.editing){let{vector:i}=await ht.get({url:this._layer.getUrl("data")+n});return{data:i.data,count:i.count}}try{let i;if(e.filter?f_(e.filter.bbox)?i=await ht.post({url:this._layer.getUrl("editing")+n,data:JSON.stringify({in_bbox:e.filter.bbox.join(","),filtertoken:V.tokens.filtertoken}),contentType:"application/json"}):f_(e.filter.fid)?i=await ht.get({url:lp(e.filter.fid)}):e.filter.field?i=await ht.post({url:this._layer.getUrl("editing")+n,data:JSON.stringify(e.filter),contentType:"application/json"}):f_(e.filter.fids)?i=await ht.get({url:this._layer.getUrl("editing")+n,params:e.filter}):f_(e.filter.nofeatures)&&(i=await ht.post({url:this._layer.getUrl("editing")+n,data:JSON.stringify({field:`${e.filter.nofeatures_field||"id"}|eq|__G3W__NO_FEATURES__`}),contentType:"application/json"})):i=await ht.post({url:this._layer.getUrl("editing")+n,contentType:"application/json"}),!i.result)return;let r=i.featurelocks.map(o=>o.featureid);return{count:i.vector.count,featurelocks:i.featurelocks,features:vs.get(`g3w-${this._layer.getType()}/json`)(i.vector.data,i.vector.geometrytype==="NoGeometry"?{}:{crs:this._layer.getCrs()}).filter(o=>r.includes(`${o.getId()}`)).map(o=>new Vr({feature:o}))}}catch(i){console.warn(i)}return Promise.reject({message:He("info.server_error")})})}},wms:class{query(e={}){let{layers:n=[this._layer],size:i=[101,101],coordinates:r=[],resolution:o}=e,u=o*i[0]/2,c=o*i[1]/2,f=[r[0]-u,r[1]-c,r[0]+u,r[1]+c],p=this._layer.getMapProjection()||this._layer.getProjection(),g=e.query_point_tolerance??ja,d=n[0].getQueryUrl(),v=n[0].getOwsMethod(),y=n[0].useProxy(),S=(d||"").split("SOURCE"),w={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",CRS:p.getCode(),LAYERS:(n||[this._layer.getWMSInfoLayerName()]).map(I=>I.getWMSInfoLayerName()).join(","),QUERY_LAYERS:(n||[this._layer.getWMSInfoLayerName()]).map(I=>I.getWMSInfoLayerName()).join(","),filtertoken:V.tokens.filtertoken,INFO_FORMAT:this._layer.getInfoFormat()||"application/vnd.ogc.gml",FEATURE_COUNT:e.feature_count??10,WITH_GEOMETRY:!0,DPI:zo,FILTER_GEOM:g.unit==="map"?new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(r,g.value))):void 0,FI_POINT_TOLERANCE:g.unit==="map"?void 0:g.value,FI_LINE_TOLERANCE:g.unit==="map"?void 0:g.value,FI_POLYGON_TOLERANCE:g.unit==="map"?void 0:g.value,G3W_TOLERANCE:g.unit==="map"?void 0:g.value*o,I:g.unit==="map"?void 0:Math.floor((r[0]-f[0])/o),J:g.unit==="map"?void 0:Math.floor((f[3]-r[1])/o),WIDTH:i[0],HEIGHT:i[1],STYLES:(n||[]).map(I=>I.getStyle()).join(","),BBOX:(p.getAxisOrientation().substr(0,2)==="ne"?[f[1],f[0],f[3],f[2]]:f).join(","),LEGEND_ON:n.flatMap(I=>vd(I).LEGEND_ON).filter(Boolean).join(";")||void 0,LEGEND_OFF:n.flatMap(I=>vd(I).LEGEND_OFF).filter(Boolean).join(";")||void 0,SOURCE:!y&&v==="GET"&&S.length>1?S[1]:void 0},E;return Wt(Promise.race([new Promise(I=>{E=setTimeout(()=>{I({data:(n||[]).map(O=>({layer:O,rawdata:"timeout"})),query:{coordinates:r,resolution:o}})},ji)}),(async()=>{try{let I;if(y)I=await n[0].getDataProxyFromServer("wms",{url:d,params:w,method:v,headers:{"Content-Type":w.INFO_FORMAT}});else if(v==="GET"){let O=(S.length?S[0]:d).replace(/[?&]$/,"");I=await ht.get({url:O+(O.indexOf("?")===-1?"?":"&")+Object.keys(w).filter(H=>![void 0,null].includes(w[H])).map(H=>H+"="+encodeURIComponent(w[H])).join("&")})}else v==="POST"?I=await ht.post({url:d,data:w}):console.warn("unsupported method: ",v);return{data:vs.get(n[0].getInfoFormat())({response:I,layers:n,wms:!0,projections:{map:p,layer:null}}),query:{coordinates:r,resolution:o}}}finally{y||clearTimeout(E)}})()]))}},wfs:class{query(e={},n={}){let i=e.filter||{},r=e.layers||[this._layer],o=`${r[0].getQueryUrl()}/`.replace(/\/+$/,"/"),u=r[0].getOwsMethod();Object.assign(i,{config:i.config||{},type:i._type||i.type,value:i._filter||i.value}),n=Object.assign(n,{SERVICE:"WFS",VERSION:"1.1.0",REQUEST:"GetFeature",MAXFEATURES:e.feature_count??10,TYPENAME:r.map(f=>f.getWFSLayerName()).join(","),OUTPUTFORMAT:r[0].getInfoFormat(),SRSNAME:(e.reproject?r[0].getProjection():this._layer.getMapProjection()).getCode(),FILTER:i.type!=="all"?`(${new ol.format.WFS().writeGetFeature({featureTypes:[""],filter:{bbox:()=>ol.format.filter.bbox("the_geom",i.value),geometry:()=>ol.format.filter[i.config.spatialMethod||"intersects"]("the_geom",i.value),expression:()=>null}[i.type]()}).children[0].innerHTML})`.repeat(r.length||1):void 0});let c;return Wt(Promise.race([new Promise(f=>{c=setTimeout(()=>{f({data:(r||[]).map(p=>({layer:p,rawdata:"timeout"})),query:{}})},ji)}),(async()=>{try{let f;u==="GET"&&!["all","geometry"].includes(i.type)&&(f=await ht.get({url:o+"?"+new URLSearchParams(n||{}).toString()})),(u==="POST"||["all","geometry"].includes(i.type))&&(f=await ht.post({url:o,data:n}));let p=vs.get(r[0].getInfoFormat())({response:f,projections:{map:this._layer.getMapProjection(),layer:e.reproject?this._layer.getProjection():null},layers:r,wms:!1});return p.flatMap(g=>g.features||[]).forEach(g=>Object.entries(g.getProperties()).forEach(([d,v])=>v&&v["xsi:nil"]&&feature.set(d,"NULL"))),{data:p}}finally{clearTimeout(c)}})()]))}}},Yx={download:{format:"shapefile",url:"shp"},download_gpkg:{format:"gpkg",url:"gpkg"},download_gpx:{format:"gpx",url:"gpx"},download_csv:{format:"csv",url:"csv"},download_xls:{format:"xls",url:"xls"},download_raster:{format:"geotiff",url:"geotiff"},download_pdf:{format:"pdf",url:"pdf"}},ai=class e extends Et{constructor(n={},i={}){super();let r=i.project||V.project,o=n.baselayer?"":`${r.getType()}/${r.getId()}/${n.id}/`,u=n.baselayer?"":r.state.vectorurl,c=n.baselayer?"":r.state.rasterurl;this.config=Object.assign(n,{id:n.id||"Layer",title:n.title||n.name,download:!!n.download,geolayer:!1,baselayer:!!n.baselayer,fields:n.fields||{},urls:{query:n.infourl||n.wmsUrl,...n.urls||{},...n.baselayer?{}:{filtertoken:`${u}filtertoken/${o}`,data:`${u}data/${o}`,shp:`${u}shp/${o}`,csv:`${u}csv/${o}`,xls:`${u}xls/${o}`,gpx:`${u}gpx/${o}`,gpkg:`${u}gpkg/${o}`,geotiff:`${c}geotiff/${o}`,editing:`${u}editing/${o}`,commit:`${u}commit/${o}`,config:`${u}config/${o}`,unlock:`${u}unlock/${o}`,widget:{unique:`${u}widget/unique/data/${o}`},featurecount:r.getUrl("featurecount"),pdf:"/html2pdf/"}},...n.baselayer?{}:{searchParams:{I:0,J:0}},search_endpoint:"api"});let f=r.getRelations().filter(d=>[d.referencedLayer,d.referencingLayer].includes(this.getId()));this._relations={_relations:(f||[]).reduce((d,v={})=>{let y=Date.now(),S={loading:!1,id:v.id||`id_${y}`,name:v.name||`name_${y}`,origname:v.origname||`origname_${y}`,father:v.referencedLayer,child:v.referencingLayer,type:v.type,editable:v.editable||!1,prefix:v.prefix,fatherField:[].concat(v.fieldRef.referencedField),childField:[].concat(v.fieldRef.referencingField)};return d[S.id]=Object.assign(new Et(v),{state:S,getId:()=>S.id,setId:w=>S.id=w,getName:()=>S.name,setName:w=>S.name=w,getChild:()=>S.child,getFather:()=>S.father,getState:()=>S,getType:()=>S.type,getFatherField:()=>S.fatherField,getChildField:()=>S.childField,setLoading:w=>S.loading=!!w,isLoading:()=>S.loading,isEditable:()=>S.editable,getPrefix:()=>S.prefix,getFields:()=>({father:S.fatherField,child:S.childField}),getTitle:()=>S.title,setTitle:w=>S.title=w}),d},{}),_length:f?f.length:0,_reloadRelationsInfo(){this._relationsInfo={children:{},fathers:{},father_child:{}};let d,v,{father_child:y,fathers:S,children:w}=this._relationsInfo;Object.entries(this._relations).forEach(([E,I])=>{d=I.getFather(),v=I.getChild(),y[d+v]=E,S[d]=S[d]||[],w[v]=w[v]||[],S[d].push(v),w[v].push(d)})},getLength(){return this._length},getRelations({type:d=null}={}){if(!d)return this._relations;if(["ONE","MANY"].indexOf(d)!==-1){let v={};for(let y in this._relations)d===this._relations[y].getType()&&(v[y]=this._relations[y]);return v}return{}},setRelations(d=[]){this._relations=Array.isArray(d)?d:[]},getRelationById(d){return this._relations[d]},getArray(){return Object.entries(this._relations).map(d=>d[1])},getRelationByFatherChildren(d,v){return this.getRelationById(this._relationsInfo.father_child[d+v])},isChild(d){return!!this._relationsInfo.children[d]},isFather(d){return!!this._relationsInfo.fathers[d]},hasChildren(d){return(this.getChildren(d)||[]).length>0},hasFathers(d){return(this.getFathers(d)||[]).length>0},getChildren(d){return this.isFather(d)?this._relationsInfo.fathers[d]:null},getFathers(d){return this.isChild(d)?this._relationsInfo.children[d]:null}},this._relations._reloadRelationsInfo();let p=n.styles&&n.styles.find(d=>d.current).name;this.state={id:n.id,title:n.title,selected:n.selected||!1,disabled:n.disabled||!1,metadata:n.metadata,openattributetable:this.canShowTable(),removable:n.removable||!1,downloadable:this.isDownloadable(),source:n.source,styles:n.styles,defaultstyle:p,infoformat:this.getInfoFormat(),infoformats:this.config.infoformats||[],projectLayer:!0,geolayer:!1,attributetable:{pageLength:null},visible:n.visible||!1,tochighlightable:!1,inediting:!1,selection:{active:!1},filter:{active:!1,current:null,pagination:!1},filters:n.filters||[],featurecount:n.featurecount,stylesfeaturecount:n.featurecount&&p&&{[p]:n.featurecount},name:n.name,expanded:n.expanded,toc:typeof n.toc=="boolean"?n.toc:!0},this.selectionFids=new Set,this._layersstore=n.layersstore||null;let g=`${this.config.servertype} ${this.config.source&&this.config.source.type}`;this.providers={data:(()=>{if(["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs"].includes(g))return vc("qgis",this);if(g==="G3WSUITE geojson")return vc("geojson",this)})(),filter:["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs","QGIS wmst","QGIS wcs","QGIS wms"].includes(g)&&vc("wfs",this),filtertoken:["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext"].includes(g)&&vc("qgis",this),query:(()=>{if(["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs","QGIS wmst","QGIS wcs","QGIS wms","QGIS gdal","QGIS postgresraster","QGIS vector-tile","QGIS vectortile","QGIS arcgismapserver","QGIS mdal","OGC wms"].includes(g))return vc("wms",this);if(g==="G3WSUITE geojson")return vc("geojson",this)})(),search:["QGIS virtual","QGIS postgres","QGIS oracle","QGIS mssql","QGIS spatialite","QGIS ogr","QGIS delimitedtext","QGIS wfs"].includes(g)&&vc("qgis",this)},this.proxyData={wms:null}}async getDownloadFilefromDownloadDataType(n,{data:i={}}){i.filtertoken=this.getFilterToken();let r,o;switch(n){case"pdf":r=this.getUrl("pdf"),o=r&&await fetch(r,{body:JSON.stringify(i),method:"POST",headers:{"Content-Type":"application/json; charset=utf-8","Access-Control-Expose-Headers":"Content-Disposition"},signal:AbortSignal.timeout(ji)});break;default:r=this.getUrl(n==="shapefile"?"shp":n),o=r&&await fetch(r,{body:Object.keys(i||{}).reduce((u,c)=>(u.append(c,i[c]),u),new FormData),method:"POST",headers:{"Access-Control-Expose-Headers":"Content-Disposition"},signal:AbortSignal.timeout(ji)});break}if(!o?.ok)throw(await o.json()).message;Ur(await o.blob(),o.headers.get("content-disposition"))}getGeoTIFF({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("geotiff",{data:n})}getXls({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("xls",{data:n})}getShp({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("shapefile",{data:n})}getGpx({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("gpx",{data:n})}getGpkg({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("gpkg",{data:n})}getCsv({data:n={}}={}){return this.getDownloadFilefromDownloadDataType("csv",{data:n})}getDownloadableFormats(){return Object.keys(Yx).filter(n=>this.config[n]).map(n=>Yx[n].format)}getDownloadUrl(n){return(Object.values(Yx).find(i=>i.format===n)||{}).url}isDownloadable(){return!!this.getDownloadableFormats().length}isGeoTIFFDownloadable(){return!this.isBaseLayer()&&this.config.download&&this.config.source.type==="gdal"}isShpDownloadable(){return!this.isBaseLayer()&&this.config.download&&this.config.source.type!=="gdal"}isXlsDownloadable(){return!this.isBaseLayer()&&!!this.config.download_xls}isGpxDownloadable(){return!this.isBaseLayer()&&!!this.config.download_gpx}isGpkgDownloadable(){return!this.isBaseLayer()&&!!this.config.download_gpkg}isCsvDownloadable(){return!this.isBaseLayer()&&!!this.config.download_csv}getRelations(){return this._relations}getRelationById(n){return this._relations.getArray().find(i=>n===i.getId())}getRelationAttributes(n){let i=this._relations.find(r=>n===r.name);return i?i.fields:[]}getRelationsAttributes(){return(this.state.relations||[]).reduce((n,i)=>(n[i.name]=i.fields,n),{})}isChild(){return this.getRelations()?this._relations.isChild(this.getId()):!1}isFather(){return this.getRelations()?this._relations.isFather(this.getId()):!1}getChildren(){return this.isFather()?this._relations.getChildren(this.getId()):[]}getFathers(){return this.isChild()?this._relations.getFathers(this.getId()):[]}hasChildren(){return this.hasRelations()?this._relations.hasChildren(this.getId()):!1}hasFathers(){return this.hasRelations()?this._relations.hasFathers(this.getId()):!1}hasRelations(){return!!this._relations}isSelected(){return this.state.selected}setSelected(n){this.state.selected=n}async setSelection(n=!1){if(this.state.selection.active=n,n)return;let i=this.state.filter.active,r=this.state.filter.current!==null;r&&i&&await this._applyFilterToken(this.state.filter.current),!r&&i&&await this.deleteFilterToken(),this.emit("unselectionall",this.getId())}isSelectionActive(){return this.state.selection.active}getSelection(){return this.state.selection}getFilter(){return this.state.filter}setFilter(n=!1){this.state.filter.active=n,this.state.filter.pagination=n&&this.state.filter.pagination,this.isGeoLayer()&&this.state.filter.active&&this.hideOlSelectionFeatures(),this.isGeoLayer()&&!this.state.filter.active&&this.updateMapOlSelectionFeatures()}async applyFilter(n){this.providers.filtertoken&&((this.state.filter.current===null||n.fid!==this.state.filter.current.fid)&&(await this.clearSelectionFids(),U.closeContent()),await this._applyFilterToken(n))}async _applyFilterToken(n){try{let i=await ht.get({url:this.providers.filtertoken._layer.getUrl("filtertoken"),params:{mode:"apply",fid:n.fid}});if(!i||!i.result||!i.data)return;this.setFilter(!1),this.state.filter.current=n,this.setFilterToken(i.data.filtertoken)}catch(i){console.warn(i)}}saveFilter(){if(!this.providers.filtertoken||!this.selectionFids.size>0)return;let n=this;u_({label:He("layer_selection_filter.tools.savefilter"),value:n.state.filter.current?n.state.filter.current.name:"",callback:async i=>{let r=await ht.get({url:n.providers.filtertoken._layer.getUrl("filtertoken"),params:{mode:"save",name:i}});if(!r||!r.result||!r.data)return;let o=n.state.filters.find(u=>r.data.fid===u.fid);o===void 0&&(o={fid:r.data.fid,name:r.data.name},n.state.filters.push(o)),n.state.filter.current=o,n.setFilter(!1),n.getSelection().active=!1,n.selectionFids.clear(),n.isGeoLayer()&&n.setOlSelectionFeatures(),n.emit("unselectionall",n.getId())}})}async toggleFilterToken(){this.setFilter(!this.state.filter.active);let n=this.state.filter.current,i=this.state.filter.active;return i&&await this.createFilterToken(),n&&!i&&await this.applyFilter(this.state.filter.current),!n&&!i&&await this.deleteFilterToken(),this.state.filter.active}async deleteFilterToken(n){try{if(!this.providers.filtertoken)return;let i;try{let r=await ht.get({url:this.providers.filtertoken._layer.getUrl("filtertoken"),params:{fid:n,mode:n===void 0?"delete":"delete_saved"}});r&&r.result&&r.data&&(i=r.data.filtertoken)}catch(r){console.warn(r)}n!==void 0&&(this.state.filters=this.state.filters.filter(r=>n!==r.fid)),this.state.filter.current=null,this.state.filter.active&&this.setFilter(!1),this.setFilterToken(i)}catch(i){console.warn(i)}}setFilterToken(n=void 0){V.tokens.filtertoken=n,this.setFilter(!!n),this.emit("filtertokenchange",{layerId:this.getId()})}async createFilterToken(){try{let n=this.providers.filtertoken,i=this.selectionFids;if(!n||!i.size>0)return;if(i.has(ni.ALL)){try{await ht.get({url:this.providers.filtertoken._layer.getUrl("filtertoken"),params:{fid:void 0,mode:"delete"}})}catch(u){console.warn(u)}this.setFilterToken(null);return}let r=Array.from(i),{data:o={}}=await ht.post({url:n._layer.getUrl("filtertoken"),contentType:"application/json",data:JSON.stringify(i.has(ni.EXCLUDE)?{fidsout:r.filter(u=>u!==ni.EXCLUDE).join(",")}:{fidsin:r.join(",")})});this.setFilterToken(o.filtertoken)}catch(n){console.warn(n)}}getFilterToken(){return V.tokens.filtertoken}setSelectionFidsAll(){this.selectionFids.clear(),this.selectionFids.add(ni.ALL),this.isGeoLayer()&&(Object.values(this.olSelectionFeatures).forEach(n=>n.selected=!0),this.updateMapOlSelectionFeatures()),this.setSelection(!0),this.state.filter.active&&this.createFilterToken()}getSelectionFids(){return this.selectionFids}invertSelectionFids(){let n=this.selectionFids;n.has(ni.EXCLUDE)?n.delete(ni.EXCLUDE):n.has(ni.ALL)?n.delete(ni.ALL):n.size>0&&n.add(ni.EXCLUDE),this.isGeoLayer()&&this.setInversionOlSelectionFeatures(),this.state.filter.active&&this.createFilterToken(),this.setSelection(n.size>0)}hasSelectionFid(n){let i=this.selectionFids;return i.has(ni.ALL)?!0:i.has(ni.EXCLUDE)?!i.has(n):i.has(n)}async includeSelectionFid(n,i=!0){let r=this.selectionFids,o=r.has(ni.EXCLUDE)&&r.has(n);o&&r.delete(n),o||r.add(n),o&&r.size===1&&this.setSelectionFidsAll(),!o&&!this.isSelectionActive()&&this.setSelection(!0),this.isGeoLayer()&&this.setOlSelectionFeatureByFid(n,o?"remove":"add"),i&&this.state.filter.active&&await this.createFilterToken()}async excludeSelectionFid(n,i=!0){let r=this.selectionFids;(r.has(ni.ALL)||r.size===0)&&(r.clear(),r.add(ni.EXCLUDE)),r.has(ni.EXCLUDE)?r.add(n):r.delete(n),r.size===0&&this.clearSelectionFids(),r.size===1&&r.has(ni.EXCLUDE)&&(r.clear(),this.setselectionFidsAll()),this.isGeoLayer()&&this.setOlSelectionFeatureByFid(n,r.has(ni.EXCLUDE)?r.has(n):r.has(n)?"add":"remove"),i&&this.state.filter.active&&await this.createFilterToken()}async includeSelectionFids(n=[],i=!0){n.forEach(r=>this.includeSelectionFid(r,!1)),i&&this.state.filter.active&&await this.createFilterToken()}async excludeSelectionFids(n=[],i=!0){n.forEach(r=>this.excludeSelectionFid(r,!1)),i&&this.state.filter.active&&await this.createFilterToken()}async clearSelectionFids(){this.selectionFids.clear(),this.isGeoLayer()&&(Object.values(this.olSelectionFeatures).forEach(n=>n.selected=!1),this.updateMapOlSelectionFeatures()),await this.setSelection(!1)}getProxyData(n){return n?this.proxyData[n]:this.proxyData}setProxyData(n,i={}){this.proxyData[n]=i}clearProxyData(n){this.proxyData[n]=null}async getDataProxyFromServer(n="wms",i={}){try{let{response:r,data:o}=await Ht.getData(`proxy:${n}`,{inputs:i,outputs:!1});return this.setProxyData(n,JSON.parse(o)),r}catch(r){console.warn(r)}}changeProxyDataAndReloadFromServer(n="wms",i={}){return Object.keys(i).forEach(r=>{Object.keys(i[r]).forEach(o=>{this.proxyData[n][r][o]=i[r][o]})}),this.getDataProxyFromServer(n,this.proxyData[n])}isInEditing(){return this.state.inediting}setInEditing(n=!1){this.state.inediting=n}getSearchParams(){return this.config.searchParams}getSearchEndPoint(){return console.warn("getSearchEndPoint is deprecated"),"api"}setAttributeTablePageLength(n){this.state.attributetable.pageLength=n}getAttributeTablePageLength(){return this.state.attributetable.pageLength}getWMSLayerName(){return this.isWmsUseLayerIds()?this.getId():this.getName()}isWmsUseLayerIds(){return this.config.wms_use_layer_ids}getSourceType(){return this.config.source?this.config.source.type:null}isGeoLayer(){return this.state.geolayer}getDataTable({page:n=null,page_size:i=null,ordering:r=null,search:o=null,suggest:u=null,formatter:c=0,custom_params:f={},field:p,in_bbox:g}={}){return Wt(async()=>{if(!this.getProvider("filter")&&!this.getProvider("data"))return Promise.reject();let d=await sn(this.getProvider("data").getFeatures({editing:!1},{...f,field:p,page:n,page_size:i,ordering:r,search:o,formatter:c,suggest:u,in_bbox:g,filtertoken:V.tokens.filtertoken})),v=d.data.features&&d.data.features||[],y=this.getAttributes()||[],S=v.length?v[0].properties:[];return{features:v,headers:y&&y.length>0?y.filter(w=>Object.keys(S).indexOf(w.name)>-1):Object.keys(S).filter(w=>so.indexOf(w)===-1).map(w=>({name:w,label:w})),title:this.getTitle(),count:d.count}})}async getFeatureByFids({fids:n=[],formatter:i=0}={}){let r=this.getUrl("data");try{let o=await ht.get({url:r,params:{fids:n.toString(),formatter:i}});if(o&&o.result&&o.vector&&o.vector.data)return o.vector.data.features}catch(o){console.warn(o)}}searchFeatures(n={},i={}){let{search_endpoint:r=this.config.search_endpoint}=n;return new Promise(async(o,u)=>{switch(r){case"ows":this.search(n,i).then(c=>{o({data:c})}).fail(c=>{console.warn(c),u(c)});break;case"api":try{o(await this.getFilterData({queryUrl:n.queryUrl,field:n.filter,ordering:n.ordering,unique:n.unique,raw:n.raw!==void 0?n.raw:!1,suggest:n.suggest,formatter:n.formatter!==void 0?n.formatter:1,autofilter:n.autofilter,page:n.page,page_size:n.page_size}))}catch(c){console.warn(c),u(c)}break}})}async getFilterData({raw:n=!1,suggest:i,field:r,unique:o,fformatter:u,ffield:c,formatter:f=1,queryUrl:p,ordering:g,autofilter:d,page:v,page_size:y}={}){let S=this.getProvider("data");S._projections=S._projections||{map:null,layer:null};let w={field:r,suggest:i,ordering:g,formatter:f,unique:o,fformatter:u,ffield:c,filtertoken:V.tokens.filtertoken,autofilter:d,page:v,page_size:y};try{let E=p||S._layer.getUrl("data"),I=r?await ht.post({url:E,contentType:"application/json",data:JSON.stringify(w)}):await ht.get({url:E,params:w});if(S._layer.getType()!=="table"&&(S._projections.map=S._layer.getMapProjection()||S._projections.layer),n)return I;if(o&&I.result)return I.data;if(u&&I.result)return I;if(I.result)return{data:vs.get("application/json")({layers:[S._layer],response:I.vector.data,filtertoken:I.filtertoken,projections:S._projections}),count:I.vector.count}}catch(E){return console.warn(E),Promise.reject(E)}return Promise.reject()}search(n={},i={}){n={...n,feature_count:n.feature_count||10,...this.config.searchParams,...i};let r=this.getProvider("search");return Wt(async()=>r?await sn(r.query(n)):Promise.reject(He("sdk.search.layer_not_searchable")))}query(n={}){let i=this.getProvider(n.filter?"filter":"query");return Wt(async()=>i?await sn(i.query(n)):Promise.reject(He("sdk.search.layer_not_querable")))}get(n){return this.config[n]?this.config[n]:this.state[n]}getFields(){return this.config.fields}getEditingFields(){return this.config.editing.fields}getTableFields(){return(this.config.fields||[]).filter(n=>n.show)}getTableHeaders(){return this.getTableFields().filter(n=>!so.includes(n.name))}getProject(){return this.config.project}getConfig(){return this.config}getLayerEditingFormStructure(){return this.config.editor_form_structure}hasFormStructure(){return!!this.config.editor_form_structure}getCustomStyle(){return this.config.customstyle}getState(){return this.state}getSource(){return this.state.source}getEditingLayer(){return this._editingLayer}setEditingLayer(n){this._editingLayer=n}isHidden(){return this.state.hidden}setHidden(n=!0){this.state.hidden=n}getId(){return this.config.id}getMetadata(){return this.state.metadata}getTitle(){return this.config.title}getName(){return this.config.name}getOrigName(){return this.config.origname}getServerType(){return this.config.servertype||"QGIS"}getType(){return this.type}isType(n){return n===this.getType()}setDisabled(n){this.state.disabled=n}isDisabled(){return this.state.disabled}isVisible(){return this.state.visible}setVisible(n){this.state.visible=n}isQueryable(){return!!(this.config.capabilities&&this.config.capabilities&e.CAPABILITIES.QUERYABLE)}getTocHighlightable(){return this.state.tochighlightable}setTocHighlightable(n=!1){this.state.tochighlightable=n}isFilterable(n=null){let i=!!(this.config.capabilities&&this.config.capabilities&e.CAPABILITIES.FILTERABLE);if(i&&n){let r=Object.keys(n).reduce((o,u)=>{let c=this.get(u),f=n[u];return o&&Array.isArray(c)?c.includes(f):f===c},!0);i=i&&r}return i}isQtimeseries(){return this.config.qtimeseries}isEditable(){return!!(this.config.capabilities&&this.config.capabilities&e.CAPABILITIES.EDITABLE)}isBaseLayer(){return this.config.baselayer}getUrl(n){return this.config.urls[n]}setUrl({type:n,url:i}={}){this.config.urls[n]=i}getQueryUrl(){return this.config.urls.query}getQueryLayerOrigName(){return this.state.infolayer&&this.config.infolayer!==""?this.config.infolayer:this.config.origname}getInfoFormat(n){return this.config.qtimeseries===!0||this.getSourceType()==="gdal"?"application/json":this.config.infoformat&&this.config.infoformat!==""&&n!=="wfs"?this.config.infoformat:"application/vnd.ogc.gml"}getInfoFormats(){return this.state.infoformats}getInfoUrl(){return this.config.infourl}setInfoFormat(n){this.config.infoformat=n}getAttributes(){return this.config.fields}changeAttribute(n,i,r){for(let o of this.config.fields)if(o.name===n){o.type=i,o.options=r;break}}getAttributeLabel(n){return(this.getAttributes().find(i=>n===i.name)||{}).label}getProvider(n){return this.providers[n]}getProviders(){return this.providers}getLayersStore(){return this._layersstore}setLayersStore(n){this._layersstore=n}canShowTable(){return this.config.not_show_attributes_table||this.isBaseLayer()?!1:this.getServerType()==="QGIS"&&["postgres","oracle","wfs","ogr","mssql","spatialite"].includes(this.config.source.type)&&this.isQueryable()?this.getTableFields().length>0:!!(this.getServerType()==="G3WSUITE"&&this.get("source").type==="geojson"||this.getServerType()!=="G3WSUITE"&&this.isFilterable())}changeFieldType({name:n,type:i,options:r={},reset:o=!1}={}){let u=this.getFields().find(c=>n===c.name);if(u&&o)return u.type=u._type,delete u._type,delete u[`${i}options`],u.type;if(u&&!o)return u._type=u.type,u.type=i,u[`${i}options`]=r,u._type}changeConfigFieldType({name:n,type:i,options:r={},reset:o=!1}){return this.changeFieldType({name:n,type:i,options:r,reset:o})}clear(){}isVector(){return e.LayerTypes.VECTOR===this.getType()}isTable(){return e.LayerTypes.TABLE===this.getType()}getFeatureCount(){return this.state.featurecount}async getStyleFeatureCount(n){if(this.state.stylesfeaturecount!==void 0){if(this.state.stylesfeaturecount[n]===void 0)try{let{result:i,data:r}=await ht.post({url:`${this.config.urls.featurecount}${this.getId()}/`,data:JSON.stringify({style:n}),contentType:"application/json"});this.state.stylesfeaturecount[n]=i===!0?r:{}}catch(i){cansole.warn(i),this.state.stylesfeaturecount[n]={}}return this.state.stylesfeaturecount[n]}}getFormat(){return this.config.format||V.project.state.wms_getmap_format||"image/png"}openAttributeTable(n={}){new(Vue.extend(UR))({...n,layerId:this.state.id})}};ai.LayerTypes={TABLE:"table",IMAGE:"image",VECTOR:"vector"};ai.CAPABILITIES={QUERYABLE:1,FILTERABLE:2,EDITABLE:4}});function cp({field:e,value:n,operator:i="eq",logicop:r="OR"}){return[].concat(n).map(o=>`${e}|${i.toLowerCase()}|${encodeURIComponent(o)}`).join(`|${r},`)}function YV(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputSelect.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Xx(){let e=Xx.styles||(Xx.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var jV,qV,zV,Hr,GV,$V,BV,UV,VV,WV,HV,XV,XR,ZR=W(()=>{bt();vt();rr();qn();jV=jx(),{Layer:qV}=(bc(),Wn(YR)),zV=Ti(),Hr=null;GV={name:"input-select",mixins:[zV,Ru,Pg],data(){return{showPickLayer:!1,picked:!1,filterFields:[],isFilterFieldsReady:!1}},computed:{showNullOption(){return this.multiple===!1&&[void 0,!0].includes(this.state.nullOption)},select2NullValue(){return this.showNullOption&&Hr}},methods:{async pickLayerValue(){try{if(this.picked)this.pickLayerInputService.unpick(),this.picked=!1;else{this.picked=!0;let e=await this.pickLayerInputService.pick(),n=e[this.state.input.options.key];this.multiple&&(n=this.getMultiValues().find(i=>n==i)===void 0?`{${[...this.getMultiValues(),n].join()}}`:this.state.value),n!=this.state.value&&(this.autocomplete&&(this.multiple||this.state.input.options.values.splice(0),this.state.input.options.values.push({key:e[this.state.input.options.value],value:e[this.state.input.options.key]})),this.service.sortValues(),await this.changeSelect(n),this.select2.val(this.multiple?this.getMultiValues():n).trigger("change")),U.showUserMessage({type:"success",autoclose:!0}),this.picked=!1}}catch(e){console.warn(e),U.showUserMessage({type:"warning",message:"sdk.form.inputs.messages.errors.picklayer",autoclose:!0}),this.picked=!1}},getMultiValues(){return[void 0,null,""].includes(this.state.value)?[]:Array.from(new Set(`${this.state.value}`.replace(/^{|}$/g,"").replace(/"/g,"").split(","))).filter(e=>this.autocomplete||this.state.input.options.values.map(({value:n})=>`${n}`).includes(`${e}`))},setAndListenSelect2Change(){this.select2.on("select2:unselect",e=>{let n=e.params.data.$value?e.params.data.$value:e.params.data.id;if(this.multiple){let i=this.getMultiValues().filter(r=>r!=n);this.autocomplete&&(this.state.input.options.values=this.state.input.options.values.filter(r=>n!=r.value)),this.changeSelect(i.length===0?null:`{${i.join()}}`)}this.showNullOption&&!this.multiple&&this.changeSelect(null)}),this.select2.on("select2:select",e=>{let n=e.params.data.$value?e.params.data.$value:e.params.data.id;n=this.showNullOption&&n===Hr?null:n.toString(),this.multiple&&(n=this.getMultiValues().length>0?`{${[...this.getMultiValues(),n].join()}}`:`{${n}}`),this.changeSelect(n)})}},watch:{async"state.input.options.values"(e=[]){if(await this.$nextTick(),this.autocomplete)return;let n,i=e.length===0;(i||this.multiple&&this.getMultiValues().length===0)&&(n=Hr),!i&&this.multiple&&this.getMultiValues().length>0&&(n=`{${this.getMultiValues().join()}}`),!i&&!this.multiple&&(n=(e.find(({value:o})=>o==this.state.value)||{value:Hr}).value);let r=n!=this.state.value;this.state.value=n,this.select2.val(this.multiple?this.getMultiValues():this.state.value).trigger("change"),r&&this.change()}},async created(){this.unwatch,this.filterFieldsUnwatches;let{relation_id:e,filter_fields:n=[],relation_reference:i=!1,chain_filters:r=!1,allowmulti:o=!1}=this.state.input.options;if(this.multiple=o,i&&Array.isArray(n)&&n.length>0){this.setLoading(!0),this.isFilterFieldsReady=!1;let{referencedLayer:u,referencingLayer:c,fieldRef:{referencingField:f,referencedField:p}}=V.project.getRelationById(e),g=st(c),d=st(u),v=d.getFields();if(this.state.value!==null)try{let{data:y=[]}=await d.getFilterData({formatter:0,field:cp({field:p[0],value:this.state.value})});this.state.input.options.values=((await g.getFilterData({fformatter:f[0],order:f[0],ffield:n.map((S,w)=>{let E=y[0].features[0].get(S)===void 0?`${Hr}`:y[0].features[0].get(S);return this.filterFields.push({id:S,values:[{key:`[${v.find(I=>I.name===S).label}]`,value:`${Hr}`}],value:E,disabled:r&&w>0&&`${Hr}`===this.filterFields[n[w-1]]}),cp({field:S,value:E})}).join("|AND,")})).data||[]).map(([S,w])=>({key:w,value:S})),r?((await d.getFilterData({unique:n[0],ordering:n[0],formatter:0})).forEach(S=>this.filterFields[0].values.push({key:S,value:S})),(await Promise.allSettled(n.slice(1).map((S,w)=>d.getFilterData({unique:n[w+1],ordering:n[w+1],formatter:0,field:this.filterFields.slice(0,w+1).filter(E=>E.value!=="null").map(E=>cp({field:E.id,value:E.value})).join("|AND,")})))).forEach(({status:S,value:w},E)=>{S==="fulfilled"&&w.forEach(I=>this.filterFields[E+1].values.push({key:I,value:I}))})):(await Promise.allSettled(n.map(S=>d.getFilterData({unique:S,ordering:S,formatter:0})))).forEach(({status:S,value:w},E)=>{S==="fulfilled"&&w.forEach(I=>this.filterFields[E].values.push({key:I,value:I}))})}catch(y){console.warn(y)}else(await Promise.allSettled(n.map((y,S)=>(this.filterFields.push({id:y,values:[{key:`[${v.find(w=>w.name===y).label}]`,value:`${Hr}`}],value:`${Hr}`,disabled:r&&S>0}),d.getFilterData({unique:y,formatter:0,ordering:y}))))).forEach(({status:y,value:S},w)=>{y==="fulfilled"&&S.forEach(E=>this.filterFields[w].values.push({key:E,value:E}))});this.filterFieldsUnwatches=this.filterFields.map((y,S)=>this.$watch(()=>y.value,async w=>{if(this.setLoading(!0),r){for(let E=S+1;E`${Hr}`!==O.value).map(O=>cp({field:O.id,value:O.value})).join("|AND,"),{data:I=[]}=await d.getFilterData({field:E});if(I[0]&&I[0].features){let O=[];I[0].features.forEach(H=>{if(O.push(H.get(p)),S`${Hr}`!==E.value).map(E=>cp({field:E.id,value:E.value})).join("|AND,")})).data||[]).map(([E,I])=>({key:I,value:E})),this.state.input.options.values.length>0&&(this.state.value=this.state.input.options.values[0].value,this.select2.val(this.state.value).trigger("change"),await this.changeSelect(this.state.value)),this.setLoading(!1)})),this.setLoading(!1),this.isFilterFieldsReady=!0}if(this.state.input.type==="select_autocomplete"){let u=this.state.input.options.layer_id;if(u)try{let c=U.getService("map").getProjectLayer(u).getEditingLayer()||st(u);if(this.showPickLayer=c&&qV.LayerTypes.TABLE!==c.getType(),this.showPickLayer){let{key:f,value:p,layer_id:g}=this.state.input.options;this.pickLayerInputService=new jV({layer_id:g,fields:[p,f],pick_type:c.isStarted&&c.isStarted()?"map":null})}}catch(c){console.warn(c)}}},async mounted(){await this.$nextTick();let e=$(this.$refs.select),n=this.getLanguage(),i=this.state.dropdownParent===void 0&&$("#g3w-view-content");this.autocomplete?(this.select2=e.select2({minimumInputLength:1,dropdownParent:i,multiple:this.multiple,allowClear:this.showNullOption,placeholder:"",language:n,ajax:{delay:250,transport:(r,o,u)=>{let c=r.data.term;$(".select2-results__option.loading-results").siblings().hide(),this.service.getData({key:this.state.input.options.value,value:this.state.input.options.key,search:c}).then(f=>o(f)).catch(f=>{console.warn(f),u(f)})},processResults:(r,o)=>(o.page=o.page||1,{results:r,pagination:{more:!1}})}}),this.state.value&&(this.state.input.options.values.splice(0),await this.service.getKeyByValue({search:this.multiple?this.getMultiValues():this.state.value}))):this.select2=e.select2({language:n,dropdownParent:i,multiple:this.multiple,minimumResultsForSearch:this.isMobile()?-1:null}),this.setAndListenSelect2Change(),this.multiple&&this.getMultiValues().length>0?this.select2.val(this.getMultiValues()).trigger("change"):this.setValue()},beforeDestroy(){this.pickLayerInputService&&(this.pickLayerInputService.clear(),this.pickLayerInputService=null),this.unwatch&&(this.unwatch(),this.unwatch=null),this.filterFieldsUnwatches&&(this.filterFieldsUnwatches.forEach(e=>e()),this.filterFieldsUnwatches=null)}},$V=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[e.showPickLayer?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.form.inputs.tooltips.picklayer",expression:"'sdk.form.inputs.tooltips.picklayer'",arg:"top",modifiers:{create:!0}},{name:"disabled",rawName:"v-disabled",value:e.disabled,expression:"disabled"}],staticClass:"g3w-input-pick-layer skin-color",attrs:{slot:"label-action"},on:{click:function(r){return r.stopPropagation(),e.pickLayerValue.apply(null,arguments)}},slot:"label-action"},[i("i",{class:e.g3wtemplate.font.crosshairs})]):e._e(),e._v(" "),i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:e.disabled,expression:"disabled"}],attrs:{slot:"body",tabIndex:e.tabIndex},slot:"body"},[e.filterFields.length>0&&e.isFilterFieldsReady?i("div",{staticClass:"g3w-relation-reference-fields-content"},[e._l(e.filterFields,function(r,o){return[i("select",{directives:[{name:"select2",rawName:"v-select2",value:"filterFields",expression:"'filterFields'"}],ref:"filterField_"+r.id,refInFor:!0,staticClass:"form-control",staticStyle:{width:"100%"},attrs:{select2_value:r.value,indexItem:o,id:r.id,disabled:r.disabled}},e._l(r.values,function(u){var c=u.key,f=u.value;return i("option",{domProps:{value:e.getValue(f)}},[e._v(` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var jV,qV,zV,Wr,GV,$V,BV,UV,VV,WV,HV,XV,XR,ZR=W(()=>{bt();vt();rr();Bn();jV=jx(),{Layer:qV}=(bc(),Wn(YR)),zV=Ti(),Wr=null;GV={name:"input-select",mixins:[zV,Ru,Pg],data(){return{showPickLayer:!1,picked:!1,filterFields:[],isFilterFieldsReady:!1}},computed:{showNullOption(){return this.multiple===!1&&[void 0,!0].includes(this.state.nullOption)},select2NullValue(){return this.showNullOption&&Wr}},methods:{async pickLayerValue(){try{if(this.picked)this.pickLayerInputService.unpick(),this.picked=!1;else{this.picked=!0;let e=await this.pickLayerInputService.pick(),n=e[this.state.input.options.key];this.multiple&&(n=this.getMultiValues().find(i=>n==i)===void 0?`{${[...this.getMultiValues(),n].join()}}`:this.state.value),n!=this.state.value&&(this.autocomplete&&(this.multiple||this.state.input.options.values.splice(0),this.state.input.options.values.push({key:e[this.state.input.options.value],value:e[this.state.input.options.key]})),this.service.sortValues(),await this.changeSelect(n),this.select2.val(this.multiple?this.getMultiValues():n).trigger("change")),U.showUserMessage({type:"success",autoclose:!0}),this.picked=!1}}catch(e){console.warn(e),U.showUserMessage({type:"warning",message:"sdk.form.inputs.messages.errors.picklayer",autoclose:!0}),this.picked=!1}},getMultiValues(){return[void 0,null,""].includes(this.state.value)?[]:Array.from(new Set(`${this.state.value}`.replace(/^{|}$/g,"").replace(/"/g,"").split(","))).filter(e=>this.autocomplete||this.state.input.options.values.map(({value:n})=>`${n}`).includes(`${e}`))},setAndListenSelect2Change(){this.select2.on("select2:unselect",e=>{let n=e.params.data.$value?e.params.data.$value:e.params.data.id;if(this.multiple){let i=this.getMultiValues().filter(r=>r!=n);this.autocomplete&&(this.state.input.options.values=this.state.input.options.values.filter(r=>n!=r.value)),this.changeSelect(i.length===0?null:`{${i.join()}}`)}this.showNullOption&&!this.multiple&&this.changeSelect(null)}),this.select2.on("select2:select",e=>{let n=e.params.data.$value?e.params.data.$value:e.params.data.id;n=this.showNullOption&&n===Wr?null:n.toString(),this.multiple&&(n=this.getMultiValues().length>0?`{${[...this.getMultiValues(),n].join()}}`:`{${n}}`),this.changeSelect(n)})}},watch:{async"state.input.options.values"(e=[]){if(await this.$nextTick(),this.autocomplete)return;let n,i=e.length===0;(i||this.multiple&&this.getMultiValues().length===0)&&(n=Wr),!i&&this.multiple&&this.getMultiValues().length>0&&(n=`{${this.getMultiValues().join()}}`),!i&&!this.multiple&&(n=(e.find(({value:o})=>o==this.state.value)||{value:Wr}).value);let r=n!=this.state.value;this.state.value=n,this.select2.val(this.multiple?this.getMultiValues():this.state.value).trigger("change"),r&&this.change()}},async created(){this.unwatch,this.filterFieldsUnwatches;let{relation_id:e,filter_fields:n=[],relation_reference:i=!1,chain_filters:r=!1,allowmulti:o=!1}=this.state.input.options;if(this.multiple=o,i&&Array.isArray(n)&&n.length>0){this.setLoading(!0),this.isFilterFieldsReady=!1;let{referencedLayer:u,referencingLayer:c,fieldRef:{referencingField:f,referencedField:p}}=V.project.getRelationById(e),g=st(c),d=st(u),v=d.getFields();if(this.state.value!==null)try{let{data:y=[]}=await d.getFilterData({formatter:0,field:cp({field:p[0],value:this.state.value})});this.state.input.options.values=((await g.getFilterData({fformatter:f[0],order:f[0],ffield:n.map((S,w)=>{let E=y[0].features[0].get(S)===void 0?`${Wr}`:y[0].features[0].get(S);return this.filterFields.push({id:S,values:[{key:`[${v.find(I=>I.name===S).label}]`,value:`${Wr}`}],value:E,disabled:r&&w>0&&`${Wr}`===this.filterFields[n[w-1]]}),cp({field:S,value:E})}).join("|AND,")})).data||[]).map(([S,w])=>({key:w,value:S})),r?((await d.getFilterData({unique:n[0],ordering:n[0],formatter:0})).forEach(S=>this.filterFields[0].values.push({key:S,value:S})),(await Promise.allSettled(n.slice(1).map((S,w)=>d.getFilterData({unique:n[w+1],ordering:n[w+1],formatter:0,field:this.filterFields.slice(0,w+1).filter(E=>E.value!=="null").map(E=>cp({field:E.id,value:E.value})).join("|AND,")})))).forEach(({status:S,value:w},E)=>{S==="fulfilled"&&w.forEach(I=>this.filterFields[E+1].values.push({key:I,value:I}))})):(await Promise.allSettled(n.map(S=>d.getFilterData({unique:S,ordering:S,formatter:0})))).forEach(({status:S,value:w},E)=>{S==="fulfilled"&&w.forEach(I=>this.filterFields[E].values.push({key:I,value:I}))})}catch(y){console.warn(y)}else(await Promise.allSettled(n.map((y,S)=>(this.filterFields.push({id:y,values:[{key:`[${v.find(w=>w.name===y).label}]`,value:`${Wr}`}],value:`${Wr}`,disabled:r&&S>0}),d.getFilterData({unique:y,formatter:0,ordering:y}))))).forEach(({status:y,value:S},w)=>{y==="fulfilled"&&S.forEach(E=>this.filterFields[w].values.push({key:E,value:E}))});this.filterFieldsUnwatches=this.filterFields.map((y,S)=>this.$watch(()=>y.value,async w=>{if(this.setLoading(!0),r){for(let E=S+1;E`${Wr}`!==O.value).map(O=>cp({field:O.id,value:O.value})).join("|AND,"),{data:I=[]}=await d.getFilterData({field:E});if(I[0]&&I[0].features){let O=[];I[0].features.forEach(H=>{if(O.push(H.get(p)),S`${Wr}`!==E.value).map(E=>cp({field:E.id,value:E.value})).join("|AND,")})).data||[]).map(([E,I])=>({key:I,value:E})),this.state.input.options.values.length>0&&(this.state.value=this.state.input.options.values[0].value,this.select2.val(this.state.value).trigger("change"),await this.changeSelect(this.state.value)),this.setLoading(!1)})),this.setLoading(!1),this.isFilterFieldsReady=!0}if(this.state.input.type==="select_autocomplete"){let u=this.state.input.options.layer_id;if(u)try{let c=U.getService("map").getProjectLayer(u).getEditingLayer()||st(u);if(this.showPickLayer=c&&qV.LayerTypes.TABLE!==c.getType(),this.showPickLayer){let{key:f,value:p,layer_id:g}=this.state.input.options;this.pickLayerInputService=new jV({layer_id:g,fields:[p,f],pick_type:c.isStarted&&c.isStarted()?"map":null})}}catch(c){console.warn(c)}}},async mounted(){await this.$nextTick();let e=$(this.$refs.select),n=this.getLanguage(),i=this.state.dropdownParent===void 0&&$("#g3w-view-content");this.autocomplete?(this.select2=e.select2({minimumInputLength:1,dropdownParent:i,multiple:this.multiple,allowClear:this.showNullOption,placeholder:"",language:n,ajax:{delay:250,transport:(r,o,u)=>{let c=r.data.term;$(".select2-results__option.loading-results").siblings().hide(),this.service.getData({key:this.state.input.options.value,value:this.state.input.options.key,search:c}).then(f=>o(f)).catch(f=>{console.warn(f),u(f)})},processResults:(r,o)=>(o.page=o.page||1,{results:r,pagination:{more:!1}})}}),this.state.value&&(this.state.input.options.values.splice(0),await this.service.getKeyByValue({search:this.multiple?this.getMultiValues():this.state.value}))):this.select2=e.select2({language:n,dropdownParent:i,multiple:this.multiple,minimumResultsForSearch:this.isMobile()?-1:null}),this.setAndListenSelect2Change(),this.multiple&&this.getMultiValues().length>0?this.select2.val(this.getMultiValues()).trigger("change"):this.setValue()},beforeDestroy(){this.pickLayerInputService&&(this.pickLayerInputService.clear(),this.pickLayerInputService=null),this.unwatch&&(this.unwatch(),this.unwatch=null),this.filterFieldsUnwatches&&(this.filterFieldsUnwatches.forEach(e=>e()),this.filterFieldsUnwatches=null)}},$V=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[e.showPickLayer?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.form.inputs.tooltips.picklayer",expression:"'sdk.form.inputs.tooltips.picklayer'",arg:"top",modifiers:{create:!0}},{name:"disabled",rawName:"v-disabled",value:e.disabled,expression:"disabled"}],staticClass:"g3w-input-pick-layer skin-color",attrs:{slot:"label-action"},on:{click:function(r){return r.stopPropagation(),e.pickLayerValue.apply(null,arguments)}},slot:"label-action"},[i("i",{class:e.g3wtemplate.font.crosshairs})]):e._e(),e._v(" "),i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:e.disabled,expression:"disabled"}],attrs:{slot:"body",tabIndex:e.tabIndex},slot:"body"},[e.filterFields.length>0&&e.isFilterFieldsReady?i("div",{staticClass:"g3w-relation-reference-fields-content"},[e._l(e.filterFields,function(r,o){return[i("select",{directives:[{name:"select2",rawName:"v-select2",value:"filterFields",expression:"'filterFields'"}],ref:"filterField_"+r.id,refInFor:!0,staticClass:"form-control",staticStyle:{width:"100%"},attrs:{select2_value:r.value,indexItem:o,id:r.id,disabled:r.disabled}},e._l(r.values,function(u){var c=u.key,f=u.value;return i("option",{domProps:{value:e.getValue(f)}},[e._v(` `+e._s(c)+` `)])}),0)]}),e._v(" "),i("divider")],2):e._e(),e._v(" "),i("select",{ref:"select",staticClass:"form-control",staticStyle:{width:"100%"}},[e.showNullOption?i("option",{domProps:{value:e.select2NullValue}}):e._e(),e._v(" "),e._l(e.state.input.options.values,function(r){var o=r.key,u=r.value;return i("option",{key:e.getValue(u),domProps:{value:e.getValue(u)}},[e._v(` `+e._s(o)+` - `)])})],2)]),e._v(" "),e.loadingState==="error"?i("p",{directives:[{name:"t",rawName:"v-t",value:"server_error",expression:"'server_error'"}],staticClass:"error-input-message",attrs:{slot:"message"},slot:"message"}):e._e()])},BV=[],UV=function(e){e&&e("data-v-9ea4abec_0",{source:".g3w-input-pick-layer[data-v-9ea4abec]{cursor:pointer;position:relative;top:2px;font-size:1.2em}",map:void 0,media:void 0})},VV="data-v-9ea4abec",WV=void 0,HV=!1;XV=YV({render:$V,staticRenderFns:BV},UV,GV,VV,HV,WV,!1,Xx,void 0,void 0),XR=XV});var up=Qe((g0e,KR)=>{ZR();var ZV=Vue.extend(XR);KR.exports=ZV});function oW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputMedia.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var KV,QV,JV,eW,tW,nW,iW,rW,sW,aW,QR,JR=W(()=>{bt();bn();KV=Ti(),{media_field:QV}=Nu(),JV={name:"input-media",mixins:[KV],components:{"g3w-media":QV},data(){return{data:{value:null,mime_type:null},mediaid:`media_${ut()}`,loading:!1}},methods:{onClick(){document.getElementById(this.mediaid).click()},clearMedia(){this.data.value=this.data.mime_type=this.state.value=null,this.change()},setMedia(){this.state.value&&(this.data.value=this.state.value.value,this.data.mime_type=this.state.value.mime_type)},async onChangeFile(e){let n=new FormData;n.append("csrfmiddlewaretoken",this.$cookie.get("csrftoken")),n.append(this.state.name,e.target.files[0]),this.loading=!0;try{let i=(await(await fetch(this.state.input.options.uploadurl,{method:"POST",headers:{Accept:"application/json"},body:n})).json())[this.state.name];console.log(i),i&&(this.state.value=i)}catch(i){console.warn(i),U.notify.error(this.$t("info.server_error"))}this.loading=!1}},watch:{"state.value"(){this.setMedia(),this.change()}},created(){this.setMedia()}},eW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],attrs:{slot:"body"},slot:"body"},[i("div",{staticClass:"g3w_input_button skin-border-color",staticStyle:{"border-style":"solid","border-width":"2px",width:"100%",cursor:"pointer","text-align":"center"},on:{click:e.onClick}},[i("i",{staticClass:"fa-2x skin-color",class:e.g3wtemplate.getFontClass("file-upload"),staticStyle:{padding:"5px"}},[i("input",{class:{"input-error-validation":e.notvalid},staticStyle:{display:"none"},attrs:{id:e.mediaid,name:e.state.name,tabIndex:e.tabIndex,"data-url":e.state.input.options.uploadurl,type:"file"},on:{change:e.onChangeFile}})])]),e._v(" "),i("bar-loader",{attrs:{loading:e.loading}}),e._v(" "),i("g3w-media",{attrs:{state:e.data}},[i("div",{staticClass:"clearmedia",on:{click:function(r){return r.stopPropagation(),e.clearMedia.apply(null,arguments)}}},[i("i",{staticClass:"g3w-icon",class:e.g3wtemplate.font["trash-o"]})])])],1)])},tW=[],nW=void 0,iW=void 0,rW=void 0,sW=!1;aW=oW({render:eW,staticRenderFns:tW},nW,JV,iW,sW,rW,!1,void 0,void 0,void 0),QR=aW});var Zx=Qe((b0e,eM)=>{JR();var lW=Vue.extend(QR);eM.exports=lW});function yW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputPickLayer.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var cW,uW,dW,hW,fW,pW,gW,mW,_W,vW,tM,nM=W(()=>{cW=Ti(),uW=jx(),dW={name:"input-picklayer",mixins:[cW],methods:{pickLayer(){this.pickservice.pick().then(e=>this.state.value=e).catch(()=>{})},unpick(){setTimeout(()=>!this.pickservice.isPicked()&&this.pickservice.unpick(),200)}},created(){this.pickservice=new uW(this.state.input.options)},beforeDestroy(){this.pickservice.clear(),this.pickservice=null}},hW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{attrs:{slot:"body"},slot:"body"},[i("span",{staticClass:"skin-color",class:e.g3wtemplate.font.crosshairs,staticStyle:{left:"0",top:"7px",position:"absolute"}}),e._v(" "),i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},style:{cursor:e.editable?"pointer":null},attrs:{readonly:"readonly",tabIndex:e.tabIndex},domProps:{value:e.state.value},on:{input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change],click:e.pickLayer,blur:e.unpick}})])])},fW=[],pW=void 0,gW=void 0,mW=void 0,_W=!1;vW=yW({render:hW,staticRenderFns:fW},pW,dW,gW,_W,mW,!1,void 0,void 0,void 0),tM=vW});var Kx=Qe((S0e,iM)=>{nM();var bW=Vue.extend(tM);iM.exports=bW});function TW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputColor.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var xW,wW,SW,EW,CW,IW,kW,LW,NW,rM,sM=W(()=>{xW=Ti(),wW={name:"input-color",mixins:[xW]},SW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{cursor:"pointer"},attrs:{slot:"body",placeholder:e.state.default,type:"color",tabIndex:e.tabIndex,field:e.state.name,id:e.state.name},domProps:{value:e.state.value},on:{change:e.change,input:function(r){r.target.composing||e.$set(e.state,"value",r.target.value)}},slot:"body"})])},EW=[],CW=void 0,IW=void 0,kW=void 0,LW=!1;NW=TW({render:SW,staticRenderFns:EW},CW,wW,IW,LW,kW,!1,void 0,void 0,void 0),rM=NW});var Qx=Qe((I0e,oM)=>{sM();var RW=Vue.extend(rM);oM.exports=RW});function zW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputSliderRange.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var MW,AW,OW,PW,FW,DW,jW,qW,GW,aM,lM=W(()=>{MW=Ti(),AW={name:"input-slider-range",mixins:[MW],watch:{"state.input.options.min"(){this.service.changeInfoMessage()},"state.input.options.max"(){this.service.changeInfoMessage()}}},OW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{attrs:{slot:"body"},slot:"body"},[i("span",{staticStyle:{"font-weight":"bold"}},[e._v(e._s(e.state.value))]),e._v(" "),i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","padding-right":"5px"},attrs:{slot:"body",tabIndex:e.tabIndex,min:e.state.input.options.min,max:e.state.input.options.max,type:"range",step:e.state.input.options.step},domProps:{value:e.state.value},on:{change:e.change,__r:function(r){return e.$set(e.state,"value",r.target.value)}},slot:"body"})])])},PW=[],FW=void 0,DW=void 0,jW=void 0,qW=!1;GW=zW({render:OW,staticRenderFns:PW},FW,AW,DW,qW,jW,!1,void 0,void 0,void 0),aM=GW});var Jx=Qe((T0e,cM)=>{lM();var $W=Vue.extend(aM);cM.exports=$W});function KW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputLonLat.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var BW,UW,VW,WW,HW,YW,XW,ZW,QW,uM,dM=W(()=>{bn();BW=Ti(),UW={name:"input-lonlat",mixins:[BW],data(){return{lonId:ut(),latId:ut(),coordinatebutton:{active:!1}}},computed:{getCoordinateActive(){return this.service.state.getCoordinateActive}},methods:{toggleGetCoordinate(){this.service.toggleGetCoordinate()},changeLonLat(){this.change(),this.setValue()},setValue(){this.state.value=[[1*this.state.values.lon,1*this.state.values.lat]]}},created(){this.state.values=this.state.values||{lon:0,lat:0},this.setValue(),this.service.setCoordinateButtonReactiveObject(this.coordinatebutton)},async mounted(){await this.$nextTick(),$(this.$refs["g3w-input-lat-lon"]).tooltip({trigger:"hover"})},destroyed(){this.service.clear()}},VW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticStyle:{position:"relative"}},[i("div",{staticStyle:{display:"flex","justify-content":"flex-end",height:"35px","margin-right":"12px","margin-bottom":"5px"}},[i("button",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip",value:"sdk.form.inputs.tooltips.lonlat",expression:"'sdk.form.inputs.tooltips.lonlat'"}],ref:"g3w-input-lat-lon",staticClass:"action skin-tooltip-left skin-color skin-border-color",class:e.g3wtemplate.font.crosshairs,staticStyle:{"border-radius":"5px","font-weight":"bold","font-size":"20px",cursor:"pointer"},style:{border:e.coordinatebutton.active?"2px solid":0},attrs:{"data-placement":"left","data-container":"body","data-toggle":"tooltip"},on:{click:function(r){return r.preventDefault(),r.stopPropagation(),e.toggleGetCoordinate.apply(null,arguments)}}})]),e._v(" "),i("baseinput",{attrs:{state:e.state}},[i("label",{staticClass:"col-sm-4 control-label",attrs:{slot:"label",for:e.lonId},slot:"label"},[e._v(e._s(e.state.labels.lon)+` + `)])})],2)]),e._v(" "),e.loadingState==="error"?i("p",{directives:[{name:"t",rawName:"v-t",value:"server_error",expression:"'server_error'"}],staticClass:"error-input-message",attrs:{slot:"message"},slot:"message"}):e._e()])},BV=[],UV=function(e){e&&e("data-v-9ea4abec_0",{source:".g3w-input-pick-layer[data-v-9ea4abec]{cursor:pointer;position:relative;top:2px;font-size:1.2em}",map:void 0,media:void 0})},VV="data-v-9ea4abec",WV=void 0,HV=!1;XV=YV({render:$V,staticRenderFns:BV},UV,GV,VV,HV,WV,!1,Xx,void 0,void 0),XR=XV});var up=Qe((p0e,KR)=>{ZR();var ZV=Vue.extend(XR);KR.exports=ZV});function oW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputMedia.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var KV,QV,JV,eW,tW,nW,iW,rW,sW,aW,QR,JR=W(()=>{bt();bn();KV=Ti(),{media_field:QV}=Nu(),JV={name:"input-media",mixins:[KV],components:{"g3w-media":QV},data(){return{data:{value:null,mime_type:null},mediaid:`media_${ut()}`,loading:!1}},methods:{onClick(){document.getElementById(this.mediaid).click()},clearMedia(){this.data.value=this.data.mime_type=this.state.value=null,this.change()},setMedia(){this.state.value&&(this.data.value=this.state.value.value,this.data.mime_type=this.state.value.mime_type)},async onChangeFile(e){let n=new FormData;n.append("csrfmiddlewaretoken",this.$cookie.get("csrftoken")),n.append(this.state.name,e.target.files[0]),this.loading=!0;try{let i=(await(await fetch(this.state.input.options.uploadurl,{method:"POST",headers:{Accept:"application/json"},body:n})).json())[this.state.name];console.log(i),i&&(this.state.value=i)}catch(i){console.warn(i),U.notify.error(this.$t("info.server_error"))}this.loading=!1}},watch:{"state.value"(){this.setMedia(),this.change()}},created(){this.setMedia()}},eW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"}],attrs:{slot:"body"},slot:"body"},[i("div",{staticClass:"g3w_input_button skin-border-color",staticStyle:{"border-style":"solid","border-width":"2px",width:"100%",cursor:"pointer","text-align":"center"},on:{click:e.onClick}},[i("i",{staticClass:"fa-2x skin-color",class:e.g3wtemplate.getFontClass("file-upload"),staticStyle:{padding:"5px"}},[i("input",{class:{"input-error-validation":e.notvalid},staticStyle:{display:"none"},attrs:{id:e.mediaid,name:e.state.name,tabIndex:e.tabIndex,"data-url":e.state.input.options.uploadurl,type:"file"},on:{change:e.onChangeFile}})])]),e._v(" "),i("bar-loader",{attrs:{loading:e.loading}}),e._v(" "),i("g3w-media",{attrs:{state:e.data}},[i("div",{staticClass:"clearmedia",on:{click:function(r){return r.stopPropagation(),e.clearMedia.apply(null,arguments)}}},[i("i",{staticClass:"g3w-icon",class:e.g3wtemplate.font["trash-o"]})])])],1)])},tW=[],nW=void 0,iW=void 0,rW=void 0,sW=!1;aW=oW({render:eW,staticRenderFns:tW},nW,JV,iW,sW,rW,!1,void 0,void 0,void 0),QR=aW});var Zx=Qe((v0e,eM)=>{JR();var lW=Vue.extend(QR);eM.exports=lW});function yW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputPickLayer.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var cW,uW,dW,hW,fW,pW,gW,mW,_W,vW,tM,nM=W(()=>{cW=Ti(),uW=jx(),dW={name:"input-picklayer",mixins:[cW],methods:{pickLayer(){this.pickservice.pick().then(e=>this.state.value=e).catch(()=>{})},unpick(){setTimeout(()=>!this.pickservice.isPicked()&&this.pickservice.unpick(),200)}},created(){this.pickservice=new uW(this.state.input.options)},beforeDestroy(){this.pickservice.clear(),this.pickservice=null}},hW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{attrs:{slot:"body"},slot:"body"},[i("span",{staticClass:"skin-color",class:e.g3wtemplate.font.crosshairs,staticStyle:{left:"0",top:"7px",position:"absolute"}}),e._v(" "),i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%"},style:{cursor:e.editable?"pointer":null},attrs:{readonly:"readonly",tabIndex:e.tabIndex},domProps:{value:e.state.value},on:{input:[function(r){r.target.composing||e.$set(e.state,"value",r.target.value)},e.change],click:e.pickLayer,blur:e.unpick}})])])},fW=[],pW=void 0,gW=void 0,mW=void 0,_W=!1;vW=yW({render:hW,staticRenderFns:fW},pW,dW,gW,_W,mW,!1,void 0,void 0,void 0),tM=vW});var Kx=Qe((w0e,iM)=>{nM();var bW=Vue.extend(tM);iM.exports=bW});function TW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputColor.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var xW,wW,SW,EW,CW,IW,kW,LW,NW,rM,sM=W(()=>{xW=Ti(),wW={name:"input-color",mixins:[xW]},SW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{cursor:"pointer"},attrs:{slot:"body",placeholder:e.state.default,type:"color",tabIndex:e.tabIndex,field:e.state.name,id:e.state.name},domProps:{value:e.state.value},on:{change:e.change,input:function(r){r.target.composing||e.$set(e.state,"value",r.target.value)}},slot:"body"})])},EW=[],CW=void 0,IW=void 0,kW=void 0,LW=!1;NW=TW({render:SW,staticRenderFns:EW},CW,wW,IW,LW,kW,!1,void 0,void 0,void 0),rM=NW});var Qx=Qe((C0e,oM)=>{sM();var RW=Vue.extend(rM);oM.exports=RW});function zW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputSliderRange.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var MW,AW,OW,PW,FW,DW,jW,qW,GW,aM,lM=W(()=>{MW=Ti(),AW={name:"input-slider-range",mixins:[MW],watch:{"state.input.options.min"(){this.service.changeInfoMessage()},"state.input.options.max"(){this.service.changeInfoMessage()}}},OW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("baseinput",{attrs:{state:e.state}},[i("div",{attrs:{slot:"body"},slot:"body"},[i("span",{staticStyle:{"font-weight":"bold"}},[e._v(e._s(e.state.value))]),e._v(" "),i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.value,expression:"state.value"}],class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","padding-right":"5px"},attrs:{slot:"body",tabIndex:e.tabIndex,min:e.state.input.options.min,max:e.state.input.options.max,type:"range",step:e.state.input.options.step},domProps:{value:e.state.value},on:{change:e.change,__r:function(r){return e.$set(e.state,"value",r.target.value)}},slot:"body"})])])},PW=[],FW=void 0,DW=void 0,jW=void 0,qW=!1;GW=zW({render:OW,staticRenderFns:PW},FW,AW,DW,qW,jW,!1,void 0,void 0,void 0),aM=GW});var Jx=Qe((L0e,cM)=>{lM();var $W=Vue.extend(aM);cM.exports=$W});function KW(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputLonLat.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var BW,UW,VW,WW,HW,YW,XW,ZW,QW,uM,dM=W(()=>{bn();BW=Ti(),UW={name:"input-lonlat",mixins:[BW],data(){return{lonId:ut(),latId:ut(),coordinatebutton:{active:!1}}},computed:{getCoordinateActive(){return this.service.state.getCoordinateActive}},methods:{toggleGetCoordinate(){this.service.toggleGetCoordinate()},changeLonLat(){this.change(),this.setValue()},setValue(){this.state.value=[[1*this.state.values.lon,1*this.state.values.lat]]}},created(){this.state.values=this.state.values||{lon:0,lat:0},this.setValue(),this.service.setCoordinateButtonReactiveObject(this.coordinatebutton)},async mounted(){await this.$nextTick(),$(this.$refs["g3w-input-lat-lon"]).tooltip({trigger:"hover"})},destroyed(){this.service.clear()}},VW=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticStyle:{position:"relative"}},[i("div",{staticStyle:{display:"flex","justify-content":"flex-end",height:"35px","margin-right":"12px","margin-bottom":"5px"}},[i("button",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip",value:"sdk.form.inputs.tooltips.lonlat",expression:"'sdk.form.inputs.tooltips.lonlat'"}],ref:"g3w-input-lat-lon",staticClass:"action skin-tooltip-left skin-color skin-border-color",class:e.g3wtemplate.font.crosshairs,staticStyle:{"border-radius":"5px","font-weight":"bold","font-size":"20px",cursor:"pointer"},style:{border:e.coordinatebutton.active?"2px solid":0},attrs:{"data-placement":"left","data-container":"body","data-toggle":"tooltip"},on:{click:function(r){return r.preventDefault(),r.stopPropagation(),e.toggleGetCoordinate.apply(null,arguments)}}})]),e._v(" "),i("baseinput",{attrs:{state:e.state}},[i("label",{staticClass:"col-sm-4 control-label",attrs:{slot:"label",for:e.lonId},slot:"label"},[e._v(e._s(e.state.labels.lon)+` `),e.state.validate&&e.state.validate.required?i("span",[e._v("*")]):e._e()]),e._v(" "),i("div",{attrs:{slot:"body"},slot:"body"},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.values.lon,expression:"state.values.lon"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{id:e.lonId,tabIndex:e.tabIndex,type:"number",min:"-180",max:"180",placeholder:"Lon"},domProps:{value:e.state.values.lon},on:{change:e.changeLonLat,input:function(r){r.target.composing||e.$set(e.state.values,"lon",r.target.value)}}})])]),e._v(" "),i("baseinput",{attrs:{state:e.state}},[i("label",{staticClass:"col-sm-4 control-label",attrs:{slot:"label",for:e.latId},slot:"label"},[e._v(e._s(e.state.labels.lat)+` - `),e.state.validate&&e.state.validate.required?i("span",[e._v("*")]):e._e()]),e._v(" "),i("div",{attrs:{slot:"body"},slot:"body"},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.values.lat,expression:"state.values.lat"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{id:e.latId,tabIndex:e.tabIndex,type:"number",min:"-90",max:"90",placeholder:"Lon"},domProps:{value:e.state.values.lat},on:{change:e.changeLonLat,input:function(r){r.target.composing||e.$set(e.state.values,"lat",r.target.value)}}})])])],1)},WW=[],HW=void 0,YW=void 0,XW=void 0,ZW=!1;QW=KW({render:VW,staticRenderFns:WW},HW,UW,YW,ZW,XW,!1,void 0,void 0,void 0),uM=QW});var ew=Qe((A0e,hM)=>{dM();var JW=Vue.extend(uM);hM.exports=JW});function lH(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputG3W.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var eH,tH,nH,iH,rH,sH,oH,aH,cH,bd,p_=W(()=>{eH={text_input:vf(),texthtml_input:kx(),textarea_input:Tx(),integer_input:Nx(),string_input:vf(),float_input:Rx(),radio_input:Mx(),check_input:Ax(),range_input:Ox(),datetimepicker_input:Px(),unique_input:Fx(),select_input:up(),media_input:Zx(),select_autocomplete_input:up(),picklayer_input:Kx(),color_input:Qx(),slider_input:Jx(),lonlat_input:ew()},tH={name:"g3w-input",props:{state:{required:!0},addToValidate:{type:Function,required:!0},removeToValidate:{type:Function,required:!0},changeInput:{type:Function,required:!0}},components:{...eH},computed:{type(){if(this.state.type!=="child")return this.state.input.type?`${this.state.input.type}_input`:`${this.state.type}_input`}},created(){this.state.type!=="child"&&!this.state.input.options&&(this.state.input.options={})}},nH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.state.visible?i("div",[e.state.type!=="child"?i("div",[i(e.type,{tag:"component",attrs:{changeInput:e.changeInput,addToValidate:e.addToValidate,removeToValidate:e.removeToValidate,state:e.state},on:{changeinput:e.changeInput,addinput:e.addToValidate,removeinput:e.removeToValidate}}),e._v(" "),i("divider")],1):i("div",{staticClass:"skin-border-color field-child",staticStyle:{"border-top":"2px solid"}},[i("h4",{staticStyle:{"font-weight":"bold"}},[e._v(e._s(e.state.label))]),e._v(" "),i("div",[e._v(" "+e._s(e.state.description)+" ")]),e._v(" "),e._l(e.state.fields,function(r){return i("g3w-input",{key:r.name,attrs:{state:r,changeInput:e.changeInput,addToValidate:e.addToValidate,removeToValidate:e.removeToValidate},on:{changeinput:e.changeInput,addinput:e.addToValidate,removeinput:e.removeToValidate}})})],2)]):e._e()},iH=[],rH=void 0,sH=void 0,oH=void 0,aH=!1;cH=lH({render:nH,staticRenderFns:iH},rH,tH,sH,aH,oH,!1,void 0,void 0,void 0),bd=cH});function _H(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputG3WFormInputs.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function tw(){let e=tw.styles||(tw.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` + `),e.state.validate&&e.state.validate.required?i("span",[e._v("*")]):e._e()]),e._v(" "),i("div",{attrs:{slot:"body"},slot:"body"},[i("input",{directives:[{name:"disabled",rawName:"v-disabled",value:!e.editable,expression:"!editable"},{name:"model",rawName:"v-model",value:e.state.values.lat,expression:"state.values.lat"}],staticClass:"form-control",class:{"input-error-validation":e.notvalid},staticStyle:{width:"100%","margin-bottom":"5px"},attrs:{id:e.latId,tabIndex:e.tabIndex,type:"number",min:"-90",max:"90",placeholder:"Lon"},domProps:{value:e.state.values.lat},on:{change:e.changeLonLat,input:function(r){r.target.composing||e.$set(e.state.values,"lat",r.target.value)}}})])])],1)},WW=[],HW=void 0,YW=void 0,XW=void 0,ZW=!1;QW=KW({render:VW,staticRenderFns:WW},HW,UW,YW,ZW,XW,!1,void 0,void 0,void 0),uM=QW});var ew=Qe((M0e,hM)=>{dM();var JW=Vue.extend(uM);hM.exports=JW});function lH(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="InputG3W.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var eH,tH,nH,iH,rH,sH,oH,aH,cH,bd,p_=W(()=>{eH={text_input:vf(),texthtml_input:kx(),textarea_input:Tx(),integer_input:Nx(),string_input:vf(),float_input:Rx(),radio_input:Mx(),check_input:Ax(),range_input:Ox(),datetimepicker_input:Px(),unique_input:Fx(),select_input:up(),media_input:Zx(),select_autocomplete_input:up(),picklayer_input:Kx(),color_input:Qx(),slider_input:Jx(),lonlat_input:ew()},tH={name:"g3w-input",props:{state:{required:!0},addToValidate:{type:Function,required:!0},removeToValidate:{type:Function,required:!0},changeInput:{type:Function,required:!0}},components:{...eH},computed:{type(){if(this.state.type!=="child")return this.state.input.type?`${this.state.input.type}_input`:`${this.state.type}_input`}},created(){this.state.type!=="child"&&!this.state.input.options&&(this.state.input.options={})}},nH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.state.visible?i("div",[e.state.type!=="child"?i("div",[i(e.type,{tag:"component",attrs:{changeInput:e.changeInput,addToValidate:e.addToValidate,removeToValidate:e.removeToValidate,state:e.state},on:{changeinput:e.changeInput,addinput:e.addToValidate,removeinput:e.removeToValidate}}),e._v(" "),i("divider")],1):i("div",{staticClass:"skin-border-color field-child",staticStyle:{"border-top":"2px solid"}},[i("h4",{staticStyle:{"font-weight":"bold"}},[e._v(e._s(e.state.label))]),e._v(" "),i("div",[e._v(" "+e._s(e.state.description)+" ")]),e._v(" "),e._l(e.state.fields,function(r){return i("g3w-input",{key:r.name,attrs:{state:r,changeInput:e.changeInput,addToValidate:e.addToValidate,removeToValidate:e.removeToValidate},on:{changeinput:e.changeInput,addinput:e.addToValidate,removeinput:e.removeToValidate}})})],2)]):e._e()},iH=[],rH=void 0,sH=void 0,oH=void 0,aH=!1;cH=lH({render:nH,staticRenderFns:iH},rH,tH,sH,aH,oH,!1,void 0,void 0,void 0),bd=cH});function _H(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="InputG3WFormInputs.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function tw(){let e=tw.styles||(tw.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var uH,dH,hH,fH,pH,gH,mH,yH,g_,nw=W(()=>{p_();uH={name:"g3w-form-inputs",props:{state:{type:Object,default:{fields:[]}},addToValidate:{type:Function},changeInput:{type:Function},show_required_field_message:{type:Boolean,default:!1},removeToValidate:{type:Function}},components:{G3wInput:bd}},dH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("form",{staticClass:"form-horizontal g3w-form"},[i("div",{staticClass:"box-primary"},[i("div",{staticClass:"box-body"},[e._l(e.state.fields,function(r){return[i("g3w-input",{attrs:{state:r,removeToValidate:e.removeToValidate,addToValidate:e.addToValidate,changeInput:e.changeInput},on:{addToValidate:e.addToValidate,changeInput:e.changeInput}})]})],2),e._v(" "),e.show_required_field_message?i("div",{staticStyle:{"caret-color":"rgba(0,0,0,0)"},attrs:{id:"g3w-for-inputs-required-inputs-message"}},[i("span",[e._v("*")]),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.form.footer.required_fields",expression:"'sdk.form.footer.required_fields'"}]})]):e._e()])])},hH=[],fH=function(e){e&&e("data-v-2f4cd854_0",{source:"#g3w-for-inputs-required-inputs-message[data-v-2f4cd854]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-2f4cd854]{padding:5px}",map:void 0,media:void 0})},pH="data-v-2f4cd854",gH=void 0,mH=!1;yH=_H({render:dH,staticRenderFns:hH},fH,uH,pH,mH,gH,!1,tw,void 0,void 0),g_=yH});function IH(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FormBody.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var vH,bH,xH,wH,SH,EH,CH,kH,fM,pM=W(()=>{nw();vH=Vue.extend({name:"form-body",props:["state","handleRelation"],data(){return{show:!0}},components:{G3wFormInputs:g_},methods:{addToValidate(e){this.$emit("addtovalidate",e)},removeToValidate(e){this.$emit("removetovalidate",e)},changeInput(e){this.$emit("changeinput",e)}},computed:{hasFormStructure(){return!!this.state.formstructure}}}),bH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",[i("form",{staticClass:"form-horizontal g3w-form"},[i("div",{staticClass:"box-primary"},[i("div",{staticClass:"box-body"},[e.hasFormStructure?[i("tabs",{attrs:{layerid:e.state.layerid,feature:e.state.feature,handleRelation:e.handleRelation,contenttype:"editing",addToValidate:e.addToValidate,changeInput:e.changeInput,removeToValidate:e.removeToValidate,tabs:e.state.formstructure,fields:e.state.fields}})]:[i("g3w-form-inputs",{attrs:{state:e.state,addToValidate:e.addToValidate,removeToValidate:e.removeToValidate,changeInput:e.changeInput},on:{changeinput:e.changeInput,addinput:e.addToValidate,removeinput:e.removeToValidate}})]],2)])])])},xH=[],wH=void 0,SH=void 0,EH=void 0,CH=!1;kH=IH({render:bH,staticRenderFns:xH},wH,vH,SH,CH,EH,!1,void 0,void 0,void 0),fM=kH});async function xd({field:e,feature:n,qgs_layer_id:i,parentData:r}={}){let{layer_id:o=i,default_expression:u,loading:c,default:f}=e.input.options;if(u){c.state="loading";try{let p=await Ht.getData("expression:expression_eval",{inputs:{field_name:e.name,layer_id:o,qgs_layer_id:i,form_data:new ol.format.GeoJSON().writeFeatureObject(n),formatter:0,expression:u.expression,parent:r&&{form_data:new ol.format.GeoJSON().writeFeatureObject(r.feature),qgs_layer_id:r.qgs_layer_id,formatter:0}},outputs:!1});return e.value=p,p}catch(p){return f!==void 0&&(e.value=f),console.warn(p),Promise.reject(p)}finally{c.state="ready"}}}var iw=W(()=>{zi()});async function dp({field:e,feature:n,qgs_layer_id:i,parentData:r}={}){let{key:o,value:u,layer_id:c=i,filter_expression:f,loading:p,orderbyvalue:g}=e.input.options;if(f){p.state="loading";try{let d=await Ht.getData("expression:expression",{inputs:{field_name:e.name,layer_id:c,qgs_layer_id:i,form_data:new ol.format.GeoJSON().writeFeatureObject(n),parent:r&&{form_data:new ol.format.GeoJSON().writeFeatureObject(r.feature),qgs_layer_id:r.qgs_layer_id,formatter:0},formatter:0,expression:f.expression,ordering:[void 0,!1].includes(g)?o:u},outputs:!1});if(e.input.type==="select_autocomplete"){e.input.options.values=[];let v=[];for(let y=0;y{zi()});var gM={};vi(gM,{FormComponent:()=>hp,FormService:()=>wd});var hp,wd,sw=W(()=>{Yn();zs();bt();HE();pM();iw();rw();hp=class extends zt{constructor(n={}){super({...n,id:n.id||"form",perc:n.layer.getFormPercentage()!==null?n.layer.getFormPercentage():n.perc,service:new(n.service||wd),vueComponentObject:n.vueComponentObject||WE});let i=n.components||[{id:n.id,title:n.title,name:n.name,root:!0,component:fM,headerComponent:n.headerComponent}];this.getService().addComponents(i),this.getService().setComponent(i[0].component),this.onafter("mount",()=>U.setModal(!0))}addFormComponents(n=[]){this.getService().addComponents(n)}addFormComponent(n){n&&this.getService().addComponent(n)}layout(){this.getInternalComponent().reloadLayout()}mount(n,i){return super.mount(n,i).then(()=>{U.setModal(!0)})}},wd=class extends Et{constructor(n={}){super(n),this.state=null,this.eventBus=new Vue,this.eventBus.$on("set-loading-form",(i=!1)=>this.state.loading=i),this.force={update:!1,valid:!1},this.layer,this.setters={setInitForm(i={}){this._setInitForm(i)},setFormStructure(i){this.state.formstructure=i},setFormFields(i=[]){this.state.fields=i,this.handleFieldsWithExpression(i)},setupFields(){},setFormData(i=[]){this.setFormFields(i)},setField(i){},setState(i){this._setState(i)},addActionsForForm(i){},postRender(i){}}}init(n={}){this._setInitForm(n)}_setInitForm(n={}){let{fields:i,feature:r,parentData:o,layer:u,title:c="Form",formId:f,name:p,buttons:g={},context_inputs:d,isnew:v,footer:y={},headerComponent:S}=n;this.layer=u,this.feature=r.clone(),this.title=c,this.formId=f,this.name=p,this.buttons=g,this.context_inputs=d,this.parentData=o,this.headerComponent=S,this.state={layerid:u.getId(),loading:!1,components:[],disabledcomponents:[],component:null,headers:[],currentheaderid:null,fields:null,buttons:this.buttons,disabled:!1,isnew:v,valid:!0,update:r.isNew(),tovalidate:{},feature:this.feature,componentstovalidate:{},footer:y,ready:!1},this.force.update=r.isNew(),this.filter_expression_fields_dependencies={},this.default_expression_fields_dependencies={},this.default_expression_fields_on_update=[],this.setFormFields(i),this.layer&&n.formStructure&&this.setFormStructure(this.layer.getLayerEditingFormStructure())}setReady(n=!1){this.state.ready=n}async changeInput(n){try{this.feature.set(n.name,n.value),await this.evaluateFilterExpressionFields(n),await this.evaluateDefaultExpressionFields(n),this.isValid(n),this.isUpdated(n)}catch(i){console.warn(i)}this.emit("changeInput",n)}isUpdated(n){this.state.update=this.force.update||(this.state.update?!!this.state.fields.find(i=>i.update):n.update)}setUpdate(n=!1,i={}){let{force:r=!1}=i;this.force.update=r,this.state.update=this.force.update||n,this.state.update===!1&&this.state.fields.forEach(o=>o._value=o.value)}evaluateDefaultExpressionFields(n={}){let i=this.default_expression_fields_dependencies[n.name];if(i)return Promise.allSettled(i.map(r=>xd({parentData:this.parentData,qgs_layer_id:this.layer.getId(),field:this._getField(r),feature:this.feature})))}evaluateFilterExpressionFields(n={}){let i=this.filter_expression_fields_dependencies[n.name];if(i)return Promise.allSettled(i.map(r=>dp({parentData:this.parentData,qgs_layer_id:this.layer.getId(),field:this._getField(r),feature:this.feature})))}_handleFieldWithFilterExpression(n,i){if(!i)return;let{referencing_fields:r=[],referenced_columns:o=[]}=i,u=new Set;[...o,...r].forEach(c=>u.add(c)),u.forEach(c=>{this.filter_expression_fields_dependencies[c]===void 0&&(this.filter_expression_fields_dependencies[c]=[]),this.filter_expression_fields_dependencies[c].push(n.name)}),dp({parentData:this.parentData,qgs_layer_id:this.layer.getId(),feature:this.feature,field:n})}_handleFieldWithDefaultExpression(n,i){if(i){let{referencing_fields:r=[],referenced_columns:o=[],apply_on_update:u=!1}=i;if(!u&&!this.state.isnew)return;let c=new Set;[...o,...r].forEach(f=>c.add(f)),u&&(this.default_expression_fields_on_update.push(n),c.forEach(f=>{this.default_expression_fields_dependencies[f]===void 0&&(this.default_expression_fields_dependencies[f]=[]),this.default_expression_fields_dependencies[f].push(n.name)})),this.state.isnew&&xd({field:n,feature:this.feature,qgs_layer_id:this.layer.getId(),parentData:this.parentData})}}handleFieldsWithExpression(n=[]){n.forEach(i=>{let{options:r={}}=i.input;this._handleFieldWithFilterExpression(i,r.filter_expression),this._handleFieldWithDefaultExpression(i,r.default_expression)}),Object.keys(this.filter_expression_fields_dependencies).forEach(i=>this.evaluateFilterExpressionFields({name:i}))}setCurrentFormPercentage(n){this.layer.setFormPercentage(n)}setLoading(n=!1){this.state.loading=n}setValidComponent({id:n,valid:i}){this.state.componentstovalidate[n]=i,this.isValid()}getValidComponent(n){return this.state.componentstovalidate[n]}isValid(n){if(n){if(n.validate.mutually&&!n.validate.required&&!n.validate.empty&&(n.validate._valid=n.validate.valid,n.validate.mutually_valid=n.validate.mutually.reduce((i,r)=>i&&this.state.tovalidate[r].validate.empty,!0),n.validate.valid=n.validate.mutually_valid&&n.validate.valid),n.validate.mutually&&!n.validate.required&&n.validate.empty){n.value=null,n.validate.mutually_valid=!0,n.validate.valid=!0,n.validate._valid=!0;let i=[];for(let r=n.validate.mutually.length;r--;){let o=n.validate.mutually[r];this.state.tovalidate[o].validate.empty||i.push(o)}i.length<2&&i.forEach(r=>{this.state.tovalidate[r].validate.mutually_valid=!0,this.state.tovalidate[r].validate.valid=!0,setTimeout(()=>{this.state.tovalidate[r].validate.valid=this.state.tovalidate[r].validate._valid,this.state.valid=this.state.valid&&this.state.tovalidate[r].validate.valid})})}if(!n.validate.mutually&&!n.validate.empty&&(n.validate.min_field||n.validate.max_field)){let i=n.validate.min_field||n.validate.max_field;n.validate.valid=n.validate.min_field?this.state.tovalidate[n.validate.min_field].validate.empty||1*n.value>1*this.state.tovalidate[n.validate.min_field].value:this.state.tovalidate[n.validate.max_field].validate.empty||1*n.value<1*this.state.tovalidate[n.validate.max_field].value,n.validate.valid&&(this.state.tovalidate[i].validate.valid=!0)}}this.state.valid=Object.values(this.state.tovalidate).reduce((i,r)=>i&&r.validate.valid,!0)&&Object.values(this.state.componentstovalidate).reduce((i,r)=>i&&r,!0)}addComponents(n=[]){for(let i of n)this.addComponent(i)}addComponent(n){if(!n)return;let{id:i,title:r,name:o,icon:u,valid:c,headerComponent:f,header:p=!0}=n;c!==void 0&&(this.state.componentstovalidate[i]=c,this.state.valid=this.state.valid&&c,this.eventBus.$emit("add-component-validate",{id:i,valid:c})),p&&(this.state.headers.push({title:r,name:o,id:i,icon:u,component:f}),this.state.currentheaderid=this.state.currentheaderid||i),this.state.components.push(n)}replaceComponent({id:n,component:i}={}){this.state.components.splice(this.state.components.findIndex(r=>n===r.id),1,i)}disableComponent({id:n,disabled:i}={}){i?this.state.disabledcomponents.push(n):this.state.disabledcomponents=this.state.disabledcomponents.filter(r=>n!==r)}setCurrentComponentById(n){if(!this.state.disabledcomponents.includes(n))return this.setIdHeader(n),this.state.component=this.state.components.find(i=>n===i.id).component,this.state.component}setRootComponent(){this.state.component=this.state.components.find(n=>n.root).component}getRootComponent(){return this.state.components.find(n=>n.root).component}isRootComponent(n){return n===this.getRootComponent()}getComponentById(n){return this.state.components.find(i=>n===i.id)}setComponent(n){this.state.component=n}addedComponentTo(n="body"){this.state.addedcomponentto[n]=!0}addToValidate(n){this.state.tovalidate[n.name]=n,this.state.ready&&this.isValid(n)}removeToValidate(n){delete this.state.tovalidate[n.name],this.isValid()}getState(){return this.state}_setState(n){this.state=n}getFields(){return this.state.fields}_getField(n){return this.state.fields.find(i=>n===i.name)}getEventBus(){return this.eventBus}setIdHeader(n){this.state.currentheaderid=n}getContext(){return this.context_inputs.context}getSession(){return this.getContext().session}getInputs(){return this.context_inputs.inputs}handleRelation({relationId:n,feature:i}){}clearAll(){this.eventBus.$off("addtovalidate"),this.eventBus.$off("set-main-component"),this.eventBus.$off("set-loading-form"),this.eventBus.$off("component-validation"),this.eventBus.$off("disable-component")}async saveDefaultExpressionFieldsNotDependencies(){if(this.default_expression_fields_on_update.length!==0)try{let n=new Set(Object.values(this.default_expression_fields_dependencies).flat()),i=this.default_expression_fields_on_update.filter(({name:r})=>!n.has(r));await Promise.allSettled(i.map(r=>new Promise(async(o,u)=>{try{let c=r.value,f=await xd({field:r,feature:this.feature,qgs_layer_id:this.layer.getId(),parentData:this.parentData});c!==f&&await new Promise(p=>this.once("changeInput",p)),o()}catch(c){console.warn(c),u()}})))}catch(n){console.warn(n)}}}});var mM={};vi(mM,{default:()=>DH});function PH(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="ProjectsMenu.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function ow(){let e=ow.styles||(ow.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var uH,dH,hH,fH,pH,gH,mH,yH,g_,nw=W(()=>{p_();uH={name:"g3w-form-inputs",props:{state:{type:Object,default:{fields:[]}},addToValidate:{type:Function},changeInput:{type:Function},show_required_field_message:{type:Boolean,default:!1},removeToValidate:{type:Function}},components:{G3wInput:bd}},dH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("form",{staticClass:"form-horizontal g3w-form"},[i("div",{staticClass:"box-primary"},[i("div",{staticClass:"box-body"},[e._l(e.state.fields,function(r){return[i("g3w-input",{attrs:{state:r,removeToValidate:e.removeToValidate,addToValidate:e.addToValidate,changeInput:e.changeInput},on:{addToValidate:e.addToValidate,changeInput:e.changeInput}})]})],2),e._v(" "),e.show_required_field_message?i("div",{staticStyle:{"caret-color":"rgba(0,0,0,0)"},attrs:{id:"g3w-for-inputs-required-inputs-message"}},[i("span",[e._v("*")]),e._v(" "),i("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.form.footer.required_fields",expression:"'sdk.form.footer.required_fields'"}]})]):e._e()])])},hH=[],fH=function(e){e&&e("data-v-2f4cd854_0",{source:"#g3w-for-inputs-required-inputs-message[data-v-2f4cd854]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-2f4cd854]{padding:5px}",map:void 0,media:void 0})},pH="data-v-2f4cd854",gH=void 0,mH=!1;yH=_H({render:dH,staticRenderFns:hH},fH,uH,pH,mH,gH,!1,tw,void 0,void 0),g_=yH});function IH(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="FormBody.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var vH,bH,xH,wH,SH,EH,CH,kH,fM,pM=W(()=>{nw();vH=Vue.extend({name:"form-body",props:["state","handleRelation"],data(){return{show:!0}},components:{G3wFormInputs:g_},methods:{addToValidate(e){this.$emit("addtovalidate",e)},removeToValidate(e){this.$emit("removetovalidate",e)},changeInput(e){this.$emit("changeinput",e)}},computed:{hasFormStructure(){return!!this.state.formstructure}}}),bH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",[i("form",{staticClass:"form-horizontal g3w-form"},[i("div",{staticClass:"box-primary"},[i("div",{staticClass:"box-body"},[e.hasFormStructure?[i("tabs",{attrs:{layerid:e.state.layerid,feature:e.state.feature,handleRelation:e.handleRelation,contenttype:"editing",addToValidate:e.addToValidate,changeInput:e.changeInput,removeToValidate:e.removeToValidate,tabs:e.state.formstructure,fields:e.state.fields}})]:[i("g3w-form-inputs",{attrs:{state:e.state,addToValidate:e.addToValidate,removeToValidate:e.removeToValidate,changeInput:e.changeInput},on:{changeinput:e.changeInput,addinput:e.addToValidate,removeinput:e.removeToValidate}})]],2)])])])},xH=[],wH=void 0,SH=void 0,EH=void 0,CH=!1;kH=IH({render:bH,staticRenderFns:xH},wH,vH,SH,CH,EH,!1,void 0,void 0,void 0),fM=kH});async function xd({field:e,feature:n,qgs_layer_id:i,parentData:r}={}){let{layer_id:o=i,default_expression:u,loading:c,default:f}=e.input.options;if(u){c.state="loading";try{let p=await Ht.getData("expression:expression_eval",{inputs:{field_name:e.name,layer_id:o,qgs_layer_id:i,form_data:new ol.format.GeoJSON().writeFeatureObject(n),formatter:0,expression:u.expression,parent:r&&{form_data:new ol.format.GeoJSON().writeFeatureObject(r.feature),qgs_layer_id:r.qgs_layer_id,formatter:0}},outputs:!1});return e.value=p,p}catch(p){return f!==void 0&&(e.value=f),console.warn(p),Promise.reject(p)}finally{c.state="ready"}}}var iw=W(()=>{zi()});async function dp({field:e,feature:n,qgs_layer_id:i,parentData:r}={}){let{key:o,value:u,layer_id:c=i,filter_expression:f,loading:p,orderbyvalue:g}=e.input.options;if(f){p.state="loading";try{let d=await Ht.getData("expression:expression",{inputs:{field_name:e.name,layer_id:c,qgs_layer_id:i,form_data:new ol.format.GeoJSON().writeFeatureObject(n),parent:r&&{form_data:new ol.format.GeoJSON().writeFeatureObject(r.feature),qgs_layer_id:r.qgs_layer_id,formatter:0},formatter:0,expression:f.expression,ordering:[void 0,!1].includes(g)?o:u},outputs:!1});if(e.input.type==="select_autocomplete"){e.input.options.values=[];let v=[];for(let y=0;y{zi()});var gM={};hi(gM,{FormComponent:()=>hp,FormService:()=>wd});var hp,wd,sw=W(()=>{Yn();qs();bt();HE();pM();iw();rw();hp=class extends zt{constructor(n={}){super({...n,id:n.id||"form",perc:n.layer.getFormPercentage()!==null?n.layer.getFormPercentage():n.perc,service:new(n.service||wd),vueComponentObject:n.vueComponentObject||WE});let i=n.components||[{id:n.id,title:n.title,name:n.name,root:!0,component:fM,headerComponent:n.headerComponent}];this.getService().addComponents(i),this.getService().setComponent(i[0].component),this.onafter("mount",()=>U.setModal(!0))}addFormComponents(n=[]){this.getService().addComponents(n)}addFormComponent(n){n&&this.getService().addComponent(n)}layout(){this.getInternalComponent().reloadLayout()}mount(n,i){return super.mount(n,i).then(()=>{U.setModal(!0)})}},wd=class extends Et{constructor(n={}){super(n),this.state=null,this.eventBus=new Vue,this.eventBus.$on("set-loading-form",(i=!1)=>this.state.loading=i),this.force={update:!1,valid:!1},this.layer,this.setters={setInitForm(i={}){this._setInitForm(i)},setFormStructure(i){this.state.formstructure=i},setFormFields(i=[]){this.state.fields=i,this.handleFieldsWithExpression(i)},setupFields(){},setFormData(i=[]){this.setFormFields(i)},setField(i){},setState(i){this._setState(i)},addActionsForForm(i){},postRender(i){}}}init(n={}){this._setInitForm(n)}_setInitForm(n={}){let{fields:i,feature:r,parentData:o,layer:u,title:c="Form",formId:f,name:p,buttons:g={},context_inputs:d,isnew:v,footer:y={},headerComponent:S}=n;this.layer=u,this.feature=r.clone(),this.title=c,this.formId=f,this.name=p,this.buttons=g,this.context_inputs=d,this.parentData=o,this.headerComponent=S,this.state={layerid:u.getId(),loading:!1,components:[],disabledcomponents:[],component:null,headers:[],currentheaderid:null,fields:null,buttons:this.buttons,disabled:!1,isnew:v,valid:!0,update:r.isNew(),tovalidate:{},feature:this.feature,componentstovalidate:{},footer:y,ready:!1},this.force.update=r.isNew(),this.filter_expression_fields_dependencies={},this.default_expression_fields_dependencies={},this.default_expression_fields_on_update=[],this.setFormFields(i),this.layer&&n.formStructure&&this.setFormStructure(this.layer.getLayerEditingFormStructure())}setReady(n=!1){this.state.ready=n}async changeInput(n){try{this.feature.set(n.name,n.value),await this.evaluateFilterExpressionFields(n),await this.evaluateDefaultExpressionFields(n),this.isValid(n),this.isUpdated(n)}catch(i){console.warn(i)}this.emit("changeInput",n)}isUpdated(n){this.state.update=this.force.update||(this.state.update?!!this.state.fields.find(i=>i.update):n.update)}setUpdate(n=!1,i={}){let{force:r=!1}=i;this.force.update=r,this.state.update=this.force.update||n,this.state.update===!1&&this.state.fields.forEach(o=>o._value=o.value)}evaluateDefaultExpressionFields(n={}){let i=this.default_expression_fields_dependencies[n.name];if(i)return Promise.allSettled(i.map(r=>xd({parentData:this.parentData,qgs_layer_id:this.layer.getId(),field:this._getField(r),feature:this.feature})))}evaluateFilterExpressionFields(n={}){let i=this.filter_expression_fields_dependencies[n.name];if(i)return Promise.allSettled(i.map(r=>dp({parentData:this.parentData,qgs_layer_id:this.layer.getId(),field:this._getField(r),feature:this.feature})))}_handleFieldWithFilterExpression(n,i){if(!i)return;let{referencing_fields:r=[],referenced_columns:o=[]}=i,u=new Set;[...o,...r].forEach(c=>u.add(c)),u.forEach(c=>{this.filter_expression_fields_dependencies[c]===void 0&&(this.filter_expression_fields_dependencies[c]=[]),this.filter_expression_fields_dependencies[c].push(n.name)}),dp({parentData:this.parentData,qgs_layer_id:this.layer.getId(),feature:this.feature,field:n})}_handleFieldWithDefaultExpression(n,i){if(i){let{referencing_fields:r=[],referenced_columns:o=[],apply_on_update:u=!1}=i;if(!u&&!this.state.isnew)return;let c=new Set;[...o,...r].forEach(f=>c.add(f)),u&&(this.default_expression_fields_on_update.push(n),c.forEach(f=>{this.default_expression_fields_dependencies[f]===void 0&&(this.default_expression_fields_dependencies[f]=[]),this.default_expression_fields_dependencies[f].push(n.name)})),this.state.isnew&&xd({field:n,feature:this.feature,qgs_layer_id:this.layer.getId(),parentData:this.parentData})}}handleFieldsWithExpression(n=[]){n.forEach(i=>{let{options:r={}}=i.input;this._handleFieldWithFilterExpression(i,r.filter_expression),this._handleFieldWithDefaultExpression(i,r.default_expression)}),Object.keys(this.filter_expression_fields_dependencies).forEach(i=>this.evaluateFilterExpressionFields({name:i}))}setCurrentFormPercentage(n){this.layer.setFormPercentage(n)}setLoading(n=!1){this.state.loading=n}setValidComponent({id:n,valid:i}){this.state.componentstovalidate[n]=i,this.isValid()}getValidComponent(n){return this.state.componentstovalidate[n]}isValid(n){if(n){if(n.validate.mutually&&!n.validate.required&&!n.validate.empty&&(n.validate._valid=n.validate.valid,n.validate.mutually_valid=n.validate.mutually.reduce((i,r)=>i&&this.state.tovalidate[r].validate.empty,!0),n.validate.valid=n.validate.mutually_valid&&n.validate.valid),n.validate.mutually&&!n.validate.required&&n.validate.empty){n.value=null,n.validate.mutually_valid=!0,n.validate.valid=!0,n.validate._valid=!0;let i=[];for(let r=n.validate.mutually.length;r--;){let o=n.validate.mutually[r];this.state.tovalidate[o].validate.empty||i.push(o)}i.length<2&&i.forEach(r=>{this.state.tovalidate[r].validate.mutually_valid=!0,this.state.tovalidate[r].validate.valid=!0,setTimeout(()=>{this.state.tovalidate[r].validate.valid=this.state.tovalidate[r].validate._valid,this.state.valid=this.state.valid&&this.state.tovalidate[r].validate.valid})})}if(!n.validate.mutually&&!n.validate.empty&&(n.validate.min_field||n.validate.max_field)){let i=n.validate.min_field||n.validate.max_field;n.validate.valid=n.validate.min_field?this.state.tovalidate[n.validate.min_field].validate.empty||1*n.value>1*this.state.tovalidate[n.validate.min_field].value:this.state.tovalidate[n.validate.max_field].validate.empty||1*n.value<1*this.state.tovalidate[n.validate.max_field].value,n.validate.valid&&(this.state.tovalidate[i].validate.valid=!0)}}this.state.valid=Object.values(this.state.tovalidate).reduce((i,r)=>i&&r.validate.valid,!0)&&Object.values(this.state.componentstovalidate).reduce((i,r)=>i&&r,!0)}addComponents(n=[]){for(let i of n)this.addComponent(i)}addComponent(n){if(!n)return;let{id:i,title:r,name:o,icon:u,valid:c,headerComponent:f,header:p=!0}=n;c!==void 0&&(this.state.componentstovalidate[i]=c,this.state.valid=this.state.valid&&c,this.eventBus.$emit("add-component-validate",{id:i,valid:c})),p&&(this.state.headers.push({title:r,name:o,id:i,icon:u,component:f}),this.state.currentheaderid=this.state.currentheaderid||i),this.state.components.push(n)}replaceComponent({id:n,component:i}={}){this.state.components.splice(this.state.components.findIndex(r=>n===r.id),1,i)}disableComponent({id:n,disabled:i}={}){i?this.state.disabledcomponents.push(n):this.state.disabledcomponents=this.state.disabledcomponents.filter(r=>n!==r)}setCurrentComponentById(n){if(!this.state.disabledcomponents.includes(n))return this.setIdHeader(n),this.state.component=this.state.components.find(i=>n===i.id).component,this.state.component}setRootComponent(){this.state.component=this.state.components.find(n=>n.root).component}getRootComponent(){return this.state.components.find(n=>n.root).component}isRootComponent(n){return n===this.getRootComponent()}getComponentById(n){return this.state.components.find(i=>n===i.id)}setComponent(n){this.state.component=n}addedComponentTo(n="body"){this.state.addedcomponentto[n]=!0}addToValidate(n){this.state.tovalidate[n.name]=n,this.state.ready&&this.isValid(n)}removeToValidate(n){delete this.state.tovalidate[n.name],this.isValid()}getState(){return this.state}_setState(n){this.state=n}getFields(){return this.state.fields}_getField(n){return this.state.fields.find(i=>n===i.name)}getEventBus(){return this.eventBus}setIdHeader(n){this.state.currentheaderid=n}getContext(){return this.context_inputs.context}getSession(){return this.getContext().session}getInputs(){return this.context_inputs.inputs}handleRelation({relationId:n,feature:i}){}clearAll(){this.eventBus.$off("addtovalidate"),this.eventBus.$off("set-main-component"),this.eventBus.$off("set-loading-form"),this.eventBus.$off("component-validation"),this.eventBus.$off("disable-component")}async saveDefaultExpressionFieldsNotDependencies(){if(this.default_expression_fields_on_update.length!==0)try{let n=new Set(Object.values(this.default_expression_fields_dependencies).flat()),i=this.default_expression_fields_on_update.filter(({name:r})=>!n.has(r));await Promise.allSettled(i.map(r=>new Promise(async(o,u)=>{try{let c=r.value,f=await xd({field:r,feature:this.feature,qgs_layer_id:this.layer.getId(),parentData:this.parentData});c!==f&&await new Promise(p=>this.once("changeInput",p)),o()}catch(c){console.warn(c),u()}})))}catch(n){console.warn(n)}}}});var mM={};hi(mM,{default:()=>DH});function PH(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="ProjectsMenu.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function ow(){let e=ow.styles||(ow.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var LH,TH,NH,RH,MH,AH,OH,FH,DH,_M=W(()=>{bt();ln();LH={name:"projects-menu",data(){return{state:null,loading:!1}},methods:{trigger(e){e.cbk?this._initCallback(e):e.href?window.open(e.href,"_blank"):e.route?U.goto(e.route):console.log("No action for "+e.title)},_initCallback(e){this._toggleModal(!0),e.cbk.call(e,{gid:e.gid}).then(n=>{n.then(i=>{i&&(document.title=i.state.html_page_title)}).fail(()=>{U.notify.error("

    "+He("error_map_loading")+"

    "+He("check_internet_connection_or_server_admin")+"
    ")}).always(()=>{this._toggleModal(!1)})})},_toggleModal(e){U.showFullModal({show:e}),U.setLoadingContent(e)},logoSrc(e){let n,i=this.$options.host||"",r=e&&e.includes(window.initConfig.mediaurl),o=e&&!e.includes("static")&&!e.includes("media");return e?r?n=e:o?n=`${window.initConfig.mediaurl}${e}`:n="/static/client/images/FakeProjectThumb.png":n="/static/client/images/FakeProjectThumb.png",`${i}${n}`}}},TH=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"container",attrs:{id:"menu-projects"}},[i("div",{staticClass:"row row-equal"},[e._l(e.state.menuitems,function(r){return i("div",{key:r.title,staticClass:"col-sm-4 project-menu",on:{click:function(o){return e.trigger(r)}}},[i("div",{staticClass:"project-menu-item-image"},[i("img",{staticClass:"img-responsive",attrs:{src:e.logoSrc(r.thumbnail)}})]),e._v(" "),i("div",{staticClass:"project-menu-item-content"},[i("div",{staticClass:"project-menu-item-text"},[i("h4",{staticClass:"project-menu-item-title"},[e._v(e._s(r.title))]),e._v(" "),i("div",{domProps:{innerHTML:e._s(r.description)}})])])])}),e._v(" "),e.state.menuitems.length?e._e():i("div",{staticStyle:{"margin-left":"15px"}},[i("h2",{directives:[{name:"t",rawName:"v-t",value:"no_other_projects",expression:"'no_other_projects'"}]})])],2)])},NH=[],RH=function(e){e&&e("data-v-3e1b9d58_0",{source:".project-menu[data-v-3e1b9d58]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-3e1b9d58]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-3e1b9d58]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-3e1b9d58]{padding:15px;background:rgba(255,255,255,.3)}.project-menu-item-text[data-v-3e1b9d58]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-3e1b9d58]{text-align:center;font-weight:700;background:rgba(255,255,255,.5);padding:5px}#menu-projects[data-v-3e1b9d58]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-3e1b9d58]{display:flex;flex-wrap:wrap}",map:void 0,media:void 0})},MH="data-v-3e1b9d58",AH=void 0,OH=!1;FH=PH({render:TH,staticRenderFns:NH},RH,LH,MH,OH,AH,!1,ow,void 0,void 0),DH=FH});function yM(){let e=V.viewport,n=$("#app")[0].getBoundingClientRect().width-($(".main-sidebar").length?$(".main-sidebar")[0].getBoundingClientRect().width+$(".main-sidebar").offset().left:0),i=$(document).innerHeight()-$(".navbar").innerHeight(),r,o,u,c,f=V.gui.layout[V.gui.layout.__current].rightpanel[`${e.split==="h"?"width":"height"}_100`],p=V.gui.layout[V.gui.layout.__current].rightpanel[e.split==="h"?"width":"height"],g=(e.secondaryPerc!==100&&!f?p:100)/100;e.split==="h"?(u=e.secondaryVisible?Math.max(n*g,Ul.resize.content.min):0,c=i,r=n-u,o=i):(u=n,c=e.secondaryVisible?Math.max(i*g,Ul.resize.content.min):0,r=e.secondaryVisible&&g===1?0:n,o=i-c),e[e.primaryView].sizes.width=r,e[e.primaryView].sizes.height=o,e[e.primaryView==="map"?"content":"map"].sizes.width=u,e[e.primaryView==="map"?"content":"map"].sizes.height=c}function vM(){let e=$(".content"),n=0,i=0,r=$(".sidebar-aside-toggle"),o=V.gui.layout[V.gui.layout.__current].rightpanel[`${V.viewport.split==="h"?"width":"height"}_100`];if(e&&V.viewport.secondaryVisible&&o){if(r&&r.is(":visible")){let u=r.outerWidth();e.css("padding-left",u+5),n=u-5}}else{let u=r.outerWidth();e.css("padding-left",V.viewport.secondaryPerc===100?u+5:15)}return{reducedWidth:n,reducedHeight:i}}async function __(){await Promise.allSettled((V.contentsdata||[]).map(async e=>{e.content instanceof zt||e.content instanceof hi?await sn(e.content.unmount()):$(GUI.getComponent("contents").parent).empty()})),V.contentsdata.splice(0,V.contentsdata.length)}function bM(e){let n=wi(e);if(n==="Error")return`CLIENT - ${e.message}`;if(n==="Object"&&e.responseJSON&&e.responseJSON.result===!1){let i=e.responseJSON.error;return`${(i.code||"").toUpperCase()} ${i.data||""} ${i.message||""}`}return n==="Object"&&e.responseText?e.responseText:n==="Array"?e.map(i=>bM(i)).join(" "):e||"server_error"}var m_,aw,U,bt=W(()=>{Nt();Yn();zs();Jl();vt();Dv();bn();Ko();yr();kg();jv();m_={},aw={navbar:null,sidebar:null,viewport:null};U=new class xM extends Et{constructor(n){super(n),this.setters={async setContent(i={}){this.emit("opencontent",!0),this._closeUserMessage&&this.closeUserMessage(),i.content=i.content||null,i.title=i.title||"",i.push=i.push===!0||i.push===!1?i.push:!1,i.perc=isMobile.any?100:i.perc,i.split=i.split||"h",i.backonclose=i.backonclose===!0||i.backonclose===!1?i.backonclose:!1,i.showtitle=i.showtitle===!0||i.showtitle===!1?i.showtitle:!0;let r=i,o=V.gui.layout[V.gui.layout.__current].rightpanel[V.viewport.split==="h"?"width":"height"];r.perc=r.perc!==void 0?r.perc:o,r.push=r.push||!1;let u=r.perc===100?"show-content-full":"show-content";Object.assign(V.viewport.content,{title:r.title,split:r.split===void 0?null:r.split,closable:r.closable===void 0||r.closable,backonclose:r.backonclose===void 0||r.backonclose,style:r.style===void 0?{}:r.style,headertools:r.headertools===void 0?[]:r.headertools,showgoback:r.showgoback===void 0||r.showgoback,contentsdata:this.getComponent("contents").contentsdata}),this._showView("content",r);let c=this.getComponent("contents");r.push||await __();let f=r.content,p=Object.assign(r,{parent:c.internalComponent.$el,append:!0});if(c.parent=p.parent,f instanceof jQuery||typeof f=="string"){let g=typeof f=="string"?$(f).length?$(`
    ${f}
    `):$(f):f;$(c.parent).append(g),V.contentsdata.push({content:g,options:p}),console.warn("[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible",V.contentsdata.at(-1))}else if(f.mount&&typeof f.mount=="function"){let g=V.contentsdata.findIndex(d=>d.content.getId&&f.getId()===d.content.getId());g!==-1&&(await sn(V.contentsdata[g].content.unmount()),V.contentsdata.splice(g,1)),await sn(f.mount(c.parent,p.append||!1)),V.contentsdata.push({content:f,options:p})}else c.parent.appendChild(f),V.contentsdata.push({content:f,options:p});Array.from(c.internalComponent.$el.children).forEach((g,d,v)=>g.style.display=d===v.length-1?"block":"none"),c.setOpen(!0),this._layoutComponents(u)}},this.isready=!1,this.push_content=!1,this._closeUserMessage=!0,this.dialog={dialog(i,r){r!=null&&(console.warn("GUI.dialog.confirm(message, callback) is deprecated"),i={message:i,callback:r,buttons:{cancel:{label:"Cancel"},confirm:{label:"OK"}}},i.buttons.cancel.callback=function(){return i.callback.call(this,!1)},i.buttons.confirm.callback=function(){return i.callback.call(this,!0)}),i=Object.assign({className:null,closeButton:!0,show:!0,container:"body",buttons:{},message:""},i);let o=$(``,data:()=>({methods:Rh,method:this.getSpatialMethod()}),watch:{method:i=>this.setSpatialMethod(i)},created(){U.toggleUserMessage(!1)},beforeDestroy(){U.toggleUserMessage(!0)}};break;case"custom":this.toggledTool=n.component;break}n.how==="how"&&this._onhover&&(this._toolButton=$(``),$(this.element).prepend(this._toolButton),this._toolButton.on("click",i=>{i.stopPropagation(),this.showToggledTool(!0)}),$(this.element).hover(()=>this._toggled&&this._toolButton.show()),$(this.element).mouseleave(()=>this._toolButton.hide()))}showToggledTool(n=!0){n?U.showUserMessage({title:this.toggledTool.__title,type:"tool",size:"small",iconClass:this.toggledTool.__iconClass,closable:!!this._toolButton,hooks:{body:this.toggledTool}}):U.closeUserMessage()}toggle(n=!this._toggled,i={}){i.parent=i.parent===void 0?!1:i.parent,n!==this._toggled&&(this._toggled=n,this.cursorClass&&this.setMouseCursor(n),n&&this.getMap().getControls().forEach(r=>{r.id&&r.toggle&&r.id!==this.id&&r.id!==i.parent&&r.toggle(!1)}),this._interaction&&this._interaction.setActive(n),$(this.element).find("button").first()[n?"addClass":"removeClass"]("g3w-ol-toggled"),n&&this._toolButton?this._toolButton.show():!n&&this._toolButton&&this._toolButton.hide(),this.toggledTool&&this.showToggledTool(this._toggled),this.dispatchEvent({type:"toggled",toggled:n}),this._options.onToggled&&this._options.onToggled.call(this,n))}getGeometryTypes(){return this._geometryTypes}setGeometryTypes(n){this._geometryTypes=n}getInteraction(){return this._interaction}setSpatialMethod(n="intersects"){this.spatialMethod=n,this.dispatchEvent({type:"change-spatial-method",spatialMethod:this.spatialMethod})}getSpatialMethod(){return this.spatialMethod}setLayers(n=[]){this.layers=n}getOlControl(){return this._control}showHide(){this.element&&$(this.element).toggle()}}});var nn,_a=W(()=>{nn=new Vue});function lw(){return(U.getService("map").getSelectedLayer()||{getId(){return"__ALL__"}}).getId()}function Sd(e){let n=U.getService("map").getSelectedLayer();return e.name==="querybypolygon"?!!(n&&n.isVisible()&&(e.layers.some(i=>i!==n&&i.isVisible()&&i.isFilterable({ows:"WFS"}))||U.getService("map").getLegacyExternalLayers().find(i=>i!==n&&i.visible===!0))):!!((e.layers||[]).some(i=>i.isVisible())||U.getService("map").getLegacyExternalLayers().some(i=>i.visible))}function cw(e){let{MapLayersStoresRegistry:n}=(Ed(),Wn(v_)).default,i=n.getQuerableLayersStores();return[...new Set([...i.flatMap(r=>r.getLayers({GEOLAYER:!0,FILTERABLE:!0,SELECTED_OR_ALL:!0},{filtrable:{ows:"WFS"}})).filter(r=>r.getProvider("filter").getName()==="wfs"),...(U.getService("map").getLegacyExternalLayers()||[]).filter(r=>e==="querybypolygon"?uw.includes(r.getGeometryType()):!0),...e==="querybypolygon"?i.flatMap(r=>r.getLayers({GEOLAYER:!0,QUERYABLE:!0,SELECTED_OR_ALL:!0},{})):[]])]}var uw,Un,Gt,y_,wM=W(()=>{Nt();_a();bt();zi();vt();xc();_c();$o();Bn();ln();uw=[ye.POLYGON,ye.POLYGONZ,ye.POLYGONM,ye.POLYGONZM,ye.POLYGON25D,ye.MULTIPOLYGON,ye.MULTIPOLYGONZ,ye.MULTIPOLYGONM,ye.MULTIPOLYGONZM,ye.MULTIPOLYGON25D],Un={},Gt=Vue.observable({bbox:null,dfeature:null,layer:null,feature:null,coordinates:null,radius:0});y_=class extends An{constructor(n={}){super({...n,name:"queryby",tipLabel:"sdk.mapcontrols.queryby.title",enabled:!0,cursorClass:null}),this.types=[],(n.types||[]).forEach(i=>this.addType(i)),this.types.length===0?this.setVisible(!1):this.element.classList.add("ol-"+this.types[0]),Un.queryby=this,this.selectedLayer="__ALL__",this.on("toggled",({toggled:i})=>{if(!i)return U.closeUserMessage();U.showUserMessage({title:"sdk.mapcontrols.queryby.title",type:"tool",size:"small",iconClass:"info",closable:!1,hooks:{body:{data:()=>({types:this.types,type:this.types[0],methods:Rh,method:this.getSpatialMethod(),layers:[],selectedLayer:lw()}),template:`
    `,computed:{control(){return Un[this.type]},queryable(){return(this.control.layers||[]).filter(r=>this.type==="querybypolygon"?uw.includes(r.getGeometryType()):!0)},no_layers(){return!this.queryable||!Sd(this.control)},help(){return`sdk.mapcontrols.${this.type}.help.message`},all(){return this.no_layers?"sdk.mapcontrols.queryby.none":"sdk.mapcontrols.queryby.all"},radius:{get(){return Gt.radius},set(r){if(Number.isNaN(r)||r<0){this.radius=Gt.radius;return}Gt.radius=Math.floor(r*(U.getService("map").getMapUnits()==="m"?1:ol.proj.Units.METERS_PER_UNIT.degrees)),Gt.dfeature&&Gt.radius>0&&(Gt.dfeature.getGeometry().setRadius(Gt.radius),Un.queryby.runSpatialQuery(this.type))}}},watch:{method(){this.reset()},type(){this.reset().then(()=>this.update__ALL__Text())},control(){this.types.forEach(r=>Un.queryby.element.classList.toggle("ol-"+r,r===this.type))},layers(){this.selectedLayerNotQuerable()},all(){this.update__ALL__Text()},selectedLayer:{immediate:!0,handler(r,o){if(this.selectedLayerNotQuerable(),o===void 0)return;let u=U.getService("map");if(r==="__NEW__"){let c=u.onafter("loadExternalLayer",p=>{u.selectLayer(p.get("id")),this.reset()}),f=document.querySelector("#add-layer-type");f.value="file",f.dispatchEvent(new Event("change")),$("#modal-addlayer").one("hidden.bs.modal",()=>u.un("loadExternalLayer",c)),u.showAddLayerModal()}!["__ALL__","__NEW__"].includes(r)&&r!==lw()&&u.selectLayer(r),["__ALL__","__NEW__"].includes(r)&&lw()!=="__ALL__"&&u.selectLayer()}}},methods:{update__ALL__Text(){$(this.$refs.layer).select2("close"),$(this.$refs.layer).find('option[value="__ALL__"]').text(He(this.all)),$(this.$refs.layer).select2("data")[0].text=He(this.all),$(this.$refs.layer).trigger("change")},selectedLayerNotQuerable(){!["__ALL__","__NEW__"].includes(this.selectedLayer)&&this.layers.length&&!this.layers.map(r=>r.getId()).includes(this.selectedLayer)&&(this.selectedLayer="__ALL__")},async reset(){this.layers.splice(0),this.types.filter(r=>r!==this.type).forEach(r=>{r==="querybycircle"&&(Gt.radius=0),r==="querybbox"&&(Gt.bbox=null),r==="querybypolygon"&&(Gt.layer=null,Gt.feature=null,Gt.coordinates=null),["querybydrawpolygon","querybycircle"].includes(this.type)||(Gt.dfeature=null),Un[r].autorun=!1}),this.control.spatialMethod=this.method,this.control.toggle(!0,{parent:Un.queryby.id}),this.control.layers.forEach(r=>r.setTocHighlightable(["querybbox","querybydrawpolygon","querybycircle"].includes(this.type))),await this.$nextTick(),this.layers.push(...this.queryable),this.type==="querybypolygon"&&this.control.setEnable(!1),this.control.autorun&&Un.queryby.runSpatialQuery(this.type)},templateType(r){return r.id?$(`  ${r.text}`):r.text},templateLayer(r){if(!r.id||r.id==="__NEW__")return r.text;let o=U.getService("map").getLegacyExternalLayers(),u=st(r.id)||o.find(f=>f.get("id")===r.id),c=r.id==="__ALL__"||!u?"":`  `;return $(`${c}${r.text}`)}},mounted(){Un.queryby.usermessage=this,U.toggleUserMessage(!1),this.reset()},beforeDestroy:()=>{U.toggleUserMessage(!0),this.types.forEach(r=>{Un[r].toggle(!1),Un[r].autorun=!1,Un.queryby.element.classList.toggle(`ol-${r}`,r===this.types[0]),Un[r].layers.forEach(o=>o.setTocHighlightable(!1))})}}}})})}addType(n){if(this.types.includes(n))return;this.types.splice(this.types.includes("querybypolygon")?this.types.indexOf("querybypoyling"):this.types.length,0,n);let i=Un[n]=new An({name:n,offline:!1,visible:!1,geometryTypes:["querybypolygon","querybydrawpolygon"].includes(n)?uw:[],cursorClass:n!=="querybypolygon"?"ol-crosshair":"ol-pointer",interactionClass:{querybbox:ol.interaction.DragBox,querybycircle:ol.interaction.Draw,querybydrawpolygon:ol.interaction.Draw,querybypolygon:Hi}[n],interactionClassOptions:["querybydrawpolygon","querybycircle"].includes(n)?{type:n==="querybydrawpolygon"?"Polygon":"Circle"}:{},layers:cw(n),onSetMap({setter:r,map:o}){if(r==="after"){if(n==="querybbox"){let u=null;this._interaction.on("boxstart",c=>u=c.coordinate),this._interaction.on("boxend",Hn(c=>{Gt.bbox=ol.extent.boundingExtent([u,c.coordinate]),this.dispatchEvent({type:"bboxend",extent:Gt.bbox}),u=null,this._autountoggle&&this.toggle()})),this.setEventKey({eventType:"bboxend",eventKey:this.on("bboxend",()=>Un.queryby.runSpatialQuery("querybbox"))})}n==="querybycircle"&&this._interaction.on("drawstart",u=>{let c=u.feature.getGeometry();c.setRadius(Gt.radius),c.on("change",()=>Gt.radius=c.getRadius()),Gt.radius>0&&this._interaction.finishDrawing()}),["querybydrawpolygon","querybycircle"].includes(n)&&(this._interaction.on("drawend",Hn(u=>{if(n==="querybycircle"){let c=u.feature.getGeometry().getRadius();Gt.radius=c*(U.getService("map").getMapUnits()==="m"?1:ol.proj.Units.METERS_PER_UNIT.degrees)}Gt.dfeature=u.feature,this.dispatchEvent({type:"drawend",feature:Gt.dfeature}),this._autountoggle&&this.toggle()})),this.setEventKey({eventType:"drawend",eventKey:this.on("drawend",()=>Un.queryby.runSpatialQuery(n))})),n==="querybypolygon"&&(this._interaction.on("picked",Hn(async u=>{Gt.coordinates=u.coordinate,this.dispatchEvent({type:"picked",coordinates:Gt.coordinates}),this._autountoggle&&this.toggle()})),this.setEventKey({eventType:"picked",eventKey:this.on("picked",async()=>{U.closeSideBar();try{let{data:u=[]}=await Ht.getData("query:coordinates",{inputs:{feature_count:V.project.state.feature_count||5,coordinates:Gt.coordinates},outputs:{show({data:c=[],query:f}){let p=c.length===0;return f.coordinates=p?f.coordinates:null,p}}});u.length&&u[0].features.length&&(Gt.feature=u[0].features[0],Gt.layer=u[0].layer,Un.queryby.runSpatialQuery("querybypolygon"))}catch(u){console.warn("Error running spatial query:",u)}})}),this.setEnable(!1))}},clickmap:!0});U.getService("map").addControl(n,n,i,!1,!1),i._interaction.on("change:active",r=>{this.setMouseCursor(r.target.get(r.key),i.cursorClass),this.cursorClass=i.cursorClass,["querybbox","querybydrawpolygon","querybycircle"].includes(n)&&(V.highlightlayers=r.target.get(r.key))}),this.unwatches=this.unwatches||[],this.unwatches.forEach(r=>r()),this.unwatches.splice(0),this.unwatches.push(...this.types.flatMap(r=>{let o=Un[r];return(o.layers||[]).map(u=>nn.$watch(()=>u.state.visible,()=>{this.usermessage&&$(this.usermessage.$refs.layer).trigger("change"),o.setEnable(o.isToggled()&&Sd(o)),o._interaction.setActive(o.getEnable())}))}))}onSelectLayer(n){let i=document.querySelector(".usermessage-content .clear-selected-layer");i&&i.classList.toggle("hidden",!n),this.usermessage&&(this.usermessage.selectedLayer=n?n.getId():"__ALL__"),this.types.forEach(r=>{let o=Un[r],u=n&&o.layers.find(f=>f===n),c=n&&n.isQueryable()&&(o.getGeometryTypes()||[]).includes(n.getGeometryType());["querybbox","querybydrawpolygon","querybycircle"].includes(r)&&o.setEnable(o.isToggled()&&(n?u&&u.isVisible():Sd(o))),r==="querybypolygon"&&o.setEnable(o.isToggled()&&c&&Sd(o)),o._interaction.setActive(o.getEnable())})}onAddExternalLayer({layer:n,unWatches:i}){this.types.forEach(r=>{let o=Un[r];o.layers=cw(r),r==="querybbox"&&n.setTocHighlightable(o.isToggled()&&o.getEnable()),i.push(nn.$watch(()=>[n.selected,n.visible],()=>{o.setEnable(o.isToggled()&&(n.selected?n.visible:Sd(o))),o._interaction.setActive(o.getEnable())},{immediate:!0}))})}onRemoveExternalLayer(n){this.types.forEach(i=>{let r=Un[i];r.layers=cw(i).filter(o=>o.getId()!==n.getId()),r.setEnable(r.isToggled()&&Sd(Un[i])),r._interaction.setActive(r.getEnable())}),setTimeout(()=>{this.usermessage&&this.usermessage.reset()})}async runSpatialQuery(n){let i=!1,r=()=>{i=!0,this.toggle()};U.once("error-output-data",r);try{let o=Un[n];if(U.closeSideBar(),n==="querybbox"&&Gt.bbox===null||n==="querybypolygon"&&[Gt.coordinates,Gt.feature,Gt.layer].includes(null))return;let u=U.getService("map").getSelectedLayer(),c=U.getService("map").getLegacyExternalLayers(),f=V.project;n==="querybbox"&&await Ht.getData("query:bbox",{inputs:{bbox:Gt.bbox,feature_count:f.state.feature_count||5,addExternal:!u||c.some(p=>p===u),layersFilterObject:{SELECTED_OR_ALL:!0,FILTERABLE:!0,VISIBLE:!0},condition:{filtrable:{ows:"WFS"}},multilayers:[].concat(f.state.querymultilayers).includes(o.name),filterConfig:{spatialMethod:o.getSpatialMethod()}}}),["querybypolygon","querybydrawpolygon","querybycircle"].includes(n)&&await Ht.getData("query:polygon",{inputs:{layerName:n==="querybypolygon"?Gt.layer.getName?Gt.layer.getName():Gt.layer.get("name"):"",excludeSelected:n==="querybypolygon"||!u,feature:(()=>{switch(n){case"querybypolygon":return Gt.feature;case"querybydrawpolygon":return Gt.dfeature;case"querybycircle":let p=Gt.dfeature.clone();return p.setGeometry(ol.geom.Polygon.fromCircle(Gt.dfeature.getGeometry(),64)),p}})(),external:{add:n==="querybypolygon"||!u||c.some(p=>p===u),filter:{SELECTED:["querybydrawpolygon","querybycircle"].includes(n)&&!!u}},type:(n||"").replace("queryby","")||void 0,multilayers:[].concat(f.state.querymultilayers).includes("querybypolygon"),filterConfig:{spatialMethod:o.getSpatialMethod()}},outputs:{show:({error:p=!1})=>!p}}),o.autorun=!i}catch(o){console.warn("Error running spatial query: ",o)}U.off("error-output-data",r)}}});var b_,SM=W(()=>{bt();xc();b_=class extends An{constructor(){super({visible:!0,offline:!1,enabled:!0,name:"geolocation",tipLabel:"sdk.mapcontrols.geolocation.tooltip"}),this._layer=new ol.layer.Vector({source:new ol.source.Vector,style:new ol.style.Style({text:new ol.style.Text({text:"\uF3C5",font:'900 3em "Font Awesome 5 Free"',fill:new ol.style.Fill({color:"red"}),offsetY:-15})})}),this._geolocation=new ol.Geolocation({trackingOptions:{enableHighAccuracy:!0}}),this.on("controlclick",n=>{this._geolocation.getTracking()?this._geolocation.setTracking(!1):this.geolocate()})}_showMarker({map:n,coordinates:i,show:r=!0}){this._layer&&(this._layer.getSource().clear(),r?(n.getView().setCenter(i),this._layer.getSource().addFeature(new ol.Feature({geometry:new ol.geom.Point(i)})),n.addLayer(this._layer)):n.removeLayer(this._layer))}geolocate(){let n=this.getMap();if(!n)return;let i;this._geolocation.on("change:position",()=>{let r=this._geolocation.getPosition();r&&(i=this.on("toggled",()=>{this._showMarker({map:n,coordinates:this._geolocation.getPosition(),show:this.isToggled()})}),$(this.element).removeClass("g3w-ol-disabled"),this._showMarker({map:n,coordinates:r,show:this.isToggled()}))}),this._geolocation.on("error",r=>{this._layer=null,U.showUserMessage({type:"warning",title:"mapcontrols.geolocation.error",message:r.message,autoclose:!1}),this.toggle(!1),ol.Observable.unByKey(i),i=null}),this._geolocation.setProjection(n.getView().getProjection()),this._geolocation.setTracking(!0)}}});var EM,x_,CM=W(()=>{vt();bt();xi();xc();_c();EM="https://maps.googleapis.com/maps/api/",x_=class extends An{constructor(n={}){super({...n,offline:!1,visible:!0,name:"streetview",tipLabel:"StreetView",clickmap:!0,interactionClass:Hi,interactionClassOptions:{cursor:"ol-streetview"},cursorClass:"ol-streetview"}),this.key=V.keys.vendorkeys.google,this.key&&ht.get({url:`${EM}streetview`,params:{location:0,size:"456x456",key:this.key}}).catch(i=>{console.warn(i),this.keyError=i.responseText}),$script(`${EM}js?${this.key?"key="+this.key:""}`),this._sv=null,this._panorama=null,this._map=null,this._projection=null,this._lastposition=null,this._streetViewFeature=new ol.Feature,this.active=!1,this._layer=new ol.layer.Vector({source:new ol.source.Vector({features:[]}),style:i=>{let r=i.getGeometry().getCoordinates();this._lastposition=this._lastposition?this._lastposition:r;let o=r[0]-this._lastposition[0],u=r[1]-this._lastposition[1],c=-Math.atan2(u,o),f=[new ol.style.Style({image:new ol.style.Icon({src:"/static/client/images/streetviewarrow.png",rotation:c})}),new ol.style.Style({image:new ol.style.Icon({src:"/static/client/images/streetview.svg"})})];return this._lastposition=r,f}}),this.key&&U.on("closecontent",()=>{this.isToggled()&&this._layer.getSource().clear()})}setProjection(n){this._projection=n}setPosition(n){let i,r=this;this.active=!0,this._sv||(this._sv=new google.maps.StreetViewService),this._sv.getPanorama({location:n},o=>{r._panorama=new google.maps.StreetViewPanorama(document.getElementById("streetview"),{imageDateControl:!0}),r._panorama.addListener("position_changed",function(){if(r.isToggled()){let u=ol.proj.transform([this.getPosition().lng(),this.getPosition().lat()],"EPSG:4326",r._projection.getCode());r._streetViewFeature.setGeometry(new ol.geom.Point(u)),i=r._map.getPixelFromCoordinate(u),(i[0]+15>r._map.getSize()[0]||i[1]+15>r._map.getSize()[1]||i[0]<15||i[1]<15)&&r._map.getView().setCenter(u)}}),o&&o.location&&(r._panorama.setPov({pitch:0,heading:0}),r._panorama.setPosition(o.location.latLng))}).then(o=>{o===void 0&&U.closeContent()}).catch(o=>{console.warn(o),this.toggle()})}setMap(n){this._map=n,super.setMap(n),this.setProjection(this._map.getView().getProjection()),this._map.addLayer(this._layer),this._interaction.on("picked",({coordinate:i})=>{this.showStreetView(i),this._autountoggle&&this.toggle()})}showStreetView(n){let[i,r]=ol.proj.transform(n,this._map.getView().getProjection().getCode(),"EPSG:4326");this.key?(U.setContent({title:"StreetView",content:'
    '+(this.keyError?`
    ${this.keyError}
    `:"")+"
    "}),this.keyError||this.setPosition({lng:i,lat:r})):(this._streetViewFeature.setGeometry(new ol.geom.Point(n)),window.open(`https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${r},${i}`))}clearMarker(){this._streetViewFeature.setGeometry(null)}clear(){this._layer.getSource().clear(),this._streetViewFeature.setGeometry(null),this.clearMarker(),this._panorama=null,this.active&&U.closeContent(),this.active=!1}toggle(n){super.toggle(n),this.isToggled()?this._layer.getSource().addFeatures([this._streetViewFeature]):this.clear()}}});var w_,IM=W(()=>{Nt();jh();wu();ln();w_=class extends ol.control.Control{constructor(n={}){n.target="scale-control",n.offline=!0,super(n),this.isMobile=n.isMobile||!1}layout(n){let i=this,r=!1,o=!1,u=$(this.element).children("select").select2({tags:!0,dropdownParent:$(n.getTargetElement()),width:"120px",height:"20px",language:{noResults:()=>He("sdk.mapcontrols.scale.no_valid_scale")},minimumResultsForSearch:this.isMobile?-1:0,createTag(g={}){let d=null,v;return g.term.includes("1:")?v=g.term.split("1:")[1]:Number.isInteger(Number(g.term))&&Number(g.term)>0&&(v=Number(g.term),v<=i.scales[0]&&(d={id:v,text:`1:${g.term}`,new:!0},c())),d}});n.on("change:size",()=>u.select2("close"));function c(){u.find("option").each((g,d)=>!i.scales.includes(1*d.value)&&$(d).remove())}function f(g){u.find("option[value='"+g.id+"']").length?u.val(g.id).trigger("change"):(c(),u.append(new Option(g.text,g.id,!0,!0)).trigger("change"))}n.on("moveend",function(){if(r){let g=parseInt(qs(this.getView().getResolution(),this.getView().getProjection().getUnits()));f({id:g,text:`1:${g}`,new:!0}),r=!1}else o=!1});let p=()=>{n.getView().on("change:resolution",()=>r=!o)};p(),n.on("change:view",()=>p()),u.on("select2:select",g=>{o=!0;let d=g.params.data;d.new&&(c(),f(d)),n.getView().setResolution(za(1*d.id,n.getView().getProjection().getUnits()))})}setMap(n){if(!n)return;let i=parseInt(qs(n.getView().getResolution(),n.getView().getProjection().getUnits()));this.scales=pu.map(c=>c.value).filter(c=>c{u.appendChild(Object.assign(document.createElement("option"),{value:c,text:`1:${c}`,selected:f===0}))}),o.appendChild(u),!this.isMobile){let c=document.createElement("optgroup");c.label="Custom",o.appendChild(c)}r.appendChild(o),this.element=r,$(this.element).css("height","20px"),this.layout(n),super.setMap(n)}}});function fp(e,n){try{return new URL(e).origin===new URL(n).origin}catch(i){return console.warn(i),!1}}var dw=W(()=>{});function jH(e){let n;return e.getVisible&&!e.getVisible()||e instanceof ol.layer.Vector?!1:e instanceof ol.layer.Tile||e instanceof ol.layer.Image?(n=e.getSource().getUrl(),n&&!fp(n,location)):(e.getConfig().source||{}).external?(n=e.getConfig().source.url,n&&!fp(n,location)):!1}var S_,kM=W(()=>{vt();bt();yc();dw();xc();S_=class extends An{constructor(n={}){n.layers=n.layers===void 0?[]:n.layers,super({name:"maptoimage",tipLabel:"Screenshot",clickmap:!0,enabled:!0,layers:[],...n}),this.types=[],(n.types||[]).forEach(i=>this.addType(i)),this.layers=n.layers,this.setVisible(this.checkVisible(this.layers)),this.isVisible()&&(U.getService("map").onafter("loadExternalLayer",this._addLayer.bind(this)),U.getService("map").onafter("unloadExternalLayer",this._removeLayer.bind(this)))}addType(n){this.types.push(n),this.toggledTool=this.toggledTool||{__title:"sdk.mapcontrols.screenshot.title",__iconClass:"camera",data:()=>({types:this.types,type:this.types[0]}),template:` + >${this.keyError}
    `:"")+"
    "}),this.keyError||this.setPosition({lng:i,lat:r})):(this._streetViewFeature.setGeometry(new ol.geom.Point(n)),window.open(`https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${r},${i}`))}clearMarker(){this._streetViewFeature.setGeometry(null)}clear(){this._layer.getSource().clear(),this._streetViewFeature.setGeometry(null),this.clearMarker(),this._panorama=null,this.active&&U.closeContent(),this.active=!1}toggle(n){super.toggle(n),this.isToggled()?this._layer.getSource().addFeatures([this._streetViewFeature]):this.clear()}}});var w_,IM=W(()=>{Nt();jh();wu();ln();w_=class extends ol.control.Control{constructor(n={}){n.target="scale-control",n.offline=!0,super(n),this.isMobile=n.isMobile||!1}layout(n){let i=this,r=!1,o=!1,u=$(this.element).children("select").select2({tags:!0,dropdownParent:$(n.getTargetElement()),width:"120px",height:"20px",language:{noResults:()=>He("sdk.mapcontrols.scale.no_valid_scale")},minimumResultsForSearch:this.isMobile?-1:0,createTag(g={}){let d=null,v;return g.term.includes("1:")?v=g.term.split("1:")[1]:Number.isInteger(Number(g.term))&&Number(g.term)>0&&(v=Number(g.term),v<=i.scales[0]&&(d={id:v,text:`1:${g.term}`,new:!0},c())),d}});n.on("change:size",()=>u.select2("close"));function c(){u.find("option").each((g,d)=>!i.scales.includes(1*d.value)&&$(d).remove())}function f(g){u.find("option[value='"+g.id+"']").length?u.val(g.id).trigger("change"):(c(),u.append(new Option(g.text,g.id,!0,!0)).trigger("change"))}n.on("moveend",function(){if(r){let g=parseInt(js(this.getView().getResolution(),this.getView().getProjection().getUnits()));f({id:g,text:`1:${g}`,new:!0}),r=!1}else o=!1});let p=()=>{n.getView().on("change:resolution",()=>r=!o)};p(),n.on("change:view",()=>p()),u.on("select2:select",g=>{o=!0;let d=g.params.data;d.new&&(c(),f(d)),n.getView().setResolution(za(1*d.id,n.getView().getProjection().getUnits()))})}setMap(n){if(!n)return;let i=parseInt(js(n.getView().getResolution(),n.getView().getProjection().getUnits()));this.scales=pu.map(c=>c.value).filter(c=>c{u.appendChild(Object.assign(document.createElement("option"),{value:c,text:`1:${c}`,selected:f===0}))}),o.appendChild(u),!this.isMobile){let c=document.createElement("optgroup");c.label="Custom",o.appendChild(c)}r.appendChild(o),this.element=r,$(this.element).css("height","20px"),this.layout(n),super.setMap(n)}}});function fp(e,n){try{return new URL(e).origin===new URL(n).origin}catch(i){return console.warn(i),!1}}var dw=W(()=>{});function jH(e){let n;return e.getVisible&&!e.getVisible()||e instanceof ol.layer.Vector?!1:e instanceof ol.layer.Tile||e instanceof ol.layer.Image?(n=e.getSource().getUrl(),n&&!fp(n,location)):(e.getConfig().source||{}).external?(n=e.getConfig().source.url,n&&!fp(n,location)):!1}var S_,kM=W(()=>{vt();bt();yc();dw();xc();S_=class extends An{constructor(n={}){n.layers=n.layers===void 0?[]:n.layers,super({name:"maptoimage",tipLabel:"Screenshot",clickmap:!0,enabled:!0,layers:[],...n}),this.types=[],(n.types||[]).forEach(i=>this.addType(i)),this.layers=n.layers,this.setVisible(this.checkVisible(this.layers)),this.isVisible()&&(U.getService("map").onafter("loadExternalLayer",this._addLayer.bind(this)),U.getService("map").onafter("unloadExternalLayer",this._removeLayer.bind(this)))}addType(n){this.types.push(n),this.toggledTool=this.toggledTool||{__title:"sdk.mapcontrols.screenshot.title",__iconClass:"camera",data:()=>({types:this.types,type:this.types[0]}),template:`
    -
    `,methods:{async download(i){let r=U.getService("map");V.download=!0,i.target.disabled=!0;try{let o=this.type==="screenshot"?await r.createMapImage():await(await fetch(`/${r.project.getType()}/api/asgeotiff/${r.project.getId()}/`,{method:"POST",body:Object.entries({image:await r.createMapImage(),csrfmiddlewaretoken:r.getCookie("csrftoken"),bbox:r.getMapBBOX().toString()}).reduce((u,c)=>(u.append(c[0],c[1]),u),new FormData)})).blob();Vr(o,`map_${Date.now()}`)}catch(o){U.showUserMessage({type:o.name==="SecurityError"?"warning":"alert",message:o.name==="SecurityError"?"mapcontrols.screenshot.securityError":"mapcontrols.screenshot.error",autoclose:!1}),console.warn(o)}return V.download=!1,i.target.disabled=!1,!0}},created(){U.toggleUserMessage(!1)},beforeDestroy(){U.toggleUserMessage(!0)}}}_addLayer(n){this.layers.push(n),this.change(this.layers),n.on("change:visible",()=>this.change(this.layers))}_removeLayer(n){this.layers=this.layers.filter(i=>i!==n),this.change(this.layers)}change(n=[]){this.setVisible(this.checkVisible(n))}checkVisible(n=[]){return this.isVisible()&&!n.some(jH)}}});function E_({map:e,feature:n}={},i={}){let r=document.createElement("div");r.className="mtooltip mtooltip-measure";let o=new ol.Overlay({element:r,offset:[0,-15],positioning:"bottom-center"});return e.addOverlay(o),{tooltip:o,unbyKey:n.getGeometry().on("change",u=>{let c,f=u.target;f instanceof ol.geom.Polygon?c=f.getInteriorPoint().getCoordinates():f instanceof ol.geom.MultiPolygon?c=f.getInteriorPoints().getCoordinates()[0]:(f instanceof ol.geom.LineString||f instanceof ol.geom.MultiLineString)&&(c=f.getLastCoordinate());let p=e.getView().getProjection(),g=ao(f.getType()),d=lo(f.getType()),v=js(f.getType()),y=p.getCode()==="EPSG:3857"||p.getUnits()==="degrees",S=[];d&&v&&(f.getPolygons()||[]).forEach(O=>O.getLinearRing().getCoordinates().forEach(H=>S.push(H))),d&&!v&&(S=f.getLinearRing().getCoordinates());let w=d&&S.length>2?new ol.geom.LineString(S):f,E=g||d&&S.length>2?y?ol.sphere.getLength(w,{projection:p.getCode()}):js(w.getType())?w.getLineStrings().reduce((O,H)=>O+=H.getLength(),0):w.getLength():void 0,I=d?Math.round(y?ol.sphere.getArea(f,{projection:p.getCode()}):f.getArea()):void 0;E!==void 0&&(E=V.map.unit==="nautical"?`${E*.0005399568} nm`:E>1e3?`${(Math.round(E/1e3*100)/100).toFixed(3)} km`:`${(Math.round(E*100)/100).toFixed(2)} m`),I!==void 0&&(I=V.map.unit==="nautical"?`${I*29155334959812285e-23} \u2009nmi\xB2`:I>1e6?`${(Math.round(I/1e6*100)/100).toFixed(6)} km2`:`${(Math.round(I*100)/100).toFixed(3)} m2`),r.innerHTML=(I!==void 0?`Area: ${I}
    `:"")+(I!==void 0&&E!==void 0?'
    ':"")+(E!==void 0?E:""),o.setPosition(c)})}}var hw=W(()=>{vt();_u();yu();Fh()});function pp({map:e,tooltip:n,unbyKey:i}){e.removeOverlay(n),ol.Observable.unByKey(i)}var fw=W(()=>{});var Cd,C_,pw=W(()=>{bt();xc();hw();fw();ln();Cd=class extends ol.interaction.Draw{constructor(n){let i=new ol.style.Style({fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.2)"}),stroke:new ol.style.Stroke({color:n.drawColor||"rgba(0, 0, 0, 0.5)",lineDash:[10,10],width:3}),image:new ol.style.Circle({radius:5,stroke:new ol.style.Stroke({color:"rgba(0, 0, 0, 0.7)"}),fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.2)"})})}),r=new ol.source.Vector;super({source:r,type:n.geometryType||"LineString",style:i}),this._helpTooltip,this._measureTooltipElement,this._measureTooltip,this._featureGeometryChangelistener,this._poinOnMapMoveListener,this._helpTooltipElement,this._helpMsg=n.help,this._projection=n.projection,this.feature=n.feature,this._map=null,this._feature=null,this._layer=new ol.layer.Vector({source:r,style(){return[new ol.style.Style({stroke:new ol.style.Stroke({lineDash:[10,10],width:3}),fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.2)"})})]}}),this.set("beforeRemove",this.clear),this.set("layer",this._layer),this.on("drawstart",this._drawStart),this.on("drawend",this._drawEnd)}clear(){this._layer.getSource().clear(),this._clearMessagesAndListeners(),this._map&&(pp({map:this._map,...this.measureTooltip}),this.measureTooltip=null,this._map.removeLayer(this._layer))}_clearMessagesAndListeners(){this._feature=null,this._map&&(this._measureTooltipElement=null,this._helpTooltipElement.innerHTML="",this._helpTooltipElement.classList.add("hidden"),ol.Observable.unByKey(this._featureGeometryChangelistener),ol.Observable.unByKey(this._poinOnMapMoveListener),$(document).off("keydown",this._keyDownEventHandler))}_drawStart(n){this._map=this.getMap(),this._map.removeLayer(this._layer),this._feature=n.feature,this.feature&&this._feature.setGeometry(this.feature.getGeometry()),this._keyDownEventHandler=i=>{let r=this._feature.getGeometry();i.keyCode===46&&(r instanceof ol.geom.Polygon&&r.getCoordinates()[0].length>2?this.removeLastPoint():r instanceof ol.geom.LineString&&r.getCoordinates().length>1&&this.removeLastPoint())},$(document).on("keydown",this._keyDownEventHandler),this._layer.getSource().clear(),this._poinOnMapMoveListener=this._map.on("pointermove",i=>{i.dragging||this._feature&&this._helpMsg&&(this._helpTooltipElement.innerHTML=He(this._helpMsg),this._helpTooltip.setPosition(i.coordinate),this._helpTooltipElement.classList.remove("hidden"))}),this._helpTooltipElement&&this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement),this._helpTooltip&&this._map.removeOverlay(this._helpTooltip),this._helpTooltipElement=document.createElement("div"),this._helpTooltipElement.className="mtooltip hidden",this._helpTooltip=new ol.Overlay({element:this._helpTooltipElement,offset:[15,0],positioning:"center-left"}),this._map.addOverlay(this._helpTooltip),this.measureTooltip&&pp({...this.measureTooltip,map:this._map}),this.measureTooltip=E_({map:this._map,feature:this._feature})}_drawEnd(){this.measureTooltip.tooltip.getElement().className="mtooltip mtooltip-static",this.measureTooltip.tooltip.setOffset([0,-7]),this._clearMessagesAndListeners(),this._map.addLayer(this._layer)}},C_=class extends An{constructor(n={}){super({...n,clickmap:!0,enabled:!0,onToggled(i){this._interaction.setActive(this.isToggled()),i||this._interaction.clear(),!i&&this.interactions[this.types[0]]!==this._interaction&&(this.getMap().removeInteraction(this._interaction),this._interaction=this.interactions[this.types[0]],this.getMap().addInteraction(this._interaction))}}),this.types=[],this.interactions={},(n.types||[]).forEach(i=>this.addType(i)),this.types.length===0&&this.setVisible(!1),this.on("setMap",i=>i.map.addInteraction(this._interaction))}addType(n){this.types.push(n),this._interactionClassOptions.geometryType={area:"Polygon",length:"LineString"}[n],this.interactions[n]=new Cd(this._interactionClassOptions),this.interactions[n].setActive(!1),this._interaction||(this._interaction=this.interactions[n]),this.types.length>1&&(this.toggledTool=this.toggledTool||{__title:"sdk.mapcontrols.measures.title",__iconClass:"measure",data:()=>({types:this.types,type:this.types[0]}),template:` + `,methods:{async download(i){let r=U.getService("map");V.download=!0,i.target.disabled=!0;try{let o=this.type==="screenshot"?await r.createMapImage():await(await fetch(`/${r.project.getType()}/api/asgeotiff/${r.project.getId()}/`,{method:"POST",body:Object.entries({image:await r.createMapImage(),csrfmiddlewaretoken:r.getCookie("csrftoken"),bbox:r.getMapBBOX().toString()}).reduce((u,c)=>(u.append(c[0],c[1]),u),new FormData)})).blob();Ur(o,`map_${Date.now()}`)}catch(o){U.showUserMessage({type:o.name==="SecurityError"?"warning":"alert",message:o.name==="SecurityError"?"mapcontrols.screenshot.securityError":"mapcontrols.screenshot.error",autoclose:!1}),console.warn(o)}return V.download=!1,i.target.disabled=!1,!0}},created(){U.toggleUserMessage(!1)},beforeDestroy(){U.toggleUserMessage(!0)}}}_addLayer(n){this.layers.push(n),this.change(this.layers),n.on("change:visible",()=>this.change(this.layers))}_removeLayer(n){this.layers=this.layers.filter(i=>i!==n),this.change(this.layers)}change(n=[]){this.setVisible(this.checkVisible(n))}checkVisible(n=[]){return this.isVisible()&&!n.some(jH)}}});function E_({map:e,feature:n}={},i={}){let r=document.createElement("div");r.className="mtooltip mtooltip-measure";let o=new ol.Overlay({element:r,offset:[0,-15],positioning:"bottom-center"});return e.addOverlay(o),{tooltip:o,unbyKey:n.getGeometry().on("change",u=>{let c,f=u.target;f instanceof ol.geom.Polygon?c=f.getInteriorPoint().getCoordinates():f instanceof ol.geom.MultiPolygon?c=f.getInteriorPoints().getCoordinates()[0]:(f instanceof ol.geom.LineString||f instanceof ol.geom.MultiLineString)&&(c=f.getLastCoordinate());let p=e.getView().getProjection(),g=ao(f.getType()),d=lo(f.getType()),v=Ds(f.getType()),y=p.getCode()==="EPSG:3857"||p.getUnits()==="degrees",S=[];d&&v&&(f.getPolygons()||[]).forEach(O=>O.getLinearRing().getCoordinates().forEach(H=>S.push(H))),d&&!v&&(S=f.getLinearRing().getCoordinates());let w=d&&S.length>2?new ol.geom.LineString(S):f,E=g||d&&S.length>2?y?ol.sphere.getLength(w,{projection:p.getCode()}):Ds(w.getType())?w.getLineStrings().reduce((O,H)=>O+=H.getLength(),0):w.getLength():void 0,I=d?Math.round(y?ol.sphere.getArea(f,{projection:p.getCode()}):f.getArea()):void 0;E!==void 0&&(E=V.map.unit==="nautical"?`${E*.0005399568} nm`:E>1e3?`${(Math.round(E/1e3*100)/100).toFixed(3)} km`:`${(Math.round(E*100)/100).toFixed(2)} m`),I!==void 0&&(I=V.map.unit==="nautical"?`${I*29155334959812285e-23} \u2009nmi\xB2`:I>1e6?`${(Math.round(I/1e6*100)/100).toFixed(6)} km2`:`${(Math.round(I*100)/100).toFixed(3)} m2`),r.innerHTML=(I!==void 0?`Area: ${I}
    `:"")+(I!==void 0&&E!==void 0?'
    ':"")+(E!==void 0?E:""),o.setPosition(c)})}}var hw=W(()=>{vt();_u();yu();Fh()});function pp({map:e,tooltip:n,unbyKey:i}){e.removeOverlay(n),ol.Observable.unByKey(i)}var fw=W(()=>{});var Cd,C_,pw=W(()=>{bt();xc();hw();fw();ln();Cd=class extends ol.interaction.Draw{constructor(n){let i=new ol.style.Style({fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.2)"}),stroke:new ol.style.Stroke({color:n.drawColor||"rgba(0, 0, 0, 0.5)",lineDash:[10,10],width:3}),image:new ol.style.Circle({radius:5,stroke:new ol.style.Stroke({color:"rgba(0, 0, 0, 0.7)"}),fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.2)"})})}),r=new ol.source.Vector;super({source:r,type:n.geometryType||"LineString",style:i}),this._helpTooltip,this._measureTooltipElement,this._measureTooltip,this._featureGeometryChangelistener,this._poinOnMapMoveListener,this._helpTooltipElement,this._helpMsg=n.help,this._projection=n.projection,this.feature=n.feature,this._map=null,this._feature=null,this._layer=new ol.layer.Vector({source:r,style(){return[new ol.style.Style({stroke:new ol.style.Stroke({lineDash:[10,10],width:3}),fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.2)"})})]}}),this.set("beforeRemove",this.clear),this.set("layer",this._layer),this.on("drawstart",this._drawStart),this.on("drawend",this._drawEnd)}clear(){this._layer.getSource().clear(),this._clearMessagesAndListeners(),this._map&&(pp({map:this._map,...this.measureTooltip}),this.measureTooltip=null,this._map.removeLayer(this._layer))}_clearMessagesAndListeners(){this._feature=null,this._map&&(this._measureTooltipElement=null,this._helpTooltipElement.innerHTML="",this._helpTooltipElement.classList.add("hidden"),ol.Observable.unByKey(this._featureGeometryChangelistener),ol.Observable.unByKey(this._poinOnMapMoveListener),$(document).off("keydown",this._keyDownEventHandler))}_drawStart(n){this._map=this.getMap(),this._map.removeLayer(this._layer),this._feature=n.feature,this.feature&&this._feature.setGeometry(this.feature.getGeometry()),this._keyDownEventHandler=i=>{let r=this._feature.getGeometry();i.keyCode===46&&(r instanceof ol.geom.Polygon&&r.getCoordinates()[0].length>2?this.removeLastPoint():r instanceof ol.geom.LineString&&r.getCoordinates().length>1&&this.removeLastPoint())},$(document).on("keydown",this._keyDownEventHandler),this._layer.getSource().clear(),this._poinOnMapMoveListener=this._map.on("pointermove",i=>{i.dragging||this._feature&&this._helpMsg&&(this._helpTooltipElement.innerHTML=He(this._helpMsg),this._helpTooltip.setPosition(i.coordinate),this._helpTooltipElement.classList.remove("hidden"))}),this._helpTooltipElement&&this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement),this._helpTooltip&&this._map.removeOverlay(this._helpTooltip),this._helpTooltipElement=document.createElement("div"),this._helpTooltipElement.className="mtooltip hidden",this._helpTooltip=new ol.Overlay({element:this._helpTooltipElement,offset:[15,0],positioning:"center-left"}),this._map.addOverlay(this._helpTooltip),this.measureTooltip&&pp({...this.measureTooltip,map:this._map}),this.measureTooltip=E_({map:this._map,feature:this._feature})}_drawEnd(){this.measureTooltip.tooltip.getElement().className="mtooltip mtooltip-static",this.measureTooltip.tooltip.setOffset([0,-7]),this._clearMessagesAndListeners(),this._map.addLayer(this._layer)}},C_=class extends An{constructor(n={}){super({...n,clickmap:!0,enabled:!0,onToggled(i){this._interaction.setActive(this.isToggled()),i||this._interaction.clear(),!i&&this.interactions[this.types[0]]!==this._interaction&&(this.getMap().removeInteraction(this._interaction),this._interaction=this.interactions[this.types[0]],this.getMap().addInteraction(this._interaction))}}),this.types=[],this.interactions={},(n.types||[]).forEach(i=>this.addType(i)),this.types.length===0&&this.setVisible(!1),this.on("setMap",i=>i.map.addInteraction(this._interaction))}addType(n){this.types.push(n),this._interactionClassOptions.geometryType={area:"Polygon",length:"LineString"}[n],this.interactions[n]=new Cd(this._interactionClassOptions),this.interactions[n].setActive(!1),this._interaction||(this._interaction=this.interactions[n]),this.types.length>1&&(this.toggledTool=this.toggledTool||{__title:"sdk.mapcontrols.measures.title",__iconClass:"measure",data:()=>({types:this.types,type:this.types[0]}),template:`
    `,u+=``,u+="
    "}),U.showModalDialog({title:He("sdk.atlas.template_dialog.title"),message:u,buttons:{success:{label:"OK",className:"skin-button",callback:()=>{let c=$('input[name="template"]:checked').attr("g3w_atlas_index");if(c===void 0)return!1;this._printSingleAtlas({features:r,atlas:o[c]})}}}})}showLayerDownloadFormats(n){n.downloadformats.active=!n.downloadformats.active,this.setLayerActionTool({layer:n,component:n.downloadformats.active?Sp:null,config:n.downloadformats.active?{...this.state.actiontools.downloadformats[n.id],downloads:this.state.actiontools.downloadformats[n.id].downloads.filter(i=>i.format!=="pdf")}:null})}async downloadFeatures(n,i,r=[],o,u,c){r&&!Array.isArray(r)&&(r=[r]);let{query:f={}}=this.state,p={fids:r.map(y=>y.attributes[Cn]).join(",")};n==="pdf"&&(p.html=c);let g=async(y=!1)=>{r.length>1&&(i.downloadformats.active=y,this.setLayerActionTool({layer:i})),await U.downloadWrapper(({layer:w,type:E,data:I}={})=>st(w.id).getDownloadFilefromDownloadDataType(E,{data:I})||Promise.resolve(),{layer:i,type:n,data:p});let S=this.state.layersactions[i.id].find(w=>w.id==="downloads");r.length>1&&S===void 0&&(i[n].active=!1,this.setLayerActionTool({layer:i})),r.length>1&&S!==void 0&&(i.downloadformats.active=!1),r.length<=1&&S===void 0&&(o.state.toggled[u]=!1),r.length<=1&&S!==void 0&&(S.state.toggled[u]=!1),r.length<=1&&this.setCurrentActionLayerFeatureTool({index:u,action:o,layer:i})};if(f.type!=="polygon"){await g();return}let d=this.state.layersactions[i.id].find(y=>y.id==="downloads"),v={choices:[{id:ut(),type:"feature",label:"sdk.mapcontrols.querybypolygon.download.choiches.feature.label"},{id:ut(),type:"polygon",label:"sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label"}],download:y=>{y==="polygon"?(p.sbp_qgs_layer_id=i.id,p.sbp_fid=f.fid):(delete p.sbp_fid,delete p.sbp_qgs_layer_id),g(!0)}};if(r.length===1&&d===void 0&&(o.state.toggled[u]=!0),r.length===1&&(this.state.actiontools[Ep.name]=this.state.actiontools[i.id]||{},this.state.actiontools[Ep.name][i.id]=v,this.setCurrentActionLayerFeatureTool({layer:i,index:u,action:o,component:Ep})),d===void 0&&r.length!==1&&(i[n].active=!i[n].active),r.length!==1){let y=d||i[n].active&&d===void 0;this.setLayerActionTool({layer:i,component:y?Ep:null,config:y?v:null})}}goToGeometry(n,i){i.geometry&&(this._asyncFnc.goToGeometry.async?this._asyncFnc.todo=U.getService("map")[this.isOneLayerResult()?"zoomToFeatures":"highlightGeometry"].bind(U.getService("map"),this.isOneLayerResult()?[i]:i.geometry,this.isOneLayerResult()?{}:{layerId:n.id,duration:1500}):setTimeout(()=>U.getService("map")[this.isOneLayerResult()?"zoomToFeatures":"highlightGeometry"](this.isOneLayerResult()?[i]:i.geometry,this.isOneLayerResult()?{}:{layerId:n.id,duration:1500})))}highlightGeometry(n,i){i.geometry&&U.getService("map").highlightGeometry(i.geometry,{layerId:n.id,zoom:!1,duration:1/0})}clearHighlightGeometry(n){U.getService("map").clearHighlightGeometry()}showRelation({relation:n,layerId:i,feature:r}={}){let o=this._project.getRelationById(n.name);U.pushContent({content:new zt({internalComponent:new(Vue.extend((L1(),Wn(k1)).default))({currentview:"relation",relations:[o],chartRelationIds:this.plotLayerIds.find(u=>u==o.referencingLayer)?[o.referencingLayer]:[],nmRelation:this._project.getRelationById(n.nmRelationId),layer:{id:i},feature:r})}),crumb:{title:o.name,text:!0},title:o.name,text:!0,closable:!1})}_getFeatureId(n,i){return i?n.id:n.attributes[Cn]}addToSelection(n,i,r,o){let u=U.getService("queryresults"),c=U.getService("map"),f=u._getFeatureId.bind(u),p=u.getActionLayerById.bind(u),g=i===void 0&&r===void 0&&o===void 0,d=g?p({layer:n,id:"selection"}):r,v=g&&Object.values(d.state.toggled).reduce((E,I)=>E&&I,!0),y=g?n.external?n:st(n.id):(u.state.layers.find(E=>E.id===n.id)||{}).external?n:st(n.id),S=g?n.features&&n.features.length?n.features:[]:[i],w=g?{fids:S.length>0?S.map(E=>y.external?E.id:E.attributes[Cn]):null,features:S,force:v?"remove":"add"}:{fids:[i?f(i,y.external):null],features:S,index:o,force:void 0};if(g?n.features.forEach((E,I)=>{d.state.toggled[I]=!v,E.selection.selected=d.state.toggled[I]}):(d.state.toggled[o]=!d.state.toggled[o],i.selection.selected=d.state.toggled[o]),v&&g){y.clearSelectionFids();return}if(!n.external&&![null,void 0].includes(w.fids)){let E=y,{fids:I,features:O,force:H}=w;I=Array.isArray(I)?I:[I],O=Array.isArray(O)?O:[O];let X=[],re=[];I.forEach((z,Z)=>{let te=O[Z],ee=E.state.filter.active||E.hasSelectionFid(z);!ee&&te&&te.geometry&&!E.getOlSelectionFeature(z)&&E.addOlSelectionFeature({id:z,feature:te}),H===void 0&&E[ee?"excludeSelectionFid":"includeSelectionFid"](z),H==="add"&&!ee&&X.push(z),H==="remove"&&re.push(z)}),E.includeSelectionFids(X,!1),E.excludeSelectionFids(re,!1),(E.state.filter.active?E.createFilterToken():Promise.resolve()).then(()=>{let{layers:z}=U.getService("queryresults").getState();I.forEach((Z,te)=>{let ee=!E.hasSelectionFid(Z)&&E.state.filter.active&&E.getSelectionFids().size>0&&z.find(ve=>ve.id===E.getId());ee&&ee.features.splice(o===void 0?te:o,1)}),c.clearHighlightGeometry(),z.length===1&&!z[0].features.length&&z.splice(0)})}if(n.external&&![null,void 0].includes(w.fids)){let E=y,{fids:I,features:O,force:H}=w;O=Array.isArray(O)?O:[O],E.selection.features===void 0&&(E.selection.features=[]),I.forEach((X,re)=>{let z=O[re];if(E.selection.features.find(Z=>Z.getId()===X)===void 0){let Z=z,{attributes:te}=z;z.geometry&&(Z=new ol.Feature(z.geometry),Z.setId(X)),Object.keys(te).forEach(ee=>Z.set(ee,te[ee])),Z.__layerId=E.id,Z.selection=z.selection,E.selection.features.push(Z)}H==="add"&&z.selection.selected||H==="remove"&&!z.selection.selected||c.setSelectionFeatures(z.selection.selected?"add":"remove",{feature:E.selection.features.find(Z=>X===Z.getId())})}),E.selection.active=E.selection.features.reduce((X,re)=>X||re.selection.selected,!1)}}}});function pee(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="QueryResultsTableAttributeFieldValue.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var aee,lee,cee,uee,dee,hee,fee,gee,BO,UO=W(()=>{Vv();Qv();Zv();rr();aee={name:"tableattributefieldvalue",props:{field:{type:Object},feature:{type:Object}},mixins:[us],components:{"g3w-link":Lg,"g3w-vue":Ag,"g3w-image":mf}},lee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.isVue(e.field)?i("g3w-vue",{attrs:{feature:e.feature,state:e.field}}):e.isSimple(e.field)?i("span",{domProps:{innerHTML:e._s(e.field.value)}}):e.isPhoto(e.field)?i("g3w-image",{attrs:{state:e.field}}):e.isImage(e.field)?i("g3w-image",{attrs:{state:e.field}}):e.isLink(e.field)?i("g3w-link",{attrs:{state:{value:e.field.value}}}):e._e()},cee=[],uee=void 0,dee="data-v-019d651d",hee=void 0,fee=!1;gee=pee({render:lee,staticRenderFns:cee},uee,aee,dee,fee,hee,!1,void 0,void 0,void 0),BO=gee});function See(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="QueryResultsActionInfoFormats.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var mee,_ee,yee,vee,bee,xee,wee,Eee,VO,WO=W(()=>{bt();h_();bu();qn();mee={name:"Infoformats",props:{layer:{type:Object,required:!0}},data(){return{infoformat:this.layer.infoformat}},computed:{infoformats(){return this.layer.infoformats||[]},hasInfo(){return this.infoformats.length}},methods:{async reloadLayerDataWithChangedContentType(e){this.layer.loading=!0,this.$el.disabled=!0;try{let n=await this.projectLayer.changeProxyDataAndReloadFromServer("wms",{headers:{"Content-Type":e},params:{INFO_FORMAT:e}});this.layer.infoformat=e,this.projectLayer.setInfoFormat(this.layer.infoformat);let[i]=bs.get(e)({layers:[this.projectLayer],response:n});i.features?this.__parsedata(i):this.__parserawdata(i)}catch(n){console.warn(n)}this.layer.loading=!1,this.$el.disabled=!1},__parsedata(e){let n=U.getService("queryresults");this.layer.rawdata=null,e.features.forEach(i=>{let{id:r,geometry:o,properties:u}={properties:i instanceof ol.Feature?i.getProperties():i.properties,geometry:i instanceof ol.Feature?i.getGeometry():i.geometry,id:i instanceof ol.Feature?i.getId():i.id};this.layer.attributes.length===0&&(this.layer.hasgeometry=!!o,n.setActionsForLayers([this.layer]),co(u).forEach(c=>{this.layer.attributes.push({name:c,label:c,show:!0})})),this.layer.features.push({id:r,attributes:u,geometry:o,show:!0})})},async __parserawdata(e){this.layer.features.splice(0),await this.$nextTick(),this.layer.rawdata=e.rawdata}},watch:{infoformat(e){this.reloadLayerDataWithChangedContentType(e)}},created(){this.projectLayer=st(this.layer.id)},beforeDestroy(){this.projectLayer&&this.projectLayer.clearProxyData("wms"),this.projectLayer=null}},_ee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.hasInfo?i("select",{directives:[{name:"select2",rawName:"v-select2",value:"infoformat",expression:"'infoformat'"}],staticClass:"skin-color",attrs:{select2_value:e.infoformat,search:!1}},e._l(e.infoformats,function(r){return i("option",{key:r,domProps:{value:r}},[e._v(` + `,async mounted(){await this.$nextTick(),this.$refs.table.click()}}))}),push:!0,showgoback:!0,closable:!1,title:e})},editFeature(e){U.getService("queryresults").editFeature({layer:{id:this.table.layerId,attributes:this.table.fields},feature:this.table.features[e]})},getRowFields(e){return this.table.fields.map((n,i)=>(n.value=e[i],n.query=!0,n.input={type:`${this.getFieldType(n)}`},n))},reloadLayout(){this.relationDataTable&&this.relationDataTable.columns.adjust()},back(){this.$parent.setRelationsList()},fieldIs(e,n){return this.getFieldType(n)===e},is(e,n){return this.fieldIs(e,n)},wrapMoveFnc(e){this.moveFnc(e)},resizeStart(){document.getElementById("g3w-view-content").addEventListener("mousemove",this.wrapMoveFnc),document.getElementById("g3w-view-content").addEventListener("mouseup",this.resizeStop,{once:!0})},async resizeStop(){document.getElementById("g3w-view-content").removeEventListener("mousemove",this.wrapMoveFnc),await this.$nextTick(),U.emit("resize")},moveFnc(e){let n=$(".sidebar-collapse").length?0:FO,i=e.pageX+2-n;this.$refs.tablecontent.style.width=`${i}px`,this.$refs.chartcontent.style.width=`${$(this.$refs.relationwrapper).width()-i-10}px`}},watch:{table(e){e&&e.rows.length&&this.createTable()},async chart(){await this.$nextTick(),this.resize()},async headercomponent(){await this.$nextTick(),this.resize()}},beforeCreate(){this.delayType="debounce"},async created(){this.table=await this.getRelationDataTable({page:this.page,page_size:this.page_size})},async beforeDestroy(){this.relationDataTable&&(this.relationDataTable.destroy(),this.relationDataTable=null,this.chartContainer&&this.$emit("hide-chart",this.chartContainer),this.chartContainer=null,this.tableHeaderHeight=null,U.off("pop-content",this.resize))}},$J=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.table?i("div",{ref:"query_relation",staticClass:"query-relation",class:e.isMobile()?"mobile":null},[i("div",{ref:"relation-header",staticClass:"header skin-background-color lighten"},[i("div",{staticClass:"g3w-long-text"},[e.showrelationslist?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.relations.back_to_relations",expression:"'sdk.relations.back_to_relations'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button-icon action-button back-button",class:e.$fa("exit"),on:{click:function(r){return r.stopPropagation(),e.back.apply(null,arguments)}}}):e._e(),e._v(" "),i("b",{staticClass:"relation-tile skin-color"},[e._v(" "+e._s(e.relation.name)+" ")])]),e._v(" "),e.table.rows.length?i("div",{staticClass:"relations-table-tools"},[e.downloadButton?i("span",{directives:[{name:"download",rawName:"v-download"},{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:e.downloadButton.tooltip,expression:"downloadButton.tooltip",arg:"left",modifiers:{create:!0}}],staticClass:"action-button-icon action-button",class:[e.$fa("download"),{"toggled-white":e.downloadButton.toggled}],on:{click:function(r){return r.stopPropagation(),e.downloadButton.handler.apply(null,arguments)}}}):e._e(),e._v(" "),e.showChartButton?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"sdk.tooltips.show_chart",expression:"'sdk.tooltips.show_chart'",arg:"bottom",modifiers:{create:!0}}],staticClass:"action-button-icon action-button",class:[e.$fa("chart"),e.chart?"toggled-white":""],on:{click:function(r){return r.stopPropagation(),e.showChart.apply(null,arguments)}}}):e._e()]):e._e()]),e._v(" "),e.table.rows.length?i("div",{ref:"relationwrapper",staticClass:"relation-wrapper"},[i("div",{ref:"tablecontent",style:{width:e.chart?"70%":"100%",marginRight:e.chart?"8px":"3px",position:"relative"},attrs:{id:"table_content"}},[e.headercomponent?i("div",{staticClass:"header-component"},[i(e.headercomponent,{tag:"component",attrs:{layer:e.downloadLayer.state,config:e.downloadLayer.config}})],1):e._e(),e._v(" "),i("table",{ref:"relationtable",staticClass:"hover relationtable table table-striped row-border compact nowrap"},[i("thead",[i("tr",{staticStyle:{height:"0! important"}},[e.showTools?i("th",{style:{minWidth:this.showTools*30+"px",padding:"0 !important"}}):e._e(),e._v(" "),e._l(e.table.columns,function(r){return i("th",[e._v(e._s(r))])})],2)]),e._v(" "),i("tbody",e._l(e.table.rows,function(r,o){return i("tr",{key:e.table.rows_fid[o],class:{selected:e.table.rowFormStructure===r}},[e.showTools?i("td",{staticClass:"table-tools"},[e.table.features[o].geometry?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.tooltips.relations.zoomtogeometry",expression:"'sdk.tooltips.relations.zoomtogeometry'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:e.$fa("marker"),on:{click:function(u){return u.stopPropagation(),e.zoomToGeometry(e.table.features[o].geometry)}}}):e._e(),e._v(" "),e.table.formStructure?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.tooltips.relations.row_to_form",expression:"`sdk.tooltips.relations.row_to_form`",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:e.$fa("table"),on:{click:function(u){u.stopPropagation(),e.showFormStructureRow({title:e.table.title,layerid:e.table.layerId,feature:e.table.features[o],fields:e.getRowFields(r),tabs:e.table.formStructure})}}}):e._e(),e._v(" "),e.isEditable?i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"Edit",expression:"'Edit'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:e.$fa("pencil"),on:{click:function(u){return u.stopPropagation(),e.editFeature(o)}}}):e._e()]):e._e(),e._v(" "),e._l(r,function(u){return i("td",[i("field",{attrs:{state:{value:u}}})],1)})],2)}),0)])]),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.chart,expression:"chart"}],staticClass:"skin-border-color lighten",staticStyle:{"border-style":"solid","border-width":"0 1px 0 1px"},style:{minWidth:"5px",backgroundColor:"#dddddd",cursor:"col-resize"},on:{mousedown:function(r){return r.stopPropagation(),e.resizeStart.apply(null,arguments)}}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.chart,expression:"chart"}],ref:"chartcontent",style:{width:e.chart?"30%":"0"},attrs:{id:"chart_content"}})]):i("div",{staticClass:"dataTables_scrollBody"},[i("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.relations.no_relations_found",expression:"'sdk.relations.no_relations_found'"}]})])]):e._e()},BJ=[],UJ=function(e){e&&(e("data-v-470476bc_0",{source:".query-relation[data-v-470476bc]{margin-top:3px}.query-relation>.header[data-v-470476bc]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-470476bc]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-470476bc]{font-size:1em}.relations-table-tools[data-v-470476bc]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-470476bc]{padding:5px}.relation-wrapper[data-v-470476bc]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-470476bc]{font-size:.8em}.header-component[data-v-470476bc]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.relationtable .table-tools .action-button[data-v-470476bc]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-470476bc]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-470476bc]{background-color:#fff!important}#chart_content[data-v-470476bc]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-470476bc]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}",map:void 0,media:void 0}),e("data-v-470476bc_1",{source:".relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:0 0!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}",map:void 0,media:void 0}))},VJ="data-v-470476bc",WJ=void 0,HJ=!1;XJ=YJ({render:$J,staticRenderFns:BJ},UJ,GJ,VJ,HJ,WJ,!1,I1,void 0,void 0),k1=XJ});var jO={};hi(jO,{default:()=>see});function iee(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="RelationsPage.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var ZJ,KJ,QJ,JJ,eee,tee,nee,ree,see,qO=W(()=>{_a();bt();PO();L1();ZJ={name:"relation-page",data(){let{relation:e=null,relations:n=[],nmRelation:i,feature:r=null,currentview:o="relations",chartRelationIds:u=[],layer:c}=this.$options;return{loading:!1,state:null,error:!1,previousview:o,feature:r,currentview:o,relation:e,relations:n,nmRelation:i,chartRelationIds:u,layer:c}},components:{relations:OO,relation:k1},computed:{showrelationslist(){return this.previousview==="relations"}},methods:{reloadLayout(){nn.$emit("reload-relations")},showChart(e,n){U.getService("queryresults").showChart([this.relation.referencingLayer],e,n)},hideChart(e){U.getService("queryresults").hideChart(e)},async showRelation(e){this.loading=!0,this.relation=e;try{U.setCurrentContentOptions({title:e.name,crumb:{title:e.name,text:!0}}),await this.$nextTick(),this.previousview=this.currentview,this.currentview="relation"}catch(n){console.warn(n)}this.loading=!0},setRelationsList(){this.previousview="relation",this.currentview="relations",U.setCurrentContentOptions({crumb:{title:"info.list_of_relations"}}),this.loading=!1}},beforeMount(){(this.currentview==="relation"||this.relations.length===1&&this.relations[0].type==="ONE")&&this.showRelation(this.relations[0])},async mounted(){this.relations.sort(({name:e},{name:n})=>en?1:0),await this.$nextTick(),this.error&&requestAnimationFrame(()=>U.popContent()),this.error=!1},created(){this.$on("resize-component",this.reloadLayout)}},KJ=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"query-relations-page"},[i(e.currentview,{ref:e.currentview,tag:"component",attrs:{loading:e.loading,previousview:e.previousview,relations:e.relations,relation:e.relation,feature:e.feature,layer:e.layer,chartRelationIds:e.chartRelationIds,showrelationslist:e.showrelationslist},on:{"show-chart":e.showChart,"hide-chart":e.hideChart}})],1)},QJ=[],JJ=void 0,eee=void 0,tee=void 0,nee=!1;ree=iee({render:KJ,staticRenderFns:QJ},JJ,ZJ,eee,nee,tee,!1,void 0,void 0,void 0),see=ree});var GO={};hi(GO,{default:()=>oee});function zO(e){if(e.nodes)for(let n of e.nodes)zO(n);else e.name&&(e.relation=!0)}var oee,$O=W(()=>{_a();bt();Nt();Yn();qs();_c();vt();zi();w1();AO();bu();Nw();Tw();l1();yc();$o();bn();E1();Bn();bc();Ld();ln();oee=new class extends Et{constructor(){super(),this.setters={setQueryResponse(n,i={add:!1,update:!1}){if(n.data||(n.data=[]),n.query||(n.query={external:{add:!1,filter:{SELECTED:!1}}}),n.query.external||(n.query.external={add:!1,filter:{SELECTED:!1}}),i.add===!1&&i.update&&(this.state.query=n.query,this.state.type=n.type),i.add===!1&&!i.update&&(this.clearState(),this.state.query=n.query,this.state.type=n.type),n.query.external.add===!0&&i.add===!1){let u=U.getService("catalog"),c=n.query.external.filter.SELECTED;this._vectorLayers.forEach(f=>{let p=f.get("id");f.getVisible()&&[void 0,!!(u.state.external.vector.find(g=>g.id===p)||{}).selected].includes(c)&&n.data[p==="__g3w_marker"?"unshift":"push"](this.getVectorLayerFeaturesFromQueryRequest(f,n.query))})}let r=i.add===!1&&{coordinates:(this.state.query.coordinates||[]).length===2&&new ol.geom.Point(this.state.query.coordinates),bbox:(this.state.query.bbox||[]).length===4&&ol.geom.Polygon.fromExtent(this.state.query.bbox),polygon:this.state.query.geometry,drawpolygon:this.state.query.geometry,circle:this.state.query.geometry}[this.state.query.type];if(r){let u=new ol.Feature(r);u.setId(void 0),this.resultsQueryLayer.getSource().clear(),U.getService("map").getMap().removeLayer(this.resultsQueryLayer),this.resultsQueryLayer.getSource().addFeature(u),U.getService("map").getMap().addLayer(this.resultsQueryLayer),this.resultsQueryLayer.setZIndex(U.getService("map").getMap().getLayers().getLength())}let o=n.data.flatMap(u=>[].concat(u)).filter(u=>u&&(u.rawdata!==void 0||Array.isArray(u.features)&&u.features.length>0)).map(({layer:u,features:c,rawdata:f,error:p}={})=>{let g=u instanceof ai,d=u instanceof ol.layer.Vector,v=typeof u=="string"||u instanceof String,y;if(v)y=ai.LayerTypes.VECTOR;else if(g)try{y=u.getSourceType()}catch(z){console.warn("uknown source type for layer:",z,u)}let S=v&&u.split("_"),w=(g?u.getId():void 0)||(d?u.get("id"):void 0)||(v?u:void 0),E,I;(!c||!c.length)&&(E=[]),!E&&u instanceof ai&&(I=u.getAttributes().map(z=>this.state.type==="ows"?{...z,name:z.name.replace(/ /g,"_")}:z)),!E&&u instanceof ol.layer.Vector&&(I=u.getProperties()),(!E&&typeof u=="string"||u instanceof String)&&(I=c[0]?c[0].getProperties():[]);let O=(!E&&u instanceof ai&&I||[]).filter(z=>{try{return z.name[0]==="_"||Number.isInteger(1*z.name[0])}catch{return!1}}).map(z=>({alias:z.name.replace(/_/,""),name:z.name}));!E&&O.length&&c.forEach(z=>{let Z=Object.keys(z.getProperties());O.forEach(te=>{Z.find(ee=>{if(ee===te.alias)return z.set(te.name,z.get(ee)),!0})})});let H=!E&&co(Object.keys(c[0]instanceof ol.Feature?c[0].getProperties():c[0].properties));E||(E=I&&I.length>0?I.filter(z=>H.includes(z.name)):H.map(z=>({name:z,label:z,show:Cn!==z&&[void 0,"gdal","wms","wcs","wmst","postgresraster"].includes(y),type:"varchar"})));let X=d||v,re=g&&u.hasFormStructure()&&u.getLayerEditingFormStructure();if(re&&Array.isArray(this._relations[u.getId()])&&this._relations[u.getId()].length>0)for(let z of re)zO(z);return{id:w,attributes:E,external:X,features:(!f&&c||[]).map(z=>({id:X||z instanceof ol.Feature?z.getId():z.id,attributes:z instanceof ol.Feature?z.getProperties():z.properties,geometry:z instanceof ol.Feature?z.getGeometry():z.geometry,selection:{selected:!1},show:!0})),hasgeometry:Array.isArray(c)&&!f&&c.some(z=>z instanceof ol.Feature?z.getGeometry():z.geometry),hasImageField:Array.isArray(c)&&!f&&c.length&&E.some(z=>z.type==="image"),loading:!1,show:!0,expandable:!0,addfeaturesresults:{active:!1},downloadformats:{active:!1},editable:g?u.isEditable()&&u.config.editing.visible:!1,inediting:g?u.isInEditing():!1,source:g?u.getSource():void 0,infoformat:g?u.getInfoFormat():void 0,infoformats:g?u.getInfoFormats():[],downloads:g?u.getDownloadableFormats():[],formStructure:re?{structure:re,fields:u.getFields().filter(z=>z.show).concat((Array.isArray(c)&&!f&&c.length>0&&E||[]).filter(z=>u.getFields().some(Z=>Z.name===z.name)))}:void 0,relationsattributes:g||d||v?[]:void 0,filter:g&&!["wms","wcs","wmst"].includes(y)?u.state.filter:{},selection:g&&!["wms","wcs","wmst"].includes(y)&&u.state.selection||d&&u.selection||{},title:g&&u.getTitle()||d&&u.get("name")||v&&S&&(S.length>4?S.slice(0,S.length-4).join(" "):u)||void 0,atlas:this._atlas.filter(z=>z.atlas.qgs_layer_id===w),rawdata:f||null,error:p||"",toc:X||u.state.toc}});this.setLayersData(o,i)},setLayersData(n=[],i={add:!1,update:!1}){i.add===!1&&n.sort((r,o)=>r.external?0:this._projectLayerIds.indexOf(r.id)>this._projectLayerIds.indexOf(o.id)?1:-1),n.forEach((r,o)=>{r.filter.pagination=r.filter.pagination||!!(this.state.query.pagination&&this.state.query.pagination.counts[o]>r.features.length),i.add||i.update?this.updateLayerResultFeatures(r,i.update):this.state.layers.push(r)}),this.setActionsForLayers(n,{add:i.add,update:i.update}),this.state.changed=!0},addComponent(n){this.state.components.push(n)},addActionsForLayers(n,i){},postRender(n){},closeComponent(){},changeLayerResult(n){this.state.layersactions[n.id].forEach(i=>i.change&&i.change(n)),(n.features||[]).forEach((i,r)=>{let o=this.state.currentactiontools[n.id];o!==void 0&&(o[r]===void 0&&Vue.set(o,r,null),o[r]=null)})},activeMapInteraction(){},editFeature({layer:n,feature:i}={}){},openCloseFeatureResult({open:n,layer:i,feature:r,container:o}={}){},removeFeatureLayerFromResult(n,i){this.updateLayerResultFeatures({id:n.id,external:n.external,features:[i]})}},this.unlistenerlayeractionevents=[],this._relations={},this._atlas=[],this.plotLayerIds=[],this.state={logged:V.user.id!==void 0,components:[],layers:[],changed:!1,query:null,type:"ows",layersactions:{},actiontools:{},currentactiontools:{},currentactionfeaturelayer:{},layeractiontool:{},layersFeaturesBoxes:{},layerscustomcomponents:{}},this._vectorLayers=[],this._addFeaturesLayerResultInteraction={id:null,interaction:null,mapcontrol:null,toggleeventhandler:null},this._asyncFnc={todo:()=>{},zoomToLayerFeaturesExtent:{async:!1},highLightLayerFeatures:{async:!1},goToGeometry:{async:!1}},this.resultsQueryLayer=new ol.layer.Vector({source:new ol.source.Vector,style:n=>new ol.style.Style(n.getGeometry().getType()==="Point"?{text:new ol.style.Text({fill:new ol.style.Stroke({color:"black"}),text:"\uF3C5",font:'900 3em "Font Awesome 5 Free"',offsetY:-15})}:{stroke:new ol.style.Stroke({color:"black"})})}),this._project=V.project,this._projectLayerIds=(()=>{let n=[],i=r=>{(r.nodes||[r]).forEach(o=>{o.id?n.push(o.id):i(o)})};return this._project.state.layerstree.forEach(i),n})(),this._setRelations(this._project),this._atlas=this._project.getPrint().filter(n=>n.atlas)||[],U.onbefore("setContent",n=>{n.perc===100&&U.isMobile()&&(this._asyncFnc.zoomToLayerFeaturesExtent.async=!0,this._asyncFnc.highLightLayerFeatures.async=!0,this._asyncFnc.goToGeometry.async=!0)})}async loadPaginationData(n,i,r,o){this.state.query.autofilter&&this.state.query.pagination&&(this.state.query.autofilter=!1,this.state.query.pagination.getData.params.forEach(d=>delete d.autofilter)),r&&(this.state.query.pagination.getData.params[n].page_size=r,this.state.query.pagination.pages[n]=Math.round(this.state.query.pagination.counts[n]/r));let{layers:u=[],method:c,params:f}=this.state.query.pagination.getData,p=u[n],g=!!p.getFilterToken();try{let d=await p[c]({...f[n],page:i});this.setQueryResponse({...d,query:o},{add:!1,update:!0}),this.state.query.pagination.current[n]=i;let v=p.state.selection.active||g,y=this.state.layersactions[p.getId()].find(({id:S})=>S==="selection");this.state.layers[n].features.forEach((S,w)=>{if(v&&!S.selection.selected&&p.isGeoLayer()&&S.geometry){let E=this._getFeatureId(S,this.state.layers[n].external);p.addOlSelectionFeature({id:E,feature:S}).selected=!0,p.includeSelectionFid(E,!1)}S.selection.selected=v,y.state.toggled[w]=v}),p.state.filter.active=v,p.state.selection.active=v,this.state.layers[n].filter.pagination=this.state.layers[n].features.lengthf.id===n.id),o=n.features||[],u=(this.state.layers.find(f=>f.id===n.id)||{}).external;if(r&&(r.features||[]).length>0){let f=i?[]:r.features.map(g=>u?g.id:g.attributes[Cn]),p=this.state.layersactions[r.id].find(g=>g.id==="selection");i&&(r.features.forEach(g=>delete this.state.layersFeaturesBoxes[this.getBoxId(r,g)]),r.features.splice(0)),o.forEach((g,d)=>{let v=this._getFeatureId(g,u);f.some(y=>y===v)?(p&&g.selection.selected&&(u?r:st(r.id)).excludeSelectionFid(v,r.filter.active),r.features.splice(d,1),delete this.state.layersFeaturesBoxes[this.getBoxId(r,g)],p&&(delete p.state.toggled[d],p.state.toggled=Vue.observable(r.features.reduce((y,S,w)=>(y[w]=S.selection.selected,y),{})))):r.features.push(g)}),(r.features||[]).forEach(g=>{let d=(r.features||[]).length>1,v=this.state.layersFeaturesBoxes[this.getBoxId(r,g)];v&&setTimeout(()=>v.collapsed=d)})}r&&(r.features||[]).length===0&&setTimeout(()=>{this.state.layers=this.state.layers.filter(f=>f.id!==r.id),this.clearHighlightGeometry(r),this.removeAddFeaturesLayerResultInteraction(!0)}),this.state.layers.length===1&&U.getService("map").highlightFeatures(this.state.layers[0].features,{duration:1/0}),this.changeLayerResult(r)}getBoxId(n,i,r){return r!=null?`${n.id}_${i.id}_${r}`:`${n.id}_${i.id}`}setActionsForLayers(n,i={add:!1,update:!1}){i.add||i.update||(this.unlistenerlayeractionevents=[],n.forEach(r=>{let o=this.state;this.state.layeractiontool[r.id]=Vue.observable({component:null,config:null}),this.state.currentactiontools[r.id]=Vue.observable({...Array((r.features||[]).length).fill(null)}),this.state.currentactionfeaturelayer[r.id]=Vue.observable({...Array((r.features||[]).length).fill(null)}),this.state.layersactions[r.id]=this.state.layersactions[r.id]||[];let u=r.downloads.length===1&&(r.downloads||[]).at(0),c=(this._relations[r.id]||[]).filter(p=>p.type==="MANY"),f=c.map(p=>this.plotLayerIds.find(g=>g===p.referencingLayer)).filter(Boolean);if(u&&(r[u]=Vue.observable({active:!1})),r.downloads.length>1&&(this.state.actiontools.downloadformats=this.state.actiontools.downloadformats||{},this.state.actiontools.downloadformats[r.id]={downloads:r.downloads.map(p=>({id:`download_${p}_feature`,download:!0,format:p,class:U.getFontClass(p),hint:`sdk.tooltips.download_${p}`,cbk:(g,d,v,y,S)=>{if(this.downloadFeatures(p,g,d,v,y,S),this.state.query.type!=="polygon"){let w=this.state.layersactions[g.id].find(E=>E.id==="downloads");w.cbk(g,d,w,y,S)}}}))}),this.state.layersactions[r.id].push(...[r.hasgeometry&&{id:"gotogeometry",mouseover:!0,class:U.getFontClass("marker"),hint:"sdk.mapcontrols.query.actions.zoom_to_feature.hint",cbk:Hn(this.goToGeometry.bind(this))},c.length&&{id:"show-query-relations",class:U.getFontClass("relation"),hint:"sdk.mapcontrols.query.actions.relations.hint",cbk(p,g,d){U.setCurrentContentOptions({title:p.title,crumb:{text:!0,title:p.title}}),U.pushContent({content:new zt({internalComponent:new(Vue.extend((qO(),Wn(jO)).default))({relations:d.relations,chartRelationIds:d.chartRelationIds,feature:g,layer:p})}),backonclose:!0,title:"info.list_of_relations",id:"__G3W_LIST_OF_RELATIONS_ID__",crumb:{title:"info.list_of_relations",trigger:null},closable:!1})},relations:c,chartRelationIds:f},f.length&&{id:"show-plots-relations",opened:!0,class:U.getFontClass("chart"),state:Vue.observable({toggled:r.features.reduce((p,g,d)=>(p[d]=null,p),{})}),hint:"sdk.mapcontrols.query.actions.relations_charts.hint",cbk:Hn((p,g,d,v,y)=>{d.state.toggled[v]=!d.state.toggled[v],d.state.toggled[v]?this.emit("show-chart",f,y,{relations:this._relations[p.id],fid:g.attributes[Cn],height:400}):this.hideChart(y)})},this._atlas.filter(p=>p.atlas.qgs_layer_id===r.id).length&&{id:"printatlas",download:!0,class:U.getFontClass("print"),hint:"sdk.tooltips.atlas",cbk:this.printAtlas.bind(this)},u&&{id:`download_${u}_feature`,download:!0,state:Vue.observable({toggled:r.features.reduce((p,g,d)=>(p[d]=null,p),{})}),class:U.getFontClass("download"),hint:`sdk.tooltips.download_${u}`,cbk:(p,g,d,v,y)=>{d.state.toggled[v]=!d.state.toggled[v],d.state.toggled[v]?this.downloadFeatures(u,p,g,d,v,u==="pdf"?y[0].innerHTML:null):this.setCurrentActionLayerFeatureTool({index:v,action:d,layer:p})}},r.downloads.length>1&&{id:"downloads",download:!0,class:U.getFontClass("download"),state:Vue.observable({toggled:r.features.reduce((p,g,d)=>(p[d]=null,p),{})}),toggleable:!0,hint:"Downloads",change({features:p}){p.forEach((g,d)=>this.state.toggled[d]===void 0?nn.$set(this.state.toggled,d,!1):this.state.toggled[d]=!1)},cbk:(p,g,d,v)=>{d.state.toggled[v]=!d.state.toggled[v],this.setCurrentActionLayerFeatureTool({layer:p,index:v,action:d,component:d.state.toggled[v]?Sp:null})}},(r.id==="__g3w_marker"||!r.external&&(r.source||{}).type!=="wms")&&{id:"removefeaturefromresult",mouseover:!0,class:U.getFontClass("minus-square"),style:{color:"red"},state:Vue.observable({show:!o.query.pagination&&!r.filter.pagination}),hint:"sdk.mapcontrols.query.actions.remove_feature_from_results.hint",cbk:this.removeFeatureLayerFromResult.bind(this),init(){this.unwatch=nn.$watch(()=>r.filter.pagination,p=>this.state.show=!p)},clear(){this.unwatch&&this.unwatch()},change(){this.state.disabled=!o.query.pagination&&!r.filter.pagination}},r.toc&&r.selection.active!==void 0&&{id:"selection",class:U.getFontClass("success"),hint:"sdk.mapcontrols.query.actions.add_selection.hint",state:Vue.observable({toggled:r.features.reduce((p,g,d)=>(p[d]=null,p),{}),show:!o.query.pagination&&!r.filter.pagination}),init:({feature:p,index:g,action:d}={})=>{if(r.external&&r.selection.active!==void 0)d.state.toggled[g]=p.selection.selected;else if(p&&r.selection.active!==void 0){let v=st(r.id),y=this._getFeatureId(p,r.external),S=p?v.hasSelectionFid(y):!1;!this.state.query.pagination&&v.state.filter.active&&!S&&(S=!0,v.addOlSelectionFeature({id:y,feature:p}).selected=!0,v.includeSelectionFid(y,!1)),p.selection.selected=S,d.state.toggled[g]=v.state.filter.active&&v.state.filter.current==null||S,d.unwatch=nn.$watch(()=>r.filter.pagination,w=>d.state.show=!w)}},clear(){this.unwatch&&this.unwatch()},change({features:p}){this.state.show=!o.query.pagination&&!r.filter.pagination,p.forEach((g,d)=>this.state.toggled[d]===void 0&&nn.$set(this.state.toggled,d,!1))},cbk:Hn(this.addToSelection.bind(this))},r.hasgeometry&&!r.external&&(r.source||{}).type!=="wms"&&{id:"link_zoom_to_fid",class:U.getFontClass("share-alt"),hint:"sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint",hint_change:{hint:"sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change",duration:1e3},cbk(p,g,d){let v=new URL(location.href);v.searchParams.set("zoom_to_fid",`${p.id}|${g.attributes[Cn]}`),sy(v.toString()),d.hint_changed=!0}},r.editable&&r.inediting===!1&&{id:"editing",class:U.getFontClass("pencil"),hint:"sdk.tooltips.editing",cbk:(p,g)=>this.editFeature({layer:p,feature:g})}].filter(Boolean)),r.external&&r.toc&&r.selection.active!==void 0)r.features.forEach(p=>p.selection=(r.selection.features.find(g=>p.id===g.getId())||{selection:{selected:!1}}).selection);else if(!r.external&&r.toc&&r.selection.active!==void 0){let p=()=>r.features.forEach((g,d)=>this.state.layersactions[r.id].find(v=>v.id==="selection").state.toggled[d]=!1);st(r.id).on("unselectionall",p),this.unlistenerlayeractionevents.push({layer:st(r.id),event:"unselectionall",handler:p})}}),this.addActionsForLayers(this.state.layersactions,this.state.layers))}getActionLayerById({layer:n,id:i}={}){if(this.state.layersactions[n.id])return this.state.layersactions[n.id].find(r=>r.id===i)}setCurrentActionLayerFeatureTool({layer:n,action:i,index:r,component:o=null}={}){let u=this.state.currentactiontools[n.id],c=this.state.currentactionfeaturelayer[n.id];c[r]=o?i:null,u[r]=o,u[r]&&i.id!==c[r].id&&c[r].toggleable&&(c[r].state.toggled[r]=!1)}addCurrentActionToolsLayer({id:n,layer:i,config:r={},action:o}){i&&(this.state.actiontools[n]={[i.id]:r},o&&(this.state.layersactions[i.id]=this.state.layersactions[i.id]||[],this.state.layersactions[i.id].push(o)))}setLayerActionTool({layer:n,component:i=null,config:r=null}={}){this.state.layeractiontool[n.id].component=i,this.state.layeractiontool[n.id].config=r}clear(){this._asyncFnc.todo(),this.unlistenerlayeractionevents.forEach(n=>n.layer.off(n.event,n.handler)),this.unlistenerlayeractionevents=[],U.getService("map").clearHighlightGeometry(),this.resultsQueryLayer.getSource().clear(),this.removeAddFeaturesLayerResultInteraction(!0),this._asyncFnc={todo:()=>{},zoomToLayerFeaturesExtent:{async:!1},highLightLayerFeatures:{async:!1},goToGeometry:{async:!1}},this.clearState(),this.closeComponent(),this.resultsQueryLayer.getSource().clear(),U.getService("map").getMap().removeLayer(this.resultsQueryLayer)}isOneLayerResult(){return this.state.layers.length===1}removeAddFeaturesLayerResultInteraction(n){let i=this._addFeaturesLayerResultInteraction;i.toggleeventhandler!==null&&U.getService("map").off("mapcontrol:toggled",i.toggleeventhandler),i.interaction!==null&&U.getService("map").removeInteraction(i.interaction),i.mapcontrol!==null&&i.mapcontrol.toggle(n),Object.assign(i,{interaction:null,id:null,toggleeventhandler:null,mapcontrol:null})}addLayerFeaturesToResultsAction(n){let i=this._addFeaturesLayerResultInteraction,r=![null,n.id].includes(i.id),o=r&&this.state.layers.find(u=>u.id===i.id);if(r&&o&&(o.addfeaturesresults.active=!1),r&&i.interaction&&U.getService("map").removeInteraction(i.interaction),i.id=n.id,n.addfeaturesresults.active=!n.addfeaturesresults.active,n.addfeaturesresults.active===!1)this.removeAddFeaturesLayerResultInteraction(!0);else{this.activeMapInteraction();let u=(this.state.layers.find(c=>c.id===n.id)||{}).external;i.mapcontrol=i.mapcontrol||U.getService("map").getCurrentToggledMapControl()||null,i.interaction=new Hi,U.getService("map").addInteraction(i.interaction,{close:!1}),i.interaction.on("picked",async({coordinate:c})=>{u?this.setQueryResponse({data:[this.getVectorLayerFeaturesFromQueryRequest(this._vectorLayers.find(f=>n.id===f.get("id")),{coordinates:c})],query:{coordinates:c}},{add:!0}):await Ht.getData("query:coordinates",{inputs:{coordinates:c,query_point_tolerance:this._project.getQueryPointTolerance(),layerIds:[n.id],multilayers:!1},outputs:{show:{add:!0}}})}),i.toggleeventhandler=c=>{c.target.isToggled()&&c.target.isClickMap()&&(n.addfeaturesresults.active=!1)},U.getService("map").once("mapcontrol:toggled",i.toggleeventhandler)}}deactiveQueryInteractions(){this.state.layers.forEach(n=>{n.addfeaturesresults&&(n.addfeaturesresults.active=!1)}),this.removeAddFeaturesLayerResultInteraction()}zoomToLayerFeaturesExtent(n,i={}){i.highlight=!this.isOneLayerResult(),this._asyncFnc.zoomToLayerFeaturesExtent.async?this._asyncFnc.todo=U.getService("map").zoomToFeatures.bind(U.getService("map"),n.features||[],i):U.getService("map").zoomToFeatures(n.features||[],i)}highLightLayerFeatures(n,i={}){this._asyncFnc.highLightLayerFeatures.async?this._asyncFnc.todo=U.getService("map").highlightFeatures.bind(U.getService("map"),n.features||[],i):U.getService("map").highlightFeatures(n.features||[],i)}clearState(){this.state.layers.splice(0),this.state.query=null,this.state.querytitle="",this.state.changed=!1,Object.values(this.state.layersactions).forEach(n=>n.forEach(i=>i.clear&&i.clear())),this.state.layersactions={},this.state.actiontools={},this.state.layeractiontool={},this.state.currentactiontools={},this.state.layersFeaturesBoxes={},this.removeAddFeaturesLayerResultInteraction()}getState(){return this.state}setState(n){this.state=n}_setRelations(n){this._relations=(n.getRelations()||[]).reduce((i,r)=>(i[r.referencedLayer]=i[r.referencedLayer]||[],i[r.referencedLayer].push(r),i),{})}setTitle(n){this.state.querytitle=n||""}async trigger(n,i,r,o,u){if(n==="highlightgeometry"&&this.highlightGeometry(i,r,o),n==="clearHighlightGeometry"&&this.clearHighlightGeometry(i,r,o),i&&this.state.layersactions[i.id]){let c=this.state.layersactions[i.id].find(f=>f.id===n);if(c&&c.cbk&&await c.cbk(i,r,c,o,u),c&&c.route){let f=c.route.replace(/{(\w*)}/g,(p,g)=>r.attributes.hasOwnProperty(g)?r.attributes[g]:"");f&&f!==""&&U.goto(f)}}}registerVectorLayer(n){this._vectorLayers.includes(n)||this._vectorLayers.push(n)}unregisterVectorLayer(n){this._vectorLayers=this._vectorLayers.filter(i=>(this.state.layers=this.state.layers.filter(r=>r.id!==n.get("id")),i!==n))}getVectorLayerFeaturesFromQueryRequest(n,i={}){let{coordinates:r,bbox:o,geometry:u,filterConfig:c={}}=i,f=[],p=r&&Array.isArray(r),g=o&&Array.isArray(o);p&&U.getService("map").viewer.map.forEachFeatureAtPixel(U.getService("map").viewer.map.getPixelFromCoordinate(r),v=>{f.push(v)},{layerFilter:v=>v===n}),g&&!p&&(u=ol.geom.Polygon.fromExtent(o));let d=u instanceof ol.geom.Polygon||u instanceof ol.geom.MultiPolygon;return d&&!p&&Lr===n.constructor?f=n.getIntersectedFeatures(u):d&&!p&&ol.layer.Vector===n.constructor&&n.getSource().getFeatures().forEach(v=>{let y;switch(c.spatialMethod){case"within":y=A_(u,v.getGeometry());break;case"intersects":default:y=O_(u,v.getGeometry());break}y===!0&&f.push(v)}),{features:f,layer:n}}async _printSingleAtlas({atlas:n={},features:i=[]}={}){let r=n.atlas?.field_name||"$id",{url:o}=await ny({field:r,values:i.map(u=>u.attributes[r==="$id"?Cn:r]),template:n.name,download:!0});U.setLoadingContent(!0);try{let u=o&&await fetch(o);if(!u?.ok)throw(await u.json()).message;Ur(await u.blob(),n.name||(u.headers.get("content-disposition")||"filename=g3w_download_file").split("filename=").at(1))}catch(u){U.showUserMessage({type:"alert",message:u||"server_error",textMessage:!!u})}V.download=!0,V.download=!1,U.setLoadingContent(!1)}showChart(n,i,r){this.emit("show-chart",n,i,r)}hideChart(n){this.emit("hide-chart",n)}printAtlas(n,i){let r=i?[i]:n.features,o=this._atlas.filter(c=>c.atlas.qgs_layer_id===n.id);if(o.length<=1){this._printSingleAtlas({features:r,atlas:o[0]});return}let u="";o.forEach((c,f)=>{let p=ut();u+=``,u+=``,u+="
    "}),U.showModalDialog({title:He("sdk.atlas.template_dialog.title"),message:u,buttons:{success:{label:"OK",className:"skin-button",callback:()=>{let c=$('input[name="template"]:checked').attr("g3w_atlas_index");if(c===void 0)return!1;this._printSingleAtlas({features:r,atlas:o[c]})}}}})}showLayerDownloadFormats(n){n.downloadformats.active=!n.downloadformats.active,this.setLayerActionTool({layer:n,component:n.downloadformats.active?Sp:null,config:n.downloadformats.active?{...this.state.actiontools.downloadformats[n.id],downloads:this.state.actiontools.downloadformats[n.id].downloads.filter(i=>i.format!=="pdf")}:null})}async downloadFeatures(n,i,r=[],o,u,c){r&&!Array.isArray(r)&&(r=[r]);let{query:f={}}=this.state,p={fids:r.map(y=>y.attributes[Cn]).join(",")};n==="pdf"&&(p.html=c);let g=async(y=!1)=>{r.length>1&&(i.downloadformats.active=y,this.setLayerActionTool({layer:i})),await U.downloadWrapper(({layer:w,type:E,data:I}={})=>st(w.id).getDownloadFilefromDownloadDataType(E,{data:I})||Promise.resolve(),{layer:i,type:n,data:p});let S=this.state.layersactions[i.id].find(w=>w.id==="downloads");r.length>1&&S===void 0&&(i[n].active=!1,this.setLayerActionTool({layer:i})),r.length>1&&S!==void 0&&(i.downloadformats.active=!1),r.length<=1&&S===void 0&&(o.state.toggled[u]=!1),r.length<=1&&S!==void 0&&(S.state.toggled[u]=!1),r.length<=1&&this.setCurrentActionLayerFeatureTool({index:u,action:o,layer:i})};if(f.type!=="polygon"){await g();return}let d=this.state.layersactions[i.id].find(y=>y.id==="downloads"),v={choices:[{id:ut(),type:"feature",label:"sdk.mapcontrols.querybypolygon.download.choiches.feature.label"},{id:ut(),type:"polygon",label:"sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label"}],download:y=>{y==="polygon"?(p.sbp_qgs_layer_id=i.id,p.sbp_fid=f.fid):(delete p.sbp_fid,delete p.sbp_qgs_layer_id),g(!0)}};if(r.length===1&&d===void 0&&(o.state.toggled[u]=!0),r.length===1&&(this.state.actiontools[Ep.name]=this.state.actiontools[i.id]||{},this.state.actiontools[Ep.name][i.id]=v,this.setCurrentActionLayerFeatureTool({layer:i,index:u,action:o,component:Ep})),d===void 0&&r.length!==1&&(i[n].active=!i[n].active),r.length!==1){let y=d||i[n].active&&d===void 0;this.setLayerActionTool({layer:i,component:y?Ep:null,config:y?v:null})}}goToGeometry(n,i){i.geometry&&(this._asyncFnc.goToGeometry.async?this._asyncFnc.todo=U.getService("map")[this.isOneLayerResult()?"zoomToFeatures":"highlightGeometry"].bind(U.getService("map"),this.isOneLayerResult()?[i]:i.geometry,this.isOneLayerResult()?{}:{layerId:n.id,duration:1500}):setTimeout(()=>U.getService("map")[this.isOneLayerResult()?"zoomToFeatures":"highlightGeometry"](this.isOneLayerResult()?[i]:i.geometry,this.isOneLayerResult()?{}:{layerId:n.id,duration:1500})))}highlightGeometry(n,i){i.geometry&&U.getService("map").highlightGeometry(i.geometry,{layerId:n.id,zoom:!1,duration:1/0})}clearHighlightGeometry(n){U.getService("map").clearHighlightGeometry()}showRelation({relation:n,layerId:i,feature:r}={}){let o=this._project.getRelationById(n.name);U.pushContent({content:new zt({vueComponentObject:(L1(),Wn(DO)).default,propsData:{relation:o,chartRelationIds:this.plotLayerIds.find(u=>u==o.referencingLayer)?[o.referencingLayer]:[],nmRelation:this._project.getRelationById(n.nmRelationId),layer:{id:i},feature:r}}),crumb:{title:o.name,text:!0},title:o.name,text:!0,closable:!1})}_getFeatureId(n,i){return i?n.id:n.attributes[Cn]}addToSelection(n,i,r,o){let u=U.getService("queryresults"),c=U.getService("map"),f=u._getFeatureId.bind(u),p=u.getActionLayerById.bind(u),g=i===void 0&&r===void 0&&o===void 0,d=g?p({layer:n,id:"selection"}):r,v=g&&Object.values(d.state.toggled).reduce((E,I)=>E&&I,!0),y=g?n.external?n:st(n.id):(u.state.layers.find(E=>E.id===n.id)||{}).external?n:st(n.id),S=g?n.features&&n.features.length?n.features:[]:[i],w=g?{fids:S.length>0?S.map(E=>y.external?E.id:E.attributes[Cn]):null,features:S,force:v?"remove":"add"}:{fids:[i?f(i,y.external):null],features:S,index:o,force:void 0};if(g?n.features.forEach((E,I)=>{d.state.toggled[I]=!v,E.selection.selected=d.state.toggled[I]}):(d.state.toggled[o]=!d.state.toggled[o],i.selection.selected=d.state.toggled[o]),v&&g){y.clearSelectionFids();return}if(!n.external&&![null,void 0].includes(w.fids)){let E=y,{fids:I,features:O,force:H}=w;I=Array.isArray(I)?I:[I],O=Array.isArray(O)?O:[O];let X=[],re=[];I.forEach((z,Z)=>{let te=O[Z],ee=E.state.filter.active||E.hasSelectionFid(z);!ee&&te&&te.geometry&&!E.getOlSelectionFeature(z)&&E.addOlSelectionFeature({id:z,feature:te}),H===void 0&&E[ee?"excludeSelectionFid":"includeSelectionFid"](z),H==="add"&&!ee&&X.push(z),H==="remove"&&re.push(z)}),E.includeSelectionFids(X,!1),E.excludeSelectionFids(re,!1),(E.state.filter.active?E.createFilterToken():Promise.resolve()).then(()=>{let{layers:z}=U.getService("queryresults").getState();I.forEach((Z,te)=>{let ee=!E.hasSelectionFid(Z)&&E.state.filter.active&&E.getSelectionFids().size>0&&z.find(ve=>ve.id===E.getId());ee&&ee.features.splice(o===void 0?te:o,1)}),c.clearHighlightGeometry(),z.length===1&&!z[0].features.length&&z.splice(0)})}if(n.external&&![null,void 0].includes(w.fids)){let E=y,{fids:I,features:O,force:H}=w;O=Array.isArray(O)?O:[O],E.selection.features===void 0&&(E.selection.features=[]),I.forEach((X,re)=>{let z=O[re];if(E.selection.features.find(Z=>Z.getId()===X)===void 0){let Z=z,{attributes:te}=z;z.geometry&&(Z=new ol.Feature(z.geometry),Z.setId(X)),Object.keys(te).forEach(ee=>Z.set(ee,te[ee])),Z.__layerId=E.id,Z.selection=z.selection,E.selection.features.push(Z)}H==="add"&&z.selection.selected||H==="remove"&&!z.selection.selected||c.setSelectionFeatures(z.selection.selected?"add":"remove",{feature:E.selection.features.find(Z=>X===Z.getId())})}),E.selection.active=E.selection.features.reduce((X,re)=>X||re.selection.selected,!1)}}}});function pee(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="QueryResultsTableAttributeFieldValue.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var aee,lee,cee,uee,dee,hee,fee,gee,BO,UO=W(()=>{Vv();Qv();Zv();rr();aee={name:"tableattributefieldvalue",props:{field:{type:Object},feature:{type:Object}},mixins:[cs],components:{"g3w-link":Lg,"g3w-vue":Ag,"g3w-image":mf}},lee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.isVue(e.field)?i("g3w-vue",{attrs:{feature:e.feature,state:e.field}}):e.isSimple(e.field)?i("span",{domProps:{innerHTML:e._s(e.field.value)}}):e.isPhoto(e.field)?i("g3w-image",{attrs:{state:e.field}}):e.isImage(e.field)?i("g3w-image",{attrs:{state:e.field}}):e.isLink(e.field)?i("g3w-link",{attrs:{state:{value:e.field.value}}}):e._e()},cee=[],uee=void 0,dee="data-v-019d651d",hee=void 0,fee=!1;gee=pee({render:lee,staticRenderFns:cee},uee,aee,dee,fee,hee,!1,void 0,void 0,void 0),BO=gee});function See(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="QueryResultsActionInfoFormats.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var mee,_ee,yee,vee,bee,xee,wee,Eee,VO,WO=W(()=>{bt();h_();bu();Bn();mee={name:"Infoformats",props:{layer:{type:Object,required:!0}},data(){return{infoformat:this.layer.infoformat}},computed:{infoformats(){return this.layer.infoformats||[]},hasInfo(){return this.infoformats.length}},methods:{async reloadLayerDataWithChangedContentType(e){this.layer.loading=!0,this.$el.disabled=!0;try{let n=await this.projectLayer.changeProxyDataAndReloadFromServer("wms",{headers:{"Content-Type":e},params:{INFO_FORMAT:e}});this.layer.infoformat=e,this.projectLayer.setInfoFormat(this.layer.infoformat);let[i]=vs.get(e)({layers:[this.projectLayer],response:n});i.features?this.__parsedata(i):this.__parserawdata(i)}catch(n){console.warn(n)}this.layer.loading=!1,this.$el.disabled=!1},__parsedata(e){let n=U.getService("queryresults");this.layer.rawdata=null,e.features.forEach(i=>{let{id:r,geometry:o,properties:u}={properties:i instanceof ol.Feature?i.getProperties():i.properties,geometry:i instanceof ol.Feature?i.getGeometry():i.geometry,id:i instanceof ol.Feature?i.getId():i.id};this.layer.attributes.length===0&&(this.layer.hasgeometry=!!o,n.setActionsForLayers([this.layer]),co(u).forEach(c=>{this.layer.attributes.push({name:c,label:c,show:!0})})),this.layer.features.push({id:r,attributes:u,geometry:o,show:!0})})},async __parserawdata(e){this.layer.features.splice(0),await this.$nextTick(),this.layer.rawdata=e.rawdata}},watch:{infoformat(e){this.reloadLayerDataWithChangedContentType(e)}},created(){this.projectLayer=st(this.layer.id)},beforeDestroy(){this.projectLayer&&this.projectLayer.clearProxyData("wms"),this.projectLayer=null}},_ee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.hasInfo?i("select",{directives:[{name:"select2",rawName:"v-select2",value:"infoformat",expression:"'infoformat'"}],staticClass:"skin-color",attrs:{select2_value:e.infoformat,search:!1}},e._l(e.infoformats,function(r){return i("option",{key:r,domProps:{value:r}},[e._v(` `+e._s(r)+` `)])}),0):e._e()},yee=[],vee=void 0,bee=void 0,xee=void 0,wee=!1;Eee=See({render:_ee,staticRenderFns:yee},vee,mee,bee,wee,xee,!1,void 0,void 0,void 0),VO=Eee});function Mee(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="QueryResultsAction.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var Cee,Iee,kee,Lee,Tee,Nee,Ree,Aee,HO,YO=W(()=>{ln();Cee={name:"action",data(){return{show:!0}},props:{featureIndex:{type:Number},feature:{type:Object},layer:{type:Object},trigger:{type:Function},action:{type:Object,required:!0}},methods:{async clickAction(e,n,i,r,o){if(await this.trigger(e,n,i,r),e.hint_change){let u=$(o.target).parent(),c=u.attr("data-original-title");u.attr("data-original-title",He(e.hint_change.hint)),u.tooltip("show"),setTimeout(()=>{u.attr("data-original-title",c),u.tooltip("show")},e.hint_change.duration||600)}this.$emit("action-clicked",e)}},async created(){if(this.action.init&&this.action.init({layer:this.layer,feature:this.feature,index:this.featureIndex,action:this.action}),typeof this.action.condition=="function"){let e=this.action.condition({layer:this.layer,feature:this.feature});this.show=e instanceof Promise?await e:e}},beforeDestroy(){typeof this.action.clear=="function"&&this.action.clear({layer:this.layer,feature:this.feature})}},Iee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.show&&((e.action.state||{}).show===void 0?e.show:e.action.state.show)?i("span",{directives:[{name:"download",rawName:"v-download",value:e.action.download,expression:"action.download"},{name:"disabled",rawName:"v-disabled",value:!!(e.action.state||{}).disabled,expression:"!!(action.state || {}).disabled"},{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:e.action.hint,expression:"action.hint",arg:"top",modifiers:{create:!0}}],staticClass:"action-button",class:{toggled:(e.action.state||{}).toggled&&e.action.state.toggled[e.featureIndex]},on:{contextmenu:function(r){r.preventDefault(),r.stopPropagation()},click:function(r){return r.stopPropagation(),e.clickAction(e.action,e.layer,e.feature,e.featureIndex,r)}}},[i("span",{class:"action-button-icon "+e.action.class,staticStyle:{padding:"2px"},style:e.action.style})]):e._e()},kee=[],Lee=void 0,Tee=void 0,Nee=void 0,Ree=!1;Aee=Mee({render:Iee,staticRenderFns:kee},Lee,Cee,Tee,Ree,Nee,!1,void 0,void 0,void 0),HO=Aee});function Gee(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="QueryResultsActions.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function T1(){let e=T1.styles||(T1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` @@ -1360,13 +1360,13 @@ ${dc(this.code(n,i))} `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var Oee,Pee,Fee,Dee,jee,qee,zee,$ee,oy,N1=W(()=>{YO();Oee={name:"actions",props:{featureIndex:{type:Number},feature:{type:Object},layer:{type:Object},trigger:{type:Function},actions:{type:Array,default:[]},colspan:{type:Number}},components:{action:HO}},Pee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.actions.length?i("td",{staticClass:"g3w-feature-actions",staticStyle:{padding:"3px"},attrs:{colspan:e.colspan}},e._l(e.actions,function(r){return i("action",e._b({key:r.id,attrs:{action:r}},"action",e.$props,!1))}),1):e._e()},Fee=[],Dee=function(e){e&&e("data-v-7ca160b6_0",{source:".g3w-feature-actions[data-v-7ca160b6]{padding:3px;background-color:rgba(34,45,50,.1)!important}",map:void 0,media:void 0})},jee="data-v-7ca160b6",qee=void 0,zee=!1;$ee=Gee({render:Pee,staticRenderFns:Fee},Dee,Oee,jee,zee,qee,!1,T1,void 0,void 0),oy=$ee});function Zee(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="QueryResultsHeaderFeatureBody.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function R1(){let e=R1.styles||(R1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var Bee,Uee,Vee,Wee,Hee,Yee,Xee,Kee,XO,ZO=W(()=>{N1();rr();Bee={name:"headerfeaturebody",mixins:[us],props:{toggleFeatureBoxAndZoom:{type:Function},trigger:{type:Function},hasLayerOneFeature:{type:Function},boxLayerFeature:{type:Object},getLayerField:{type:Function},attributesSubset:{type:Function},layer:{type:Object},feature:{type:Object}},components:{actions:oy}},Uee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("tr",[e._l(e.attributesSubset(e.layer),function(r){return i("td",{staticClass:"attribute"},[e.isLink(e.getLayerField({layer:e.layer,feature:e.feature,fieldName:r.name}))?i("span",{staticClass:"skin-color",class:e.g3wtemplate.getFontClass("link")}):e.isPhoto(e.getLayerField({layer:e.layer,feature:e.feature,fieldName:r.name}))?i("span",{staticClass:"skin-color",class:e.g3wtemplate.getFontClass("image")}):e.isImage(e.getLayerField({layer:e.layer,feature:e.feature,fieldName:r.name}))?i("span",{staticClass:"skin-color",class:e.g3wtemplate.getFontClass("image")}):i("span",[e._v(e._s(e.feature.attributes[r.name]))])])}),e._v(" "),e.hasLayerOneFeature(e.layer)?e._e():i("td")],2)},Vee=[],Wee=function(e){e&&e("data-v-b56add92_0",{source:".noAttributes[data-v-b56add92]{display:flex;justify-content:flex-end}",map:void 0,media:void 0})},Hee="data-v-b56add92",Yee=void 0,Xee=!1;Kee=Zee({render:Uee,staticRenderFns:Vee},Wee,Bee,Hee,Xee,Yee,!1,R1,void 0,void 0),XO=Kee});function ste(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="QueryResultsHeaderFeatureActionsBody.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function M1(){let e=M1.styles||(M1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var Bee,Uee,Vee,Wee,Hee,Yee,Xee,Kee,XO,ZO=W(()=>{N1();rr();Bee={name:"headerfeaturebody",mixins:[cs],props:{toggleFeatureBoxAndZoom:{type:Function},trigger:{type:Function},hasLayerOneFeature:{type:Function},boxLayerFeature:{type:Object},getLayerField:{type:Function},attributesSubset:{type:Function},layer:{type:Object},feature:{type:Object}},components:{actions:oy}},Uee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("tr",[e._l(e.attributesSubset(e.layer),function(r){return i("td",{staticClass:"attribute"},[e.isLink(e.getLayerField({layer:e.layer,feature:e.feature,fieldName:r.name}))?i("span",{staticClass:"skin-color",class:e.g3wtemplate.getFontClass("link")}):e.isPhoto(e.getLayerField({layer:e.layer,feature:e.feature,fieldName:r.name}))?i("span",{staticClass:"skin-color",class:e.g3wtemplate.getFontClass("image")}):e.isImage(e.getLayerField({layer:e.layer,feature:e.feature,fieldName:r.name}))?i("span",{staticClass:"skin-color",class:e.g3wtemplate.getFontClass("image")}):i("span",[e._v(e._s(e.feature.attributes[r.name]))])])}),e._v(" "),e.hasLayerOneFeature(e.layer)?e._e():i("td")],2)},Vee=[],Wee=function(e){e&&e("data-v-b56add92_0",{source:".noAttributes[data-v-b56add92]{display:flex;justify-content:flex-end}",map:void 0,media:void 0})},Hee="data-v-b56add92",Yee=void 0,Xee=!1;Kee=Zee({render:Uee,staticRenderFns:Vee},Wee,Bee,Hee,Xee,Yee,!1,R1,void 0,void 0),XO=Kee});function ste(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="QueryResultsHeaderFeatureActionsBody.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function M1(){let e=M1.styles||(M1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var Qee,Jee,ete,tte,nte,ite,rte,ote,KO,QO=W(()=>{N1();rr();Qee={name:"headerfeaturebody",mixins:[us],props:{toggleFeatureBoxAndZoom:{type:Function},trigger:{type:Function},hasLayerOneFeature:{type:Function},boxLayerFeature:{type:Object},getLayerField:{type:Function},attributesSubset:{type:Function},layer:{type:Object},feature:{type:Object},index:{type:Number},actions:{type:Array},colspan:{type:Number}},components:{actions:oy}},Jee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("tr",{staticClass:"featurebox-header",on:{mouseover:function(r){return r.stopPropagation(),e.trigger({id:"highlightgeometry"},e.layer,e.feature,e.index)},mouseout:function(r){return r.stopPropagation(),e.trigger({id:"clearHighlightGeometry"},e.layer,e.feature,e.index)}}},[i("actions",{attrs:{colspan:e.colspan,layer:e.layer,featureIndex:e.index,trigger:e.trigger,feature:e.feature,actions:e.actions}})],1)},ete=[],tte=function(e){e&&e("data-v-59230f00_0",{source:".noAttributes[data-v-59230f00]{display:flex;justify-content:flex-end}",map:void 0,media:void 0})},nte="data-v-59230f00",ite=void 0,rte=!1;ote=ste({render:Jee,staticRenderFns:ete},tte,Qee,nte,rte,ite,!1,M1,void 0,void 0),KO=ote});var e3={};vi(e3,{default:()=>vte});function _te(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="QueryResults.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function A1(){let e=A1.styles||(A1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var Qee,Jee,ete,tte,nte,ite,rte,ote,KO,QO=W(()=>{N1();rr();Qee={name:"headerfeaturebody",mixins:[cs],props:{toggleFeatureBoxAndZoom:{type:Function},trigger:{type:Function},hasLayerOneFeature:{type:Function},boxLayerFeature:{type:Object},getLayerField:{type:Function},attributesSubset:{type:Function},layer:{type:Object},feature:{type:Object},index:{type:Number},actions:{type:Array},colspan:{type:Number}},components:{actions:oy}},Jee=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("tr",{staticClass:"featurebox-header",on:{mouseover:function(r){return r.stopPropagation(),e.trigger({id:"highlightgeometry"},e.layer,e.feature,e.index)},mouseout:function(r){return r.stopPropagation(),e.trigger({id:"clearHighlightGeometry"},e.layer,e.feature,e.index)}}},[i("actions",{attrs:{colspan:e.colspan,layer:e.layer,featureIndex:e.index,trigger:e.trigger,feature:e.feature,actions:e.actions}})],1)},ete=[],tte=function(e){e&&e("data-v-59230f00_0",{source:".noAttributes[data-v-59230f00]{display:flex;justify-content:flex-end}",map:void 0,media:void 0})},nte="data-v-59230f00",ite=void 0,rte=!1;ote=ste({render:Jee,staticRenderFns:ete},tte,Qee,nte,rte,ite,!1,M1,void 0,void 0),KO=ote});var e3={};hi(e3,{default:()=>vte});function _te(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="QueryResults.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function A1(){let e=A1.styles||(A1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var JO,ate,lte,cte,ute,dte,hte,fte,pte,gte,mte,yte,vte,t3=W(()=>{rr();UO();WO();ZO();QO();Ko();$o();qn();hf();bt();JO=3,ate=10,lte=10,cte=["varchar","integer","float","bigint","date"],ute={name:"queryresults",data(){return{state:this.$options.service.state,headerExpandActionCellWidth:ate,headerActionsCellWidth:lte}},mixins:[us],components:{TableAttributeFieldValue:BO,infoformats:VO,"header-feature-body":XO,HeaderFeatureActionsBody:KO},computed:{onelayerresult(){return this.state.layers.length===1},hasLayers(){return this.hasResults||!!this.state.components.length},hasResults(){return this.state.layers.length>0},info(){if(this.state.query){let e=this.state.query,n=U.getService("map").getMapUnits()==="degrees"?4:2;switch(e.type){case"coordinates":return{icon:"marker",message:` ${e.coordinates[0].toFixed(n)}, ${e.coordinates[1].toFixed(n)}`};case"bbox":return{icon:"square",message:` [${e.bbox.map(i=>i.toFixed(n)).join(" , ")}]`};case"polygon":case"drawpolygon":return{icon:"draw",message:e.layerName?`${e.layerName} ${e.fid!==void 0?` - Feature Id: ${e.fid}`:""}`:" "};case"circle":return{icon:"empty-circle",message:" "};default:console.warn(`Unsupported query type: ${e.type}`);break}}else this.state.search;return{icon:null,message:null}},queryableLayers(){return Gr({QUERYABLE:!0})},selectedLayer(){return U.getService("map").getSelectedLayer()}},methods:{showInPagination(e){return!e.filter.pagination},getLayerDownloads(e=[]){return e.filter(n=>n!=="pdf")},showLayer(e){return e.show&&(this.layerHasFeatures(e)||e.rawdata||Array.isArray(e.infoformats)&&e.infoformats.length>0)},getLayerCustomComponents(e,n="feature",i="after"){return this.state.layerscustomcomponents[e]&&this.state.layerscustomcomponents[e][n]&&this.state.layerscustomcomponents[e][n][i]||[]},getLayerField({layer:e,feature:n,fieldName:i}){return{...e.attributes.find(o=>i===o.name),label:null,value:n.attributes[i]}},getQueryFields(e,n){let i=[];for(let r of e.formStructure.fields){let o={...r};o.query=!0,o.value=n.attributes[r.name],o.input={type:`${this.getFieldType(o)}`},i.push(o)}return i},getColSpan(e){return this.attributesSubsetLength(e)+!this.hasLayerOneFeature(e)*1},addLayerFeaturesToResults(e){this.$options.service.addLayerFeaturesToResultsAction(e)},printAtlas(e){this.$options.service.printAtlas(e)},showLayerDownloadFormats(e){this.$options.service.showLayerDownloadFormats(e)},saveLayerResult(e,n="csv"){this.$options.service.downloadFeatures(n,e,e.features)},hasLayerOneFeature(e){return e.features.length===1},saveFilter(e){st(e.id).saveFilter()},async addRemoveFilter(e){await st(e.id).toggleFilterToken(),e.filter.active&&e.features.filter(n=>!n.selection.selected).forEach(n=>this.$options.service.removeFeatureLayerFromResult(e,n))},getContainerFromFeatureLayer({layer:e,index:n}={}){return $(`#${e.id}_${n} > td`)},hasOneLayerAndOneFeature(e){return this.hasLayerOneFeature(e)},hasFormStructure(e){return!!e.formStructure},layerHasFeatures(e){return Array.isArray(e.features)&&e.features.length>0},addToSelection(e){this.$options.service.addToSelection(e)},extractAttributesFromFirstTabOfFormStructureLayers(e){let n=new Set,i=r=>{if(r.nodes)r.nodes.forEach(o=>i(o));else{let o=e.formStructure.fields.find(u=>r.field_name===u.name);o&&(this.state.type==="ows"&&(o={...o},o.name=o.name.replace(/ /g,"_")),n.add(o))}};return e.formStructure.structure.length&&e.formStructure.structure.forEach(r=>i(r)),Array.from(n)},attributesSubset(e){let n=this.hasFormStructure(e)?this.extractAttributesFromFirstTabOfFormStructureLayers(e):e.attributes,i=n.filter(o=>o.show&&cte.includes(o.type)),r=Math.min(JO,n.length);return i.slice(0,r)},attributesSubsetLength(e){return this.attributesSubset(e).length},getLayerFormStructure(e){return e.formStructure.structure.map(n=>Vue.observable(structuredClone(n)))},getLayerFeatureBox(e,n,i){let r=this.getBoxId(e,n,i);return this.state.layersFeaturesBoxes[r]===void 0&&(this.state.layersFeaturesBoxes[r]=Vue.observable({collapsed:!0}),this.$watch(()=>this.state.layersFeaturesBoxes[r].collapsed,o=>{let u=e.features.findIndex(f=>n.id===f.id),c=this.getContainerFromFeatureLayer({layer:e,index:u});this.$options.service.openCloseFeatureResult({open:!o,layer:e,feature:n,container:c})}),this.state.layersFeaturesBoxes[r].collapsed=e.features.length>1),this.state.layersFeaturesBoxes[r]},collapsedFeatureBox(e,n,i){let r=this.state.layersFeaturesBoxes[this.getBoxId(e,n,i)];return r?r.collapsed:!0},showFeatureInfo(e,n){let i=this.state.layersFeaturesBoxes[n];this.$options.service.emit("show-query-feature-info",{layer:e,tabs:this.hasFormStructure(e),show:i?!i.collapsed:!1})},getBoxId(e,n,i){return this.$options.service.getBoxId(e,n,i)},async toggleFeatureBox(e,n,i){let r=this.getBoxId(e,n,i);this.state.layersFeaturesBoxes[r].collapsed=!this.state.layersFeaturesBoxes[r].collapsed,await this.$nextTick(),this.showFeatureInfo(e,r)},toggleFeatureBoxAndZoom(e,n,i){this.hasLayerOneFeature(e)||this.toggleFeatureBox(e,n,i)},async trigger(e,n,i,r){e.opened&&$(`#${n.id}_${r}`).css("display")==="none"&&(this.toggleFeatureBox(n,i),await this.$nextTick()),await this.$options.service.trigger(e.id,n,i,r,this.getContainerFromFeatureLayer({layer:n,index:r}))},openLink(e){window.open(e,"_blank")},isJSON(e){return!this.isVue(e)&&this.isSimple(e)&&wi(e.value)==="Object"},openAttributeTable(e){st(e.id).openAttributeTable({perc:100})},highLightLayerFeatures(e,n={highlight:!0}){e.hasgeometry&&this.$options.service.highLightLayerFeatures(e,n)},collapseSidebar(e){let n=e.target.closest(".box"),i=n.classList.contains("collapsed-box");n.classList.toggle("collapsed-box"),n.querySelector(".btn-collapser").classList.toggle("fa-plus",!i),n.querySelector(".btn-collapser").classList.add("fa-minus",i)},showPagination(e){return this.state.query.pagination&&this.state.layers[e].features.length{n.attributes.length<=JO&&!n.hasImageField&&(n.expandable=!1),n.features.forEach(i=>{this.getLayerFeatureBox(n,i),i.attributes.relations&&i.attributes.relations.forEach(r=>{r.elements.forEach((o,u)=>this.state.layersFeaturesBoxes[`${n.id}_${i.id}_${r.name}${u}`]={collapsed:!0})})})}),this.onelayerresult&&this.hasLayerOneFeature(e[0])){let n=e[0],i=n.features[0],r=this.getBoxId(n,i);this.$options.service.onceafter("postRender",()=>{this.showFeatureInfo(n,r)})}requestAnimationFrame(()=>this.$options.service.postRender(this.$el)),await this.$nextTick()},onelayerresult(e){e&&!this.state.query.pagination&&U.getService("map").highlightFeatures(this.state.layers[0].features,{duration:1/0})}},created(){this.zoomToLayerFeaturesExtent=Hn(e=>{this.$options.service.zoomToLayerFeaturesExtent(e)})},destroyed(){this.$options.service.clear()}},dte=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"queryresults-wrapper",attrs:{id:"search-results"}},[e.info.message?i("div",{staticClass:"skin-color",staticStyle:{"font-weight":"bold","margin-bottom":"3px","font-size":"1.1em"}},[e.info.icon?i("span",{class:e.g3wtemplate.getFontClass(e.info.icon)}):e._e(),e._v(" "),i("span",[e._v(" "+e._s(e.info.message)+" ")])]):e._e(),e._v(" "),i("div",{staticClass:"queryresults-container"},[e.state.layers.length?[e.hasLayers?i("ul",{staticClass:"queryresults",staticStyle:{position:"relative"},attrs:{id:"queryresults"}},[e._l(e.state.layers,function(r,o){return i("li",{directives:[{name:"show",rawName:"v-show",value:e.showLayer(r),expression:"showLayer(layer)"}]},[i("bar-loader",{attrs:{loading:r.loading}}),e._v(" "),i("div",{staticClass:"box box-primary"},[i("div",{staticClass:"box-header with-border",class:{mobile:e.isMobile()},on:{mouseover:function(u){return u.stopPropagation(),e.highLightLayerFeatures(r,{highlight:!0,duration:1/0})},mouseout:function(u){return u.stopPropagation(),e.highLightLayerFeatures(r,{highlight:!1})},click:function(u){return u.stopPropagation(),e.collapseSidebar.apply(null,arguments)}}},[i("div",{staticClass:"box-title query-layer-title",style:{fontSize:e.isMobile()&&"1em !important"}},[r.external?e._e():i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:"catalog_items.contextmenu.open_attribute_table",expression:"'catalog_items.contextmenu.open_attribute_table'",arg:"left",modifiers:{create:!0}}],staticClass:"action-button",on:{click:function(u){return u.stopPropagation(),e.openAttributeTable(r)}}},[i("span",{staticClass:"action-button-icon",class:e.g3wtemplate.getFontClass("list")})]),e._v(` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var JO,ate,lte,cte,ute,dte,hte,fte,pte,gte,mte,yte,vte,t3=W(()=>{rr();UO();WO();ZO();QO();Ko();$o();Bn();hf();bt();JO=3,ate=10,lte=10,cte=["varchar","integer","float","bigint","date"],ute={name:"queryresults",data(){return{state:this.$options.service.state,headerExpandActionCellWidth:ate,headerActionsCellWidth:lte}},mixins:[cs],components:{TableAttributeFieldValue:BO,infoformats:VO,"header-feature-body":XO,HeaderFeatureActionsBody:KO},computed:{onelayerresult(){return this.state.layers.length===1},hasLayers(){return this.hasResults||!!this.state.components.length},hasResults(){return this.state.layers.length>0},info(){if(this.state.query){let e=this.state.query,n=U.getService("map").getMapUnits()==="degrees"?4:2;switch(e.type){case"coordinates":return{icon:"marker",message:` ${e.coordinates[0].toFixed(n)}, ${e.coordinates[1].toFixed(n)}`};case"bbox":return{icon:"square",message:` [${e.bbox.map(i=>i.toFixed(n)).join(" , ")}]`};case"polygon":case"drawpolygon":return{icon:"draw",message:e.layerName?`${e.layerName} ${e.fid!==void 0?` - Feature Id: ${e.fid}`:""}`:" "};case"circle":return{icon:"empty-circle",message:" "};default:console.warn(`Unsupported query type: ${e.type}`);break}}else this.state.search;return{icon:null,message:null}},queryableLayers(){return zr({QUERYABLE:!0})},selectedLayer(){return U.getService("map").getSelectedLayer()}},methods:{showInPagination(e){return!e.filter.pagination},getLayerDownloads(e=[]){return e.filter(n=>n!=="pdf")},showLayer(e){return e.show&&(this.layerHasFeatures(e)||e.rawdata||Array.isArray(e.infoformats)&&e.infoformats.length>0)},getLayerCustomComponents(e,n="feature",i="after"){return this.state.layerscustomcomponents[e]&&this.state.layerscustomcomponents[e][n]&&this.state.layerscustomcomponents[e][n][i]||[]},getLayerField({layer:e,feature:n,fieldName:i}){return{...e.attributes.find(o=>i===o.name),label:null,value:n.attributes[i]}},getQueryFields(e,n){let i=[];for(let r of e.formStructure.fields){let o={...r};o.query=!0,o.value=n.attributes[r.name],o.input={type:`${this.getFieldType(o)}`},i.push(o)}return i},getColSpan(e){return this.attributesSubsetLength(e)+!this.hasLayerOneFeature(e)*1},addLayerFeaturesToResults(e){this.$options.service.addLayerFeaturesToResultsAction(e)},printAtlas(e){this.$options.service.printAtlas(e)},showLayerDownloadFormats(e){this.$options.service.showLayerDownloadFormats(e)},saveLayerResult(e,n="csv"){this.$options.service.downloadFeatures(n,e,e.features)},hasLayerOneFeature(e){return e.features.length===1},saveFilter(e){st(e.id).saveFilter()},async addRemoveFilter(e){await st(e.id).toggleFilterToken(),e.filter.active&&e.features.filter(n=>!n.selection.selected).forEach(n=>this.$options.service.removeFeatureLayerFromResult(e,n))},getContainerFromFeatureLayer({layer:e,index:n}={}){return $(`#${e.id}_${n} > td`)},hasOneLayerAndOneFeature(e){return this.hasLayerOneFeature(e)},hasFormStructure(e){return!!e.formStructure},layerHasFeatures(e){return Array.isArray(e.features)&&e.features.length>0},addToSelection(e){this.$options.service.addToSelection(e)},extractAttributesFromFirstTabOfFormStructureLayers(e){let n=new Set,i=r=>{if(r.nodes)r.nodes.forEach(o=>i(o));else{let o=e.formStructure.fields.find(u=>r.field_name===u.name);o&&(this.state.type==="ows"&&(o={...o},o.name=o.name.replace(/ /g,"_")),n.add(o))}};return e.formStructure.structure.length&&e.formStructure.structure.forEach(r=>i(r)),Array.from(n)},attributesSubset(e){let n=this.hasFormStructure(e)?this.extractAttributesFromFirstTabOfFormStructureLayers(e):e.attributes,i=n.filter(o=>o.show&&cte.includes(o.type)),r=Math.min(JO,n.length);return i.slice(0,r)},attributesSubsetLength(e){return this.attributesSubset(e).length},getLayerFormStructure(e){return e.formStructure.structure.map(n=>Vue.observable(structuredClone(n)))},getLayerFeatureBox(e,n,i){let r=this.getBoxId(e,n,i);return this.state.layersFeaturesBoxes[r]===void 0&&(this.state.layersFeaturesBoxes[r]=Vue.observable({collapsed:!0}),this.$watch(()=>this.state.layersFeaturesBoxes[r].collapsed,o=>{let u=e.features.findIndex(f=>n.id===f.id),c=this.getContainerFromFeatureLayer({layer:e,index:u});this.$options.service.openCloseFeatureResult({open:!o,layer:e,feature:n,container:c})}),this.state.layersFeaturesBoxes[r].collapsed=e.features.length>1),this.state.layersFeaturesBoxes[r]},collapsedFeatureBox(e,n,i){let r=this.state.layersFeaturesBoxes[this.getBoxId(e,n,i)];return r?r.collapsed:!0},showFeatureInfo(e,n){let i=this.state.layersFeaturesBoxes[n];this.$options.service.emit("show-query-feature-info",{layer:e,tabs:this.hasFormStructure(e),show:i?!i.collapsed:!1})},getBoxId(e,n,i){return this.$options.service.getBoxId(e,n,i)},async toggleFeatureBox(e,n,i){let r=this.getBoxId(e,n,i);this.state.layersFeaturesBoxes[r].collapsed=!this.state.layersFeaturesBoxes[r].collapsed,await this.$nextTick(),this.showFeatureInfo(e,r)},toggleFeatureBoxAndZoom(e,n,i){this.hasLayerOneFeature(e)||this.toggleFeatureBox(e,n,i)},async trigger(e,n,i,r){e.opened&&$(`#${n.id}_${r}`).css("display")==="none"&&(this.toggleFeatureBox(n,i),await this.$nextTick()),await this.$options.service.trigger(e.id,n,i,r,this.getContainerFromFeatureLayer({layer:n,index:r}))},openLink(e){window.open(e,"_blank")},isJSON(e){return!this.isVue(e)&&this.isSimple(e)&&wi(e.value)==="Object"},openAttributeTable(e){st(e.id).openAttributeTable({perc:100})},highLightLayerFeatures(e,n={highlight:!0}){e.hasgeometry&&this.$options.service.highLightLayerFeatures(e,n)},collapseSidebar(e){let n=e.target.closest(".box"),i=n.classList.contains("collapsed-box");n.classList.toggle("collapsed-box"),n.querySelector(".btn-collapser").classList.toggle("fa-plus",!i),n.querySelector(".btn-collapser").classList.add("fa-minus",i)},showPagination(e){return this.state.query.pagination&&this.state.layers[e].features.length{n.attributes.length<=JO&&!n.hasImageField&&(n.expandable=!1),n.features.forEach(i=>{this.getLayerFeatureBox(n,i),i.attributes.relations&&i.attributes.relations.forEach(r=>{r.elements.forEach((o,u)=>this.state.layersFeaturesBoxes[`${n.id}_${i.id}_${r.name}${u}`]={collapsed:!0})})})}),this.onelayerresult&&this.hasLayerOneFeature(e[0])){let n=e[0],i=n.features[0],r=this.getBoxId(n,i);this.$options.service.onceafter("postRender",()=>{this.showFeatureInfo(n,r)})}requestAnimationFrame(()=>this.$options.service.postRender(this.$el)),await this.$nextTick()},onelayerresult(e){e&&!this.state.query.pagination&&U.getService("map").highlightFeatures(this.state.layers[0].features,{duration:1/0})}},created(){this.zoomToLayerFeaturesExtent=Hn(e=>{this.$options.service.zoomToLayerFeaturesExtent(e)})},destroyed(){this.$options.service.clear()}},dte=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticClass:"queryresults-wrapper",attrs:{id:"search-results"}},[e.info.message?i("div",{staticClass:"skin-color",staticStyle:{"font-weight":"bold","margin-bottom":"3px","font-size":"1.1em"}},[e.info.icon?i("span",{class:e.g3wtemplate.getFontClass(e.info.icon)}):e._e(),e._v(" "),i("span",[e._v(" "+e._s(e.info.message)+" ")])]):e._e(),e._v(" "),i("div",{staticClass:"queryresults-container"},[e.state.layers.length?[e.hasLayers?i("ul",{staticClass:"queryresults",staticStyle:{position:"relative"},attrs:{id:"queryresults"}},[e._l(e.state.layers,function(r,o){return i("li",{directives:[{name:"show",rawName:"v-show",value:e.showLayer(r),expression:"showLayer(layer)"}]},[i("bar-loader",{attrs:{loading:r.loading}}),e._v(" "),i("div",{staticClass:"box box-primary"},[i("div",{staticClass:"box-header with-border",class:{mobile:e.isMobile()},on:{mouseover:function(u){return u.stopPropagation(),e.highLightLayerFeatures(r,{highlight:!0,duration:1/0})},mouseout:function(u){return u.stopPropagation(),e.highLightLayerFeatures(r,{highlight:!1})},click:function(u){return u.stopPropagation(),e.collapseSidebar.apply(null,arguments)}}},[i("div",{staticClass:"box-title query-layer-title",style:{fontSize:e.isMobile()&&"1em !important"}},[r.external?e._e():i("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:"catalog_items.contextmenu.open_attribute_table",expression:"'catalog_items.contextmenu.open_attribute_table'",arg:"left",modifiers:{create:!0}}],staticClass:"action-button",on:{click:function(u){return u.stopPropagation(),e.openAttributeTable(r)}}},[i("span",{staticClass:"action-button-icon",class:e.g3wtemplate.getFontClass("list")})]),e._v(` `+e._s(r.title)+` `),[e.state.query.pagination?i("span",{staticClass:"query-layer-feature-count"},[e._v("("+e._s(r.features.length+(e.state.query.pagination.current[o]-1)*e.getCurrentPagSize(o))+" - "+e._s(e.state.query.pagination.counts[o])+`) `)]):i("span",{staticClass:"query-layer-feature-count"},[e._v("("+e._s(r.features.length)+`) @@ -1377,7 +1377,7 @@ ${dc(this.code(n,i))} `+e._s(e.getLayerFeatureBox(r,u).collapsed?f.label:"")+` `)])}),e._v(" "),i("td",{staticClass:"collapsed",class:{noAttributes:e.attributesSubset(r).length===0},staticStyle:{"text-align":"end"},on:{click:function(f){return f.stopPropagation(),e.toggleFeatureBoxAndZoom(r,u)}}},[i("span",{staticClass:"fa link morelink skin-color",class:e.g3wtemplate.font[e.getLayerFeatureBox(r,u).collapsed?"plus":"minus"]})])],2),e._v(" "),!e.hasLayerOneFeature(r)&&e.getLayerFeatureBox(r,u).collapsed?i("header-feature-body",{attrs:{actions:e.state.layersactions[r.id],layer:r,feature:u,index:c,onelayerresult:e.onelayerresult,trigger:e.trigger,toggleFeatureBoxAndZoom:e.toggleFeatureBoxAndZoom,hasLayerOneFeature:e.hasLayerOneFeature,boxLayerFeature:e.getLayerFeatureBox(r,u),attributesSubset:e.attributesSubset,getLayerField:e.getLayerField}}):e._e(),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"feature","before"),function(f){var p=f.component;return i("tr",[i("td",{attrs:{colspan:e.getColSpan(r)}},[i(p,{tag:"component",attrs:{layer:r,feature:u}})],1)])}),e._v(" "),i("tr",{directives:[{name:"show",rawName:"v-show",value:!e.collapsedFeatureBox(r,u)||e.hasOneLayerAndOneFeature(r),expression:"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)"}],staticClass:"featurebox-body",attrs:{id:r.id+"_"+c}},[i("td",{attrs:{colspan:e.getColSpan(r),"feature-html-content":r.id+"_"+c}},[i("tabs",{attrs:{fields:e.getQueryFields(r,u),layerid:r.id,feature:u,tabs:e.getLayerFormStructure(r)}})],1)]),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"feature","after"),function(f){var p=f.component;return i("tr",[i("td",{attrs:{colspan:e.getColSpan(r)}},[i(p,{tag:"component",attrs:{layer:r,feature:u}})],1)])})]:e._e()})],2)])]:[i("table",{staticClass:"table",class:{mobile:e.isMobile()}},e._l(r.features,function(u,c){return u.show?i("tbody",{key:u.id},[i("header-feature-actions-body",{attrs:{colspan:e.getColSpan(r),actions:e.state.layersactions[r.id],layer:r,feature:u,index:c,onelayerresult:e.onelayerresult,trigger:e.trigger,toggleFeatureBoxAndZoom:e.toggleFeatureBoxAndZoom,hasLayerOneFeature:e.hasLayerOneFeature,boxLayerFeature:e.getLayerFeatureBox(r,u),attributesSubset:e.attributesSubset,getLayerField:e.getLayerField}}),e._v(" "),i("tr",{staticClass:"g3w-feature-result-action-tools"},[e.state.currentactiontools[r.id][c]?[i("td",{attrs:{colspan:e.getColSpan(r)}},[i(e.state.currentactiontools[r.id][c],{tag:"component",attrs:{colspan:e.getColSpan(r),layer:r,feature:u,featureIndex:c,config:e.state.actiontools[e.state.currentactiontools[r.id][c].name][r.id]}})],1)]:e._e()],2),e._v(" "),e.hasLayerOneFeature(r)?e._e():i("tr",{staticStyle:{"font-weight":"bold","text-align":"center"}},[e._l(e.attributesSubset(r),function(f,p){return i("td",{staticClass:"centered"},[e._v(` `+e._s(e.getLayerFeatureBox(r,u).collapsed?f.label:"")+` - `)])}),e._v(" "),i("td",{staticClass:"collapsed",class:{noAttributes:e.attributesSubset(r).length===0},staticStyle:{"text-align":"end"},on:{click:function(f){return f.stopPropagation(),e.toggleFeatureBoxAndZoom(r,u)}}},[i("span",{staticClass:"fa link morelink skin-color",class:e.g3wtemplate.font[e.getLayerFeatureBox(r,u).collapsed?"plus":"minus"]})])],2),e._v(" "),!e.hasLayerOneFeature(r)&&e.getLayerFeatureBox(r,u).collapsed?i("header-feature-body",{attrs:{actions:e.state.layersactions[r.id],layer:r,feature:u,index:c,onelayerresult:e.onelayerresult,trigger:e.trigger,toggleFeatureBoxAndZoom:e.toggleFeatureBoxAndZoom,hasLayerOneFeature:e.hasLayerOneFeature,boxLayerFeature:e.getLayerFeatureBox(r,u),attributesSubset:e.attributesSubset,getLayerField:e.getLayerField}}):e._e(),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"feature","before"),function(f){var p=f.component;return i("tr",[i("td",{attrs:{colspan:e.getColSpan(r)}},[i(p,{tag:"component",staticClass:"box-body",attrs:{layer:r,feature:u}})],1)])}),e._v(" "),i("tr",{directives:[{name:"show",rawName:"v-show",value:!e.collapsedFeatureBox(r,u)||e.hasOneLayerAndOneFeature(r),expression:"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)"}],staticClass:"featurebox-body",attrs:{id:r.id+"_"+c}},[i("td",{attrs:{colspan:e.getColSpan(r),"feature-html-content":r.id+"_"+c}},[i("table",{staticClass:"feature_attributes"},[e._l(r.attributes.filter(function(f){return f.show}),function(f){return[e.isJSON(e.getLayerField({layer:r,feature:u,fieldName:f.name}))?[e._l(e.getLayerField({layer:r,feature:u,fieldName:f.name}).value,function(p,g){var d;return e._l(typeof p=="object"?p:(d={},d[g]=p,d),function(v,y){return i("tr",{staticStyle:{"padding-top":"10px","padding-bottom":"10px"}},[i("td",{staticClass:"attr-label"},[e._v(e._s(f.label)+"."),typeof p=="object"?[e._v(e._s(g)+".")]:e._e(),e._v(e._s(y))],2),e._v(" "),i("td",{staticClass:"attr-value"},[e._v(e._s(v))])])})})]:i("tr",[i("td",{staticClass:"attr-label"},[e._v(e._s(f.label))]),e._v(" "),i("td",{staticClass:"attr-value",attrs:{attribute:f.name}},[i("table-attribute-field-value",{attrs:{feature:u,field:e.getLayerField({layer:r,feature:u,fieldName:f.name})}})],1)])]})],2)])]),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"feature","after"),function(f){var p=f.component;return i("tr",[i("td",{attrs:{colspan:"getColSpan(layer)"}},[i(p,{tag:"component",staticClass:"box-body",attrs:{layer:r,feature:u}})],1)])})],2):i("tbody")}),0)]],2),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"layer","after"),function(u){var c=u.component;return i("div",{staticClass:"box-body",class:{mobile:e.isMobile()}},[i(c,{tag:"component",attrs:{layer:r}})],1)})],2)],1)}),e._v(" "),e._l(e.state.components,function(r){return i("li",[i(r,{tag:"component",on:{showresults:function(o){return e.showResults()}}})],1)})],2):e._e()]:[e.state.changed?i("div",{staticClass:"query-results-not-found"},[i("h4",{directives:[{name:"t",rawName:"v-t",value:"info.no_results",expression:"'info.no_results'"}],staticClass:"skin-color",staticStyle:{"font-weight":"bold","text-align":"center"}})]):e._e()]],2),e._v(" "),e.state.query?i("div",{staticStyle:{visibility:"hidden",position:"sticky",bottom:"-8px",background:"#eee",padding:"8px 0",display:"flex",gap:"1em"}},[i("label",{staticStyle:{"margin-top":"5px"}},[e._v(e._s(e.$t("query_filter")))]),e._v(" "),i("select",{staticStyle:{flex:"1"}},[e._l(e.queryableLayers,function(r){return i("option",{domProps:{selected:r===e.selectedLayer}},[e._v(e._s(r.getName()))])}),e._v(" "),i("option",{domProps:{selected:!e.selectedLayer}},[e._v(e._s(e.$t("sdk.mapcontrols.queryby.all")))])],2)]):e._e()])},hte=[],fte=function(e){e&&e("data-v-f3cc62d0_0",{source:".feature_attributes tr[data-v-f3cc62d0]{line-height:1.8em}.featurebox-body+tr[data-v-f3cc62d0]{border-top:2px groove #000}#g3w-queryresults-pagination[data-v-f3cc62d0]{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;flex-wrap:wrap}#g3w-queryresults-pagination button[data-v-f3cc62d0],#g3w-queryresults-pagination span[data-v-f3cc62d0]{background-color:transparent;margin:2px;font-weight:700;font-size:.8em}#g3w-queryresults-pagination button[data-v-f3cc62d0],#g3w-queryresults-pagination select[data-v-f3cc62d0]{min-width:0}#pagination-pages[data-v-f3cc62d0]{display:flex;align-items:baseline}#pagination-pages label[data-v-f3cc62d0]{margin-left:3px;font-size:1.2em}",map:void 0,media:void 0})},pte="data-v-f3cc62d0",gte=void 0,mte=!1;yte=_te({render:dte,staticRenderFns:hte},fte,ute,pte,mte,gte,!1,A1,void 0,void 0),vte=yte});var n3={};vi(n3,{default:()=>Tte});function kte(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="Map.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function O1(){let e=O1.styles||(O1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` + `)])}),e._v(" "),i("td",{staticClass:"collapsed",class:{noAttributes:e.attributesSubset(r).length===0},staticStyle:{"text-align":"end"},on:{click:function(f){return f.stopPropagation(),e.toggleFeatureBoxAndZoom(r,u)}}},[i("span",{staticClass:"fa link morelink skin-color",class:e.g3wtemplate.font[e.getLayerFeatureBox(r,u).collapsed?"plus":"minus"]})])],2),e._v(" "),!e.hasLayerOneFeature(r)&&e.getLayerFeatureBox(r,u).collapsed?i("header-feature-body",{attrs:{actions:e.state.layersactions[r.id],layer:r,feature:u,index:c,onelayerresult:e.onelayerresult,trigger:e.trigger,toggleFeatureBoxAndZoom:e.toggleFeatureBoxAndZoom,hasLayerOneFeature:e.hasLayerOneFeature,boxLayerFeature:e.getLayerFeatureBox(r,u),attributesSubset:e.attributesSubset,getLayerField:e.getLayerField}}):e._e(),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"feature","before"),function(f){var p=f.component;return i("tr",[i("td",{attrs:{colspan:e.getColSpan(r)}},[i(p,{tag:"component",staticClass:"box-body",attrs:{layer:r,feature:u}})],1)])}),e._v(" "),i("tr",{directives:[{name:"show",rawName:"v-show",value:!e.collapsedFeatureBox(r,u)||e.hasOneLayerAndOneFeature(r),expression:"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)"}],staticClass:"featurebox-body",attrs:{id:r.id+"_"+c}},[i("td",{attrs:{colspan:e.getColSpan(r),"feature-html-content":r.id+"_"+c}},[i("table",{staticClass:"feature_attributes"},[e._l(r.attributes.filter(function(f){return f.show}),function(f){return[e.isJSON(e.getLayerField({layer:r,feature:u,fieldName:f.name}))?[e._l(e.getLayerField({layer:r,feature:u,fieldName:f.name}).value,function(p,g){var d;return e._l(typeof p=="object"?p:(d={},d[g]=p,d),function(v,y){return i("tr",{staticStyle:{"padding-top":"10px","padding-bottom":"10px"}},[i("td",{staticClass:"attr-label"},[e._v(e._s(f.label)+"."),typeof p=="object"?[e._v(e._s(g)+".")]:e._e(),e._v(e._s(y))],2),e._v(" "),i("td",{staticClass:"attr-value"},[e._v(e._s(v))])])})})]:i("tr",[i("td",{staticClass:"attr-label"},[e._v(e._s(f.label))]),e._v(" "),i("td",{staticClass:"attr-value",attrs:{attribute:f.name}},[i("table-attribute-field-value",{attrs:{feature:u,field:e.getLayerField({layer:r,feature:u,fieldName:f.name})}})],1)])]})],2)])]),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"feature","after"),function(f){var p=f.component;return i("tr",[i("td",{attrs:{colspan:"getColSpan(layer)"}},[i(p,{tag:"component",staticClass:"box-body",attrs:{layer:r,feature:u}})],1)])})],2):i("tbody")}),0)]],2),e._v(" "),e._l(e.getLayerCustomComponents(r.id,"layer","after"),function(u){var c=u.component;return i("div",{staticClass:"box-body",class:{mobile:e.isMobile()}},[i(c,{tag:"component",attrs:{layer:r}})],1)})],2)],1)}),e._v(" "),e._l(e.state.components,function(r){return i("li",[i(r,{tag:"component",on:{showresults:function(o){return e.showResults()}}})],1)})],2):e._e()]:[e.state.changed?i("div",{staticClass:"query-results-not-found"},[i("h4",{directives:[{name:"t",rawName:"v-t",value:"info.no_results",expression:"'info.no_results'"}],staticClass:"skin-color",staticStyle:{"font-weight":"bold","text-align":"center"}})]):e._e()]],2),e._v(" "),e.state.query?i("div",{staticStyle:{visibility:"hidden",position:"sticky",bottom:"-8px",background:"#eee",padding:"8px 0",display:"flex",gap:"1em"}},[i("label",{staticStyle:{"margin-top":"5px"}},[e._v(e._s(e.$t("query_filter")))]),e._v(" "),i("select",{staticStyle:{flex:"1"}},[e._l(e.queryableLayers,function(r){return i("option",{domProps:{selected:r===e.selectedLayer}},[e._v(e._s(r.getName()))])}),e._v(" "),i("option",{domProps:{selected:!e.selectedLayer}},[e._v(e._s(e.$t("sdk.mapcontrols.queryby.all")))])],2)]):e._e()])},hte=[],fte=function(e){e&&e("data-v-f3cc62d0_0",{source:".feature_attributes tr[data-v-f3cc62d0]{line-height:1.8em}.featurebox-body+tr[data-v-f3cc62d0]{border-top:2px groove #000}#g3w-queryresults-pagination[data-v-f3cc62d0]{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;flex-wrap:wrap}#g3w-queryresults-pagination button[data-v-f3cc62d0],#g3w-queryresults-pagination span[data-v-f3cc62d0]{background-color:transparent;margin:2px;font-weight:700;font-size:.8em}#g3w-queryresults-pagination button[data-v-f3cc62d0],#g3w-queryresults-pagination select[data-v-f3cc62d0]{min-width:0}#pagination-pages[data-v-f3cc62d0]{display:flex;align-items:baseline}#pagination-pages label[data-v-f3cc62d0]{margin-left:3px;font-size:1.2em}",map:void 0,media:void 0})},pte="data-v-f3cc62d0",gte=void 0,mte=!1;yte=_te({render:dte,staticRenderFns:hte},fte,ute,pte,mte,gte,!1,A1,void 0,void 0),vte=yte});var n3={};hi(n3,{default:()=>Tte});function kte(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="Map.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function O1(){let e=O1.styles||(O1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var bte,xte,wte,Ste,Ete,Cte,Ite,Lte,Tte,i3=W(()=>{vt();E1();L_();bte={name:"g3w-map",data(){let{service:e}=this.$options;return{target:this.$options.service.target,hidemaps:e.state.hidemaps,map_info:e.state.map_info,service:e,mouse:{visible:!0,switch_icon:!1,epsg_4326:!1,tooltip:null},urlCopied:!1,mapunit:V.map.unit}},computed:{version(){return"Powered by G3W-SUITE "+initConfig.version},showmapunits(){return this.service.state.mapunits.length>1}},methods:{onDrop(e){if(document.querySelector(".drop-area").toggleAttribute("hidden",e.type!=="dragenter"),e.dataTransfer.files&&e.type==="drop"){let n=GUI.getService("map"),i=document.querySelector.bind(document),r=async(u,c)=>{u="#modal-addlayer "+u,await ya(()=>i(u),1e3),i(u).value=c,i(u).dispatchEvent(new Event("input")),i(u).dispatchEvent(new Event("change"))};(async u=>{if(await ya(()=>!i("#add-layer-type").value,5e3),n.getLayerByName(u.name))return console.assert(!n.getLayerByName(u.name),`Unable to add layer: ${u.name}`);setTimeout(()=>console.assert(n.getLayerByName(u.name),`Unable to add layer: ${u.name}`),2500),await r("#add-layer-type","file"),await ya(()=>i('#addcustomlayer input[type="file"]'),1e3);let c=new DataTransfer;c.items.add(u),i('#addcustomlayer input[type="file"]').files=c.files,i('#addcustomlayer input[type="file"]').dispatchEvent(new Event("change")),$("#modal-addlayer").modal("show")})(e.dataTransfer.files[0])}},showHideControls(){this.service.getMapControls().forEach(e=>e.type!=="scaleline"&&e.control.showHide())},createCopyMapExtentUrl(){let e=new URL(location.href);e.searchParams.set("map_extent",this.service.getMapExtent().toString()),sy(e.toString()),this.urlCopied=!this.urlCopied,setTimeout(()=>this.urlCopied=!1,5e3)},switchMapsCoordinateTo4326(){this.mouse.epsg_4326=!this.mouse.epsg_4326,this.service.getMapControlByType({type:"mouseposition"}).dispatchEvent({type:"change:epsg",epsg:this.mouse.epsg_4326?"EPSG:4326":this.service.getEpsg()})}},watch:{mapunit(e){V.map.unit=e,this.service.changeScaleLineUnit(e)}},async mounted(){this.crs=this.service.getCrs(),await this.$nextTick(),this.service.onafter("addHideMap",async({ratio:e,layers:n=[],mainview:i=!1,switchable:r=!1}={})=>{await this.$nextTick(),this.service._addHideMap({ratio:e,layers:n,mainview:i,switchable:r})}),this.service.once("ready",()=>{this.service.getMapControlByType({type:"mouseposition"})?(this.mouse.switch_icon=this.service.getMapControlByType({type:"mouseposition"})&&this.service.getEpsg()!=="EPSG:4326",this.mouse.tooltip=`ESPG ${this.service.getCrs().split(":")[1]} \u2194 WGS84`):this.mouse.visible=!1})},destroyed(){this.service.clear()}},xte=function(){var e,n=this,i=n.$createElement,r=n._self._c||i;return r("div",{attrs:{id:"g3w-maps"}},[n._l(n.hidemaps,function(o){return r("div",{key:o.id,staticClass:"g3w-map hidemap",attrs:{id:o.id}})}),n._v(" "),r("div",{staticClass:"g3w-map",attrs:{id:n.target},on:{drop:function(o){return o.preventDefault(),n.onDrop.apply(null,arguments)},dragenter:function(o){return o.preventDefault(),n.onDrop.apply(null,arguments)},dragleave:function(o){return o.preventDefault(),n.onDrop.apply(null,arguments)},dragover:function(o){o.preventDefault()}}},[r("div",{staticClass:"drop-area",attrs:{hidden:""}},[n._v(` @@ -1386,7 +1386,7 @@ ${dc(this.code(n,i))} `+n._s(n.map_info.info)+` `)]):n._e(),n._v(" "),n._m(0),n._v(" "),r("div",{staticClass:"g3w-map-controls-left-bottom"})]),n._v(" "),r("div",{staticClass:"skin-border-color",attrs:{id:"map_footer"}},[r("div",{staticStyle:{display:"flex"},attrs:{id:"map_footer_left"}},[r("a",{staticStyle:{"margin-left":"5px","align-self":"center"},attrs:{href:"https://g3wsuite.it/",target:"_blank",title:n.version}},[r("img",{attrs:{height:"15",src:"/static/client/images/g3wsuite_logo.png",alt:""}})])]),n._v(" "),r("div",{staticStyle:{display:"flex"},attrs:{id:"map_footer_right"}},[n.mouse.visible&&n.mouse.switch_icon&&!n.isMobile()?r("div",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:n.mouse.tooltip,expression:"mouse.tooltip",arg:"top",modifiers:{create:!0}}],attrs:{id:"switch-mouse-coordinate"},on:{click:function(o){return o.stopPropagation(),o.preventDefault(),n.switchMapsCoordinateTo4326.apply(null,arguments)}}},[r("span",{staticClass:"skin-color-dark",class:n.$fa("mouse"),staticStyle:{"caret-color":"rgba(0,0,0,0)"}})]):n._e(),n._v(" "),r("div",{directives:[{name:"show",rawName:"v-show",value:n.mouse.visible,expression:"mouse.visible"}],attrs:{id:"mouse-position-control"}}),n._v(" "),r("div",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:top.create",value:"sdk.tooltips.copy_map_extent_url",expression:"'sdk.tooltips.copy_map_extent_url'",arg:"top",modifiers:{create:!0}}],staticClass:"skin-color-dark",class:(e={},e[n.$fa("link")]=!n.urlCopied,e[n.$fa("success")]=n.urlCopied,e),attrs:{id:"permalink"},on:{click:function(o){return o.stopPropagation(),n.createCopyMapExtentUrl.apply(null,arguments)}}}),n._v(" "),r("div",{attrs:{id:"scale-control"}}),n._v(" "),n.showmapunits?r("div",{attrs:{id:"scale-line-units"}},[r("select",{directives:[{name:"model",rawName:"v-model",value:n.mapunit,expression:"mapunit"}],staticClass:"skin-color-dark",staticStyle:{padding:"5px 2px","font-weight":"bold",border:"0",cursor:"pointer"},on:{change:function(o){var u=Array.prototype.filter.call(o.target.options,function(c){return c.selected}).map(function(c){var f="_value"in c?c._value:c.value;return f});n.mapunit=o.target.multiple?u:u[0]}}},n._l(n.service.state.mapunits,function(o){return r("option",{directives:[{name:"t",rawName:"v-t",value:"sdk.mapcontrols.scaleline.units."+o,expression:"`sdk.mapcontrols.scaleline.units.${unit}`"}],staticStyle:{"font-weight":"bold"},domProps:{value:o,selected:n.mapunit===o}})}),0)]):n._e()])])],2)},wte=[function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{staticStyle:{display:"none"}},[i("div",{attrs:{id:"marker"}})])}],Ste=function(e){e&&e("data-v-4d99219c_0",{source:'#marker[data-v-4d99219c]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-4d99219c]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-4d99219c]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:rgba(255,255,255,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-4d99219c]{position:relative;width:100%;height:100%}.g3w-map[data-v-4d99219c]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-4d99219c]{display:block}.g3w-map.hide[data-v-4d99219c]{display:none}#map_footer[data-v-4d99219c]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:rgba(255,255,255,.7)}#permalink[data-v-4d99219c]{font-weight:700;font-size:1.2em;padding:8px 5px 0 5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-4d99219c]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-4d99219c]{padding:3px 5px 0 3px}#map_footer_right[data-v-4d99219c]{flex-shrink:0}.drop-area[data-v-4d99219c]:not([hidden]){display:flex}.drop-area[data-v-4d99219c]{justify-content:center;align-items:center;width:100%;height:100%;color:#fff;font-size:4em;position:absolute;z-index:100;background-color:#222d32;pointer-events:none}.drop-area[data-v-4d99219c]::before{border:5px dashed #fff;content:"";bottom:60px;left:60px;position:absolute;right:60px;top:60px}',map:void 0,media:void 0})},Ete="data-v-4d99219c",Cte=void 0,Ite=!1;Lte=kte({render:xte,staticRenderFns:wte},Ste,bte,Ete,Ite,Cte,!1,O1,void 0,void 0),Tte=Lte});Nt();vt();Ah();Vy();ng();Wy();Nt();function nS(e){switch(e){case ye.LINESTRINGZ:case ye.LINESTRINGM:case ye.LINESTRINGZM:case ye.LINESTRING25D:case ye.LINE:case ye.LINEZ:case ye.LINEM:case ye.LINEZM:case ye.LINE25D:return"LineString";case ye.MULTILINESTRINGZ:case ye.MULTILINESTRINGM:case ye.MULTILINESTRINGZM:case ye.MULTILINESTRING25D:case ye.MULTILINE:case ye.MULTILINEZ:case ye.MULTILINEM:case ye.MULTILINEZM:case ye.MULTILINE25D:return"MultiLineString";case ye.POINT:case ye.POINTZ:case ye.POINTM:case ye.POINTZM:case ye.POINT25D:return"Point";case ye.MULTIPOINT:case ye.MULTIPOINTZ:case ye.MULTIPOINTM:case ye.MULTIPOINTZM:case ye.MULTIPOINT25D:return"MultiPoint";case ye.POLYGON:case ye.POLYGONZ:case ye.POLYGONM:case ye.POLYGONZM:case ye.POLYGON25D:return"Polygon";case ye.MULTIPOLYGON:case ye.MULTIPOLYGONZ:case ye.MULTIPOLYGONM:case ye.MULTIPOLYGONZM:case ye.MULTIPOLYGON25D:return"MultiPolygon";default:return console.warn("invalid geometry type: ",e),e}}Fh();Dh();_u();yu();var mS=hn(rg());var ag=hn(Zy(),1);var aS,rS="deflate-raw",sS=self.DecompressionStream;try{new sS(rS),aS=async e=>{let n=new sS(rS),i=n.writable.getWriter(),r=n.readable.getReader();i.write(e),i.close();let o,u=[],c=0,f=0,p;for(;!(p=await r.read()).done;)o=p.value,u.push(o),c+=o.length;return u.length-1?(o=new Uint8Array(c),u.map(g=>{o.set(g,f),f+=g.length}),o):u[0]}}catch{}var I3=new TextDecoder,Ky=e=>{throw new Error("but-unzip~"+e)},oS=e=>I3.decode(e),k3=e=>{let n=e.length-20,i=Math.max(n-65516,2);for(;(n=e.lastIndexOf(80,n-1))!==-1&&!(e[n+1]===75&&e[n+2]===5&&e[n+3]===6)&&n>i;);return n};function*lS(e,n=aS){let i=k3(e);i===-1&&Ky(2);let r=(p,g)=>e.subarray(i+=p,i+=g),o=new DataView(e.buffer,e.byteOffset),u=p=>o.getUint16(p+i,!0),c=p=>o.getUint32(p+i,!0),f=u(10);for(f!==u(8)&&Ky(3),i=c(16);f--;){let p=u(10),g=u(28),d=u(30),v=u(32),y=c(20),S=c(42),w=oS(r(46,g)),E=oS(r(d,v)),I=i,O;i=S,O=r(30+u(26)+u(28),y),yield{filename:w,comment:E,read:()=>p&8?n(O):p?Ky(1):O},i=I}}var L3=/.+\.(shp|dbf|json|prj|cpg)$/i,cS=async e=>{let n={},i=[];for(let u of lS(e))L3.test(u.filename)&&i.push(Promise.resolve(u.read()).then(c=>n[u.filename]=c));await Promise.all(i);let r={},o=new TextDecoder;for(let[u,c]of Object.entries(n))u.slice(-3).toLowerCase()==="shp"||u.slice(-3).toLowerCase()==="dbf"?r[u]=new DataView(c.buffer,c.byteOffset,c.byteLength):r[u]=o.decode(c);return r};var T3=globalThis.URL,uS=(e,n)=>{if(!n)return e;let i=new T3(e);return i.pathname=`${i.pathname}.${n}`,i.href};async function Wl(e,n){let i=uS(e,n),r=n==="prj"||n==="cpg";try{let o=await fetch(i);if(o.status>399)throw new Error(o.statusText);if(r)return o.text();let u=await o.arrayBuffer();return new DataView(u)}catch(o){if(r||n==="dbf")return!1;throw o}}function N3(e){let n=0,i=1,r=e.length,o,u,c=[e[0][0],e[0][1],e[0][0],e[0][1]];for(;ic[2]&&(c[2]=u[0]),u[1]>c[3]&&(c[3]=u[1]);return{ring:e,clockWise:n>0,bbox:c,children:[]}}function R3(e,n){return!(e.bbox[0]>n.bbox[0]||e.bbox[1]>n.bbox[1]||e.bbox[2]20&&(n-=20),!(n in dS))throw new Error(`I don't know shp type "${n}"`);this.parseFunc=this[dS[n]],this.parseCoord=A3(e)};Xn.prototype.getShpCode=function(){return this.parseHeader().shpCode};Xn.prototype.parseHeader=function(){let e=this.buffer;return{length:e.getInt32(24)<<1,version:e.getInt32(28,!0),shpCode:e.getInt32(32,!0),bbox:[e.getFloat64(36,!0),e.getFloat64(44,!0),e.getFloat64(52,!0),e.getFloat64(60,!0)]}};Xn.prototype.getRows=function(){let e=100,n=this.buffer.byteLength-8,i=[],r;for(;e<=n&&(r=this.getRow(e),!!r);)e+=8,e+=r.len,r.type?i.push(this.parseFunc(r.data)):i.push(null);return i};Xn.prototype.getRow=function(e){let n=this.buffer.getInt32(e),i=this.buffer.getInt32(e+4)<<1;if(i===0)return{id:n,len:i,type:0};if(!(e+i+8>this.buffer.byteLength))return{id:n,len:i,data:new DataView(this.buffer.buffer,this.buffer.byteOffset+e+12,i-4),type:this.buffer.getInt32(e+8,!0)}};function sg(e,n){return new Xn(e,n).rows}var O3=/^(?:ANSI\s)?(\d+)$/m;function Qy(e,n){if(!e)return r;try{new TextDecoder(e.trim())}catch{var i=O3.exec(e);return i&&!n?Qy("windows-"+i[1],!0):(e=void 0,r)}return r;function r(o){var u=new TextDecoder(e||void 0),c=u.decode(o,{stream:!0})+u.decode();return c.replace(/\0/g,"").trim()}}function P3(e){var n={};return n.lastUpdated=new Date(e.getUint8(1)+1900,e.getUint8(2),e.getUint8(3)),n.records=e.getUint32(4,!0),n.headerLen=e.getUint16(8,!0),n.recLen=e.getUint16(10,!0),n}function F3(e,n,i){for(var r=[],o=32;o{if(!e)throw new Error("forgot to pass buffer");if(vu(e))return new Uint8Array(e);if(vu(e.buffer))return e.BYTES_PER_ELEMENT===1?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("invalid buffer like object")},G3=new TextDecoder,fS=e=>{if(e){if(typeof e=="string")return e;if(vu(e)||ArrayBuffer.isView(e)||Jy(e))return G3.decode(e)}},pS=e=>{if(!e)throw new Error("forgot to pass buffer");if(Jy(e))return e;if(vu(e))return new DataView(e);if(vu(e.buffer))return new DataView(e.buffer,e.byteOffset,e.byteLength);throw new Error("invalid buffer like object")};function vu(e){return e instanceof globalThis.ArrayBuffer||Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function Jy(e){return e instanceof globalThis.DataView||Object.prototype.toString.call(e)==="[object DataView]"}var ev=function([e,n]){let i={};i.type="FeatureCollection",i.features=[];let r=0,o=e.length;for(n||(n=[]);r-1?o.push(i.slice(0,-3)+i.slice(-3).toLowerCase()):(i.slice(-4).toLowerCase()===".dbf"||i.slice(-4).toLowerCase()===".cpg")&&(r[i.slice(0,-3)+i.slice(-3).toLowerCase()]=r[i]));if(!o.length)throw new Error("no layers founds");let u=o.map(function(c){let f,p,g=c.lastIndexOf(".");return g>-1&&c.slice(g).indexOf("json")>-1?(f=JSON.parse(r[c]),f.fileName=c.slice(0,g)):n.indexOf(c.slice(g+1))>-1?(f=r[c],f.fileName=c):(r[c+".dbf"]&&(p=og(r[c+".dbf"],r[c+".cpg"])),f=ev([sg(r[c+".shp"],r[c+".prj"]),p]),f.fileName=c),f});return u.length===1?u[0]:u};async function $3(e,n){let i=await Wl(e);return gS(i,n)}var B3=async e=>{let n=await Promise.all([Wl(e,"shp"),Wl(e,"prj")]),i=!1;try{n[1]&&(i=(0,ag.default)(n[1]))}catch{i=!1}return sg(n[0],i)},U3=async e=>{let[n,i]=await Promise.all([Wl(e,"dbf"),Wl(e,"cpg")]);if(n)return og(n,i)},hS=(e,n)=>new q3(e,globalThis?.document?.location).pathname.slice(-4).toLowerCase()===n,V3=({shp:e,dbf:n,cpg:i,prj:r})=>{let o=[H3(e,r)];return n&&o.push(Y3(n,i)),ev(o)},W3=async function(e,n){if(typeof e!="string"){if(vu(e)||ArrayBuffer.isView(e)||Jy(e))return gS(e);if(e.shp)return V3(e);throw new TypeError("must be a string, some sort of Buffer, or an object with at least a .shp property")}if(hS(e,".zip"))return $3(e,n);hS(e,".shp")&&(e=e.slice(0,-4));let i=await Promise.all([B3(e),U3(e)]);return ev(i)},H3=function(e,n){if(e=pS(e),n=fS(n),typeof n=="string")try{n=(0,ag.default)(n)}catch{n=!1}return sg(e,n)},Y3=function(e,n){return e=pS(e),n=fS(n),og(e,n)},lg=W3;Nt();bn();async function _S({name:e,type:n,crs:i,mapCrs:r,data:o,style:u}={}){let c=[],f=["zip","kml","kmz"].includes(n)?"EPSG:4326":i,p=[];if(n==="zip"&&(o=JSON.stringify(await lg(await o.arrayBuffer(o)))),n==="kmz"){let g=new mS.default;g.load(await o.arrayBuffer(o)),o=g.file(/.kml$/i).at(-1).asText()}return n==="csv"&&o.values.forEach((g,d)=>{let v={},y=g.split(o.separator);if(y.length!==o.headers.length)return c.push({row:d+1,value:o.values[d]});let S=[];if(y.forEach((w,E)=>{o.headers[E]===o.x&&(S[0]=1*w),o.headers[E]===o.y&&(S[1]=1*w),v[o.headers[E]]=w}),S.every(w=>!Number.isNaN(w))){let w=new ol.Feature(new ol.geom.Point(S).transform(i,r));w.setId(d),w.setProperties(v),p.push(w)}}),n!=="csv"&&(p={gpx:new ol.format.GPX,gml:new ol.format.WMSGetFeatureInfo,geojson:new ol.format.GeoJSON,zip:new ol.format.GeoJSON,kml:new ol.format.KML({extractStyles:!1}),kmz:new ol.format.KML({extractStyles:!1})}[n].readFeatures(o,{dataProjection:f,featureProjection:r||f})),["kml","kmz"].includes(n)&&p.forEach(g=>g.unset("styleUrl")),c.length&&GUI.showUserMessage({type:"warning",message:"sdk.mapcontrols.addlayer.messages.csv.warning",hooks:{footer:{template:``,data:()=>({errors:c})}},autoclose:!1}),p.length?new ol.layer.Vector({source:new ol.source.Vector({features:p}),name:e,_fields:n==="csv"?o.headers:Object.keys(p[0].getProperties()).filter(g=>oo.indexOf(g)<0),id:ut(),style:u}):Promise.reject()}tv();bu();hf();function FM(e=[],n=[]){return e[0]===n[0]&&e[1]===n[1]}Fh();yu();_u();mp();function Lw({feature:e,splitfeature:n}={}){let i={feature:e.getGeometry(),split:n.getGeometry()};if(i.split.getType()!=="LineString")return[];let r=[],o=new jsts.io.OL3Parser;o.inject(ol.geom.Point,ol.geom.LineString,ol.geom.LinearRing,ol.geom.Polygon,ol.geom.MultiPoint,ol.geom.MultiLineString,ol.geom.MultiPolygon);let u=js(i.feature.getType()),c=ao(i.feature.getType()),f=lo(i.feature.getType()),p=f&&(u?i.feature.getPolygons():i.feature),g=c&&(u?i.feature.getLineStrings():i.feature);if(u&&(c||f)){let d=f?ol.geom.MultiPolygon:ol.geom.MultiLineString;(f?p:g).forEach(v=>{let y=Lw({splitfeature:n,feature:new ol.Feature({geometry:v})});y.length>0?y.forEach(S=>S&&r.push(new d([S.getCoordinates()]))):r.push(new d([v.getCoordinates()]))})}if(f&&!u){let d=p.getCoordinates()[0][0][2]!==void 0,v=o.read(p),y=o.read(p.getLinearRing(0)),S=o.read(i.split),w;if(p.getLinearRingCount()>1){let H;for(let re=1;reX=X===void 0?re:X.union(re)),w=X}d&&(p.getCoordinates()[0].forEach((H,X)=>y.getCoordinates()[X].z=H[2]),S.getCoordinates().forEach(H=>H.z=0));let E=y.union(S),I=new jsts.operation.polygonize.Polygonizer;I.add(E);let O=I.getPolygons().toArray();O.length>1&&O.forEach(H=>{if(w&&(H=H.difference(w)),v.intersects(H.getInteriorPoint())){let X=o.write(H),re=H.getCoordinates();if(d){re.forEach((te,ee)=>te.z=te.z===void 0?re[ee===0?ee+1:ee-1].z:te.z);let Z=[];X.getCoordinates()[0].forEach((te,ee)=>{te.push(re[ee].z),Z.push(te)}),X.setCoordinates([Z])}let z=!js(X.getType());u?r.push(new ol.geom.MultiPolygon(z?[X.getCoordinates()]:X.getCoordinates())):z?r.push(X):X.getCoordinates().forEach(Z=>r.push(new ol.geom.Polygon(Z)))}})}if(c&&!u){let d=i.split,v=i.feature,y=v.getCoordinates()[0][2]!==void 0,S=!1,w=[],E=new jsts.io.WKTReader,I=new ol.format.WKT,O=new jsts.io.OL3Parser;O.inject(ol.geom.Point,ol.geom.LineString,ol.geom.LinearRing,ol.geom.Polygon,ol.geom.MultiPoint,ol.geom.MultiLineString,ol.geom.MultiPolygon);let H=E.read(I.writeGeometry(d)),X=I.writeGeometry(v);y&&(X=X.replace(" Z",""));let z=E.read(X).getCoordinates(),Z=new jsts.geom.GeometryFactory,te=[],ee,ve;for(let me=0;me0,se.forEach(le=>{y&&(le.z=ve.z);let he=O.write(Z.createLineString((te.length?te:[]).concat([ve,le])));if(y){let Ke=he.getCoordinates();he.setCoordinates([[...Ke[0],ve.z],[...Ke[1],le.z]])}te.length&&(te=[]),w.push(he),ve=le}),te=te.concat([ve,ee])}let F=O.write(Z.createLineString(te));return y&&F.setCoordinates(te.map((me,L)=>{let se=F.getCoordinates()[L];return se.push(me.z),se})),w.push(F),S?w:[]}return r}yw();Tw();Nw();mp();function VM({features:e=[],index:n=0,clone:i=!1}={}){let r=new jsts.io.OL3Parser,o=e.length;if(o===0)return null;if(o===1)return e[0];let u,c=i?e[n].clone():e[n],f=c.getGeometry(),p=f.getType();if(p==="LineString"){let y=new jsts.operation.linemerge.LineMerger;for(let w=0;we===n.gid)}kg();M_();p_();nw();zi();xu();xi();var YM=new class{constructor(){this.tasks=[]}async runTask(n={}){let{method:i="GET",params:r={},url:o,taskUrl:u,interval:c=1e3,timeout:f=1/0,listener:p=()=>{}}=n;try{let g=i==="GET"?await ht.get({url:o,params:r}):await ht.post({url:o,data:r.data||{},contentType:r.contentType||"application/json"}),{result:d,task_id:v}=g;if(d){let y=setInterval(async()=>{if(f=f-c,f>0){let S;try{S=await ht.get({url:`${u}${v}`})}catch(w){S=w,console.warn(w)}p({task_id:v,timeout:!1,response:S})}else p({timeout:!0}),this.stopTask({task_id:v})},c);this.tasks.push({task_id:v,intervalId:y}),p({task_id:v,response:g})}else return Promise.reject(g)}catch(g){return console.warn(g),Promise.reject(g)}}stopTask(n={}){let i=this.tasks.find(r=>n.task_id===r.task_id);i&&clearInterval(i.intervalId)}clear(){this.tasks.forEach(({taskId:n})=>this.stopTask({taskId:n})),this.tasks.splice(0)}};bt();pw();rr();hw();fw();jh();wu();h_();yr();Yn();Jl();zs();Dx();_c();Ew();bc();T_();Ld();ap();xw();bn();function XM(e,n){console.warn("[G3W-CLIENT] g3wsdk.core.utils.inherit is deprecated"),console.trace();function i(){}i.prototype=n.prototype,e.superClass_=n.prototype,e.prototype=new i,e.prototype.constructor=e}function ZM(e){console.warn("[G3W-CLIENT] g3wsdk.core.utils.base is deprecated"),console.trace();let n=arguments.callee.caller;if(n.superClass_)return n.superClass_.constructor.name==="Function"?n.superClass_.constructor.apply(e,Array.prototype.slice.call(arguments,1)):Object.assign(e,Reflect.construct(n.superClass_.constructor,Array.prototype.slice.call(arguments,1),e.constructor));let i=!1;for(let r=e.constructor;r;r=r.superClass_?.constructor)if(r.prototype[arguments[1]]===n)i=!0;else if(i)return r.prototype[arguments[1]].apply(e,Array.prototype.slice.call(arguments,2));if(e[arguments[1]]===n)return e.constructor.prototype[arguments[1]].apply(e,Array.prototype.slice.call(arguments,2));throw Error("base called from a method of one name to a method of a different name")}mu();Ko();$o();Go();xi();Rw();qn();k_();ln();Yn();zs();vt();xu();bt();Ko();ln();var KM=hn(Ql()),fY=1e4,P_=class extends Et{constructor({name:n=null,config:i=V.pluginsConfigs[n],service:r=null,dependencies:o=[],i18n:u=null,fontClasses:c=[],api:f={}}={}){super(),this.setName(n),this.setConfig(i),this.setLocale(u),this.setService(r),this.setDependencies(o),this.addFontClasses(c),this.setApi(f),this.setHookService(null),this._ready=!1,this.hookservices={search:U.getService("search"),tools:U.getService("tools")},this._timeout=setTimeout(()=>{V.plugins=V.plugins.filter(p=>this.name!==p),this.name&&delete V.gui.layout[this.name]},fY)}setName(n){this.name=n}getName(){return this.name}setConfig(n){this.config=wi(n)==="Object"?n:null}getConfig(n){return this.config||V.pluginsConfigs[n||this.name]}setLocale(n){n&&this.name&&Av({name:this.name,config:n})}setService(n){this.service=n,n&&n.setPlugin(this)}getService(){return this.service}setDependencies(n=[]){this.dependencies=n}setApi(n={}){this._api=n,n.getConfig=this._api.getConfig}getApi(){return this._api}setHookService(n){this._hook=n}getHookService(n="tools"){return this.hookservices[n]}setLayout(n){n=n!==void 0?n:(0,KM.default)(V.gui.layout.app);let i=n.rightpanel||{width:50,height:50,width_100:!1,height_100:!1};n.rightpanel=Object.assign(i,{width:n.rightpanel.width||i.width,height:n.rightpanel.height||i.width,width_100:!1,height_100:!1}),V.gui.layout[this.name]=n}setCurrentLayout(){V.gui.layout.__current=this.name}setReady(n){this._ready=n,this._ready&&this.setLayout(),this.emit("set-ready",n,this.name),setTimeout(()=>{clearTimeout(this._timeout),V.plugins=V.plugins.filter(i=>this.name!==i)},0)}isReady(){return new Promise(n=>{this._ready?n(this._ready):this.once("set-ready",i=>{this._ready=i,n(this._ready)})})}isCurrentProjectCompatible(n){return n===V.project.getGid()}registerPlugin(n){let i=this.isCurrentProjectCompatible(n);return i?_r.registerPlugin(this):(V.plugins=V.plugins.filter(r=>this.name!==r),clearTimeout(this._timeout)),i}getDependencyPlugins(n){return this.dependencies=n||this.dependencies,Promise.all(this.dependencies.map(i=>this.getDependencyPlugin(i)))}async getDependencyPluginsObject(n){let i={},r=await this.getDependencyPlugins(n);return this.dependencies.forEach((o,u)=>i[o]=r[u]),i}getDependencyPlugin(n){return V.pluginsConfigs[n]?new Promise(i=>{let r=_r.getPlugin(n);r&&r.isReady().then(()=>i(r.getApi()))||_r.onafter("registerPlugin",o=>{n===o.name&&o.isReady().then(()=>i(o.getApi()))})}):Promise.reject({error:"no plugin"})}setHookLoading({hook:n="tools",loading:i=!1}={}){this.getHookService(n).setLoading(i)}addToolGroup({hook:n="tools",position:i,title:r}={}){this.getHookService(n).addToolGroup(i,r)}removeToolGroup({hook:n,group:i}={}){this.getHookService(n).removeToolGroup(i.title)}addTools(n,i){let r=n.hook||"tools",o=[];return!n.action&&!n.type?this.removeToolGroup({hook:r,group:i}):(this.setHookService(r),o=(this.config.configs||[this.config]).map(u=>({icon:n.icon,type:n.type,name:u.name||n.name,html:n.html,options:n.options||{},action:n.action&&n.action.bind(this,u),loading:n.loading!==void 0?n.loading:!1,disabled:n.disabled!==void 0?n.disabled:!1,offline:n.offline!==void 0?n.offline:!0,state:n.state!==void 0?n.state:{type:null,message:null}})),this.getHookService(r).addTools(o,i)),o}setToolState({id:n,state:i={type:null,message:null}}={}){this.hookservices[this._hook].state.toolsGroups.find(r=>{let o=r.tools.find(u=>u.name===n);if(o)return o.state.type=i.type,o.state.message=i.message,!0})}removeTools(){this.hookservices[this._hook].removeTools()}createSideBarComponent(n,i={}){return i.vueComponentObject=n,i.collapsible=i.collapsible??!0,i.mobile=i.mobile??!0,i.sidebarOptions=i.sidebarOptions??{position:1},U.addComponent(new zt(i),"sidebar",i.sidebarOptions),this.once("unload",()=>U.removeComponent(i.id,"sidebar",i.sidebarOptions)),U.getComponent(i.id)}unload(){this.service&&this.service.clearAllEvents(),this.emit("unload")}load(){}getProject(){return V.project}addDependency(n){this.dependencies.push(n)}addFontClass({name:n,className:i}){Vue.prototype.g3wtemplate.addFontClass({name:n,className:i})}addFontClasses(n=[]){n.forEach(i=>this.addFontClass(i))}},F_=class extends Et{constructor(n={}){super(n),this.plugin,this._api={own:null,dependencies:{}},this._pluginEvents={},this._appEvents=[],this.currentLayout=V.gui.layout.__current,this.vm=new Vue,this.unwatch=this.vm.$watch(()=>V.gui.layout.__current,i=>this.currentLayout=i===this.name?this.currentLayout:i)}init(n={}){this.config=n}resetCurrentLayout(){V.gui.layout.__current=this.currentLayout}setPlugin(n){this.plugin=n}getPlugin(){return this.plugin}isIframe(){return V.iframe}getCurrentProject(){return V.project}getGid(){return this.config.gid&&this.config.gid.split(":")[1]}getConfig(){return this.config}setConfig(n){this.config=n}setApi({dependency:n,api:i}={}){n?this._api.dependencies[n]=i:this._api.own=i}getApi({dependency:n}={}){return n&&this._api.dependencies[n]||this._api.own}initEvents(n=[]){for(let i in n)this._pluginEvents[n[i]]={}}subscribeEvent({name:n,once:i=!1,owner:r,listener:o}={}){this._pluginEvents[n]=this._pluginEvents[n]?this._pluginEvents[n]:{},this._pluginEvents[n][r]=o,i?this.once(n,o):this.on(n,o)}triggerEvent({name:n,params:i={}}){this.emit(n,i)}unsubscribeEvent({name:n,owner:i}){this.removeEvent(n,this._pluginEvents[n][i]),delete this._pluginEvents[n][i]}unsubscribeAllEvents(){for(let n in this._pluginEvents)this.removeEvent(n),delete this._pluginEvents[n]}clearAllEvents(){this.unsubscribeAllEvents(),this.unwatch(),this.vm=null,this._pluginEvents=null}loadPlugin(){return!0}clear(){}};Ed();Ow();sw();var EY=vv();function bo(e){return new Proxy(e,{apply(n,i,r){return n.constructor.name==="Function"&&n instanceof Function?(console.warn('[G3W-CLIENT] class constructors must be invoked with "new"'),console.trace(),Object.assign(i,Reflect.construct(n,r))):n.apply(i,r)}})}var CY=Og(),IY=Nu(),Ri={constant:gu,core:{G3WObject:bo(Et),utils:{base:ZM,inherit:XM,XHR:ht,getUniqueDomId:ut,uniqueId:ut,throttle:Hn,debounce:Li,toRawType:wi,createFilterFormInputs:Md,noop:qi},geoutils:{createVectorLayerFromFile:EY(_S,"[G3W-CLIENT] g3wsdk.core.geoutils.createVectorLayerFromFile is deprecated"),createSelectedStyle:Hl,getAlphanumericPropertiesFromFeature:co,getQueryLayersPromisesByCoordinates:Ht.getQueryLayersPromisesByCoordinates,getMapLayersByFilter:Gr,areCoordinatesEqual:FM,splitFeature:Lw,convertSingleMultiGeometry:I_,within:A_,intersects:O_,dissolve:VM,distance:WM,Geometry:{GeometryTypes:gu.GEOMETRY_TYPES,removeZValueToOLFeatureGeometry:Ph,addZValueToOLFeatureGeometry:ig,getOLGeometry:nS,isMultiGeometry:js,isPointGeometryType:qa,isLineGeometryType:ao,isPolygonGeometryType:lo,is3DGeometry:Vl}},ApplicationService:bi,ApplicationState:V,i18n:zE,task:{TaskService:YM},data:{DataRouterService:Ht},errors:{parsers:{Server:bs.get("g3w-error")}},project:{ProjectsRegistry:Object.assign(new Et,{setters:{setCurrentProject(e){}},getProjectUrl:pf,getProjectConfigByGid:HM,getListableProjects:nc,getProject:Sc,getCurrentProject:()=>V.project})},map:{MapLayersStoreRegistry:Ec},catalog:{CatalogLayersStoresRegistry:{getLayerById:st,getLayers:Id}},layer:{LayersStore:bo(Td),Layer:bo(ai),TableLayer:bo(va),VectorLayer:bo(Tr),features:{Feature:bo(Wr),FeaturesStore:bo(kd)}},interaction:{PickCoordinatesInteraction:Hi,PickFeatureInteraction:hl},plugin:{Plugin:bo(P_),PluginsRegistry:bo(_r),PluginService:bo(F_)},input:{inputService:{handleFilterExpressionFormInput:dp,handleDefaultExpressionFormInput:xd}}},gui:{GUI:U,Panel:hi,ComponentsFactory:{build:({vueComponentObject:e,service:n,propsData:i},r={})=>new zt(r).init({vueComponentObject:e,service:n,propsData:i})},FieldsService:CY,vue:{Component:zt,Panel:hi,SearchPanel:j_,FormComponent:hp,Inputs:{G3wFormInputs:g_,G3WInput:bd,InputsComponents:{text_input:vf(),texthtml_input:kx(),textarea_input:Tx(),integer_input:Nx(),string_input:vf(),float_input:Rx(),radio_input:Mx(),check_input:Ax(),range_input:Ox(),datetimepicker_input:Px(),unique_input:Fx(),select_input:up(),media_input:Zx(),select_autocomplete_input:up(),picklayer_input:Kx(),color_input:Qx(),slider_input:Jx(),lonlat_input:ew()}},Fields:IY,Mixins:mC,services:{FormService:wd}}},ol:{interactions:{PickFeatureInteraction:hl,PickCoordinatesInteraction:Hi},controls:{},utils:{merge:(e,n)=>({...e,...n}),getScaleFromResolution:qs,getResolutionFromScale:za,createMeasureTooltip:E_,removeMeasureTooltip:pp}},info:()=>{Promise.allSettled([new Promise(e=>$script("https://unpkg.com/platform@1.3.6/platform.js",e)),new Promise(e=>bi.complete?e():bi.on("complete",e))]).finally(async()=>{let e=window.platform||{};window.console.info(` + `,data:()=>({errors:c})}},autoclose:!1}),p.length?new ol.layer.Vector({source:new ol.source.Vector({features:p}),name:e,_fields:n==="csv"?o.headers:Object.keys(p[0].getProperties()).filter(g=>so.indexOf(g)<0),id:ut(),style:u}):Promise.reject()}tv();bu();hf();function FM(e=[],n=[]){return e[0]===n[0]&&e[1]===n[1]}Fh();yu();_u();mp();function Lw({feature:e,splitfeature:n}={}){let i={feature:e.getGeometry(),split:n.getGeometry()};if(i.split.getType()!=="LineString")return[];let r=[],o=new jsts.io.OL3Parser;o.inject(ol.geom.Point,ol.geom.LineString,ol.geom.LinearRing,ol.geom.Polygon,ol.geom.MultiPoint,ol.geom.MultiLineString,ol.geom.MultiPolygon);let u=Ds(i.feature.getType()),c=ao(i.feature.getType()),f=lo(i.feature.getType()),p=f&&(u?i.feature.getPolygons():i.feature),g=c&&(u?i.feature.getLineStrings():i.feature);if(u&&(c||f)){let d=f?ol.geom.MultiPolygon:ol.geom.MultiLineString;(f?p:g).forEach(v=>{let y=Lw({splitfeature:n,feature:new ol.Feature({geometry:v})});y.length>0?y.forEach(S=>S&&r.push(new d([S.getCoordinates()]))):r.push(new d([v.getCoordinates()]))})}if(f&&!u){let d=p.getCoordinates()[0][0][2]!==void 0,v=o.read(p),y=o.read(p.getLinearRing(0)),S=o.read(i.split),w;if(p.getLinearRingCount()>1){let H;for(let re=1;reX=X===void 0?re:X.union(re)),w=X}d&&(p.getCoordinates()[0].forEach((H,X)=>y.getCoordinates()[X].z=H[2]),S.getCoordinates().forEach(H=>H.z=0));let E=y.union(S),I=new jsts.operation.polygonize.Polygonizer;I.add(E);let O=I.getPolygons().toArray();O.length>1&&O.forEach(H=>{if(w&&(H=H.difference(w)),v.intersects(H.getInteriorPoint())){let X=o.write(H),re=H.getCoordinates();if(d){re.forEach((te,ee)=>te.z=te.z===void 0?re[ee===0?ee+1:ee-1].z:te.z);let Z=[];X.getCoordinates()[0].forEach((te,ee)=>{te.push(re[ee].z),Z.push(te)}),X.setCoordinates([Z])}let z=!Ds(X.getType());u?r.push(new ol.geom.MultiPolygon(z?[X.getCoordinates()]:X.getCoordinates())):z?r.push(X):X.getCoordinates().forEach(Z=>r.push(new ol.geom.Polygon(Z)))}})}if(c&&!u){let d=i.split,v=i.feature,y=v.getCoordinates()[0][2]!==void 0,S=!1,w=[],E=new jsts.io.WKTReader,I=new ol.format.WKT,O=new jsts.io.OL3Parser;O.inject(ol.geom.Point,ol.geom.LineString,ol.geom.LinearRing,ol.geom.Polygon,ol.geom.MultiPoint,ol.geom.MultiLineString,ol.geom.MultiPolygon);let H=E.read(I.writeGeometry(d)),X=I.writeGeometry(v);y&&(X=X.replace(" Z",""));let z=E.read(X).getCoordinates(),Z=new jsts.geom.GeometryFactory,te=[],ee,ve;for(let me=0;me0,se.forEach(le=>{y&&(le.z=ve.z);let he=O.write(Z.createLineString((te.length?te:[]).concat([ve,le])));if(y){let Ke=he.getCoordinates();he.setCoordinates([[...Ke[0],ve.z],[...Ke[1],le.z]])}te.length&&(te=[]),w.push(he),ve=le}),te=te.concat([ve,ee])}let F=O.write(Z.createLineString(te));return y&&F.setCoordinates(te.map((me,L)=>{let se=F.getCoordinates()[L];return se.push(me.z),se})),w.push(F),S?w:[]}return r}yw();Tw();Nw();mp();function VM({features:e=[],index:n=0,clone:i=!1}={}){let r=new jsts.io.OL3Parser,o=e.length;if(o===0)return null;if(o===1)return e[0];let u,c=i?e[n].clone():e[n],f=c.getGeometry(),p=f.getType();if(p==="LineString"){let y=new jsts.operation.linemerge.LineMerger;for(let w=0;we===n.gid)}kg();M_();p_();nw();zi();xu();xi();var YM=new class{constructor(){this.tasks=[]}async runTask(n={}){let{method:i="GET",params:r={},url:o,taskUrl:u,interval:c=1e3,timeout:f=1/0,listener:p=()=>{}}=n;try{let g=i==="GET"?await ht.get({url:o,params:r}):await ht.post({url:o,data:r.data||{},contentType:r.contentType||"application/json"}),{result:d,task_id:v}=g;if(d){let y=setInterval(async()=>{if(f=f-c,f>0){let S;try{S=await ht.get({url:`${u}${v}`})}catch(w){S=w,console.warn(w)}p({task_id:v,timeout:!1,response:S})}else p({timeout:!0}),this.stopTask({task_id:v})},c);this.tasks.push({task_id:v,intervalId:y}),p({task_id:v,response:g})}else return Promise.reject(g)}catch(g){return console.warn(g),Promise.reject(g)}}stopTask(n={}){let i=this.tasks.find(r=>n.task_id===r.task_id);i&&clearInterval(i.intervalId)}clear(){this.tasks.forEach(({taskId:n})=>this.stopTask({taskId:n})),this.tasks.splice(0)}};bt();pw();rr();hw();fw();jh();wu();h_();_r();Yn();Jl();qs();Dx();_c();Ew();bc();T_();Ld();ap();xw();bn();function XM(e,n){console.warn("[G3W-CLIENT] g3wsdk.core.utils.inherit is deprecated"),console.trace();function i(){}i.prototype=n.prototype,e.superClass_=n.prototype,e.prototype=new i,e.prototype.constructor=e}function ZM(e){console.warn("[G3W-CLIENT] g3wsdk.core.utils.base is deprecated"),console.trace();let n=arguments.callee.caller;if(n.superClass_)return n.superClass_.constructor.name==="Function"?n.superClass_.constructor.apply(e,Array.prototype.slice.call(arguments,1)):Object.assign(e,Reflect.construct(n.superClass_.constructor,Array.prototype.slice.call(arguments,1),e.constructor));let i=!1;for(let r=e.constructor;r;r=r.superClass_?.constructor)if(r.prototype[arguments[1]]===n)i=!0;else if(i)return r.prototype[arguments[1]].apply(e,Array.prototype.slice.call(arguments,2));if(e[arguments[1]]===n)return e.constructor.prototype[arguments[1]].apply(e,Array.prototype.slice.call(arguments,2));throw Error("base called from a method of one name to a method of a different name")}mu();Ko();$o();Go();xi();Rw();Bn();k_();ln();Yn();qs();vt();xu();bt();Ko();ln();var KM=hn(Ql()),fY=1e4,P_=class extends Et{constructor({name:n=null,config:i=V.pluginsConfigs[n],service:r=null,dependencies:o=[],i18n:u=null,fontClasses:c=[],api:f={}}={}){super(),this.setName(n),this.setConfig(i),this.setLocale(u),this.setService(r),this.setDependencies(o),this.addFontClasses(c),this.setApi(f),this.setHookService(null),this._ready=!1,this.hookservices={search:U.getService("search"),tools:U.getService("tools")},this._timeout=setTimeout(()=>{V.plugins=V.plugins.filter(p=>this.name!==p),this.name&&delete V.gui.layout[this.name]},fY)}setName(n){this.name=n}getName(){return this.name}setConfig(n){this.config=wi(n)==="Object"?n:null}getConfig(n){return this.config||V.pluginsConfigs[n||this.name]}setLocale(n){n&&this.name&&Av({name:this.name,config:n})}setService(n){this.service=n,n&&n.setPlugin(this)}getService(){return this.service}setDependencies(n=[]){this.dependencies=n}setApi(n={}){this._api=n,n.getConfig=this._api.getConfig}getApi(){return this._api}setHookService(n){this._hook=n}getHookService(n="tools"){return this.hookservices[n]}setLayout(n){n=n!==void 0?n:(0,KM.default)(V.gui.layout.app);let i=n.rightpanel||{width:50,height:50,width_100:!1,height_100:!1};n.rightpanel=Object.assign(i,{width:n.rightpanel.width||i.width,height:n.rightpanel.height||i.width,width_100:!1,height_100:!1}),V.gui.layout[this.name]=n}setCurrentLayout(){V.gui.layout.__current=this.name}setReady(n){this._ready=n,this._ready&&this.setLayout(),this.emit("set-ready",n,this.name),setTimeout(()=>{clearTimeout(this._timeout),V.plugins=V.plugins.filter(i=>this.name!==i)},0)}isReady(){return new Promise(n=>{this._ready?n(this._ready):this.once("set-ready",i=>{this._ready=i,n(this._ready)})})}isCurrentProjectCompatible(n){return n===V.project.getGid()}registerPlugin(n){let i=this.isCurrentProjectCompatible(n);return i?mr.registerPlugin(this):(V.plugins=V.plugins.filter(r=>this.name!==r),clearTimeout(this._timeout)),i}getDependencyPlugins(n){return this.dependencies=n||this.dependencies,Promise.all(this.dependencies.map(i=>this.getDependencyPlugin(i)))}async getDependencyPluginsObject(n){let i={},r=await this.getDependencyPlugins(n);return this.dependencies.forEach((o,u)=>i[o]=r[u]),i}getDependencyPlugin(n){return V.pluginsConfigs[n]?new Promise(i=>{let r=mr.getPlugin(n);r&&r.isReady().then(()=>i(r.getApi()))||mr.onafter("registerPlugin",o=>{n===o.name&&o.isReady().then(()=>i(o.getApi()))})}):Promise.reject({error:"no plugin"})}setHookLoading({hook:n="tools",loading:i=!1}={}){this.getHookService(n).setLoading(i)}addToolGroup({hook:n="tools",position:i,title:r}={}){this.getHookService(n).addToolGroup(i,r)}removeToolGroup({hook:n,group:i}={}){this.getHookService(n).removeToolGroup(i.title)}addTools(n,i){let r=n.hook||"tools",o=[];return!n.action&&!n.type?this.removeToolGroup({hook:r,group:i}):(this.setHookService(r),o=(this.config.configs||[this.config]).map(u=>({icon:n.icon,type:n.type,name:u.name||n.name,html:n.html,options:n.options||{},action:n.action&&n.action.bind(this,u),loading:n.loading!==void 0?n.loading:!1,disabled:n.disabled!==void 0?n.disabled:!1,offline:n.offline!==void 0?n.offline:!0,state:n.state!==void 0?n.state:{type:null,message:null}})),this.getHookService(r).addTools(o,i)),o}setToolState({id:n,state:i={type:null,message:null}}={}){this.hookservices[this._hook].state.toolsGroups.find(r=>{let o=r.tools.find(u=>u.name===n);if(o)return o.state.type=i.type,o.state.message=i.message,!0})}removeTools(){this.hookservices[this._hook].removeTools()}createSideBarComponent(n,i={}){return i.vueComponentObject=n,i.collapsible=i.collapsible??!0,i.mobile=i.mobile??!0,i.sidebarOptions=i.sidebarOptions??{position:1},U.addComponent(new zt(i),"sidebar",i.sidebarOptions),this.once("unload",()=>U.removeComponent(i.id,"sidebar",i.sidebarOptions)),U.getComponent(i.id)}unload(){this.service&&this.service.clearAllEvents(),this.emit("unload")}load(){}getProject(){return V.project}addDependency(n){this.dependencies.push(n)}addFontClass({name:n,className:i}){Vue.prototype.g3wtemplate.addFontClass({name:n,className:i})}addFontClasses(n=[]){n.forEach(i=>this.addFontClass(i))}},F_=class extends Et{constructor(n={}){super(n),this.plugin,this._api={own:null,dependencies:{}},this._pluginEvents={},this._appEvents=[],this.currentLayout=V.gui.layout.__current,this.vm=new Vue,this.unwatch=this.vm.$watch(()=>V.gui.layout.__current,i=>this.currentLayout=i===this.name?this.currentLayout:i)}init(n={}){this.config=n}resetCurrentLayout(){V.gui.layout.__current=this.currentLayout}setPlugin(n){this.plugin=n}getPlugin(){return this.plugin}isIframe(){return V.iframe}getCurrentProject(){return V.project}getGid(){return this.config.gid&&this.config.gid.split(":")[1]}getConfig(){return this.config}setConfig(n){this.config=n}setApi({dependency:n,api:i}={}){n?this._api.dependencies[n]=i:this._api.own=i}getApi({dependency:n}={}){return n&&this._api.dependencies[n]||this._api.own}initEvents(n=[]){for(let i in n)this._pluginEvents[n[i]]={}}subscribeEvent({name:n,once:i=!1,owner:r,listener:o}={}){this._pluginEvents[n]=this._pluginEvents[n]?this._pluginEvents[n]:{},this._pluginEvents[n][r]=o,i?this.once(n,o):this.on(n,o)}triggerEvent({name:n,params:i={}}){this.emit(n,i)}unsubscribeEvent({name:n,owner:i}){this.removeEvent(n,this._pluginEvents[n][i]),delete this._pluginEvents[n][i]}unsubscribeAllEvents(){for(let n in this._pluginEvents)this.removeEvent(n),delete this._pluginEvents[n]}clearAllEvents(){this.unsubscribeAllEvents(),this.unwatch(),this.vm=null,this._pluginEvents=null}loadPlugin(){return!0}clear(){}};Ed();Ow();sw();var EY=vv();function bo(e){return new Proxy(e,{apply(n,i,r){return n.constructor.name==="Function"&&n instanceof Function?(console.warn('[G3W-CLIENT] class constructors must be invoked with "new"'),console.trace(),Object.assign(i,Reflect.construct(n,r))):n.apply(i,r)}})}var CY=Og(),IY=Nu(),Ri={constant:gu,core:{G3WObject:bo(Et),utils:{base:ZM,inherit:XM,XHR:ht,getUniqueDomId:ut,uniqueId:ut,throttle:Hn,debounce:Li,toRawType:wi,createFilterFormInputs:Md,noop:qi},geoutils:{createVectorLayerFromFile:EY(_S,"[G3W-CLIENT] g3wsdk.core.geoutils.createVectorLayerFromFile is deprecated"),createSelectedStyle:Hl,getAlphanumericPropertiesFromFeature:co,getQueryLayersPromisesByCoordinates:Ht.getQueryLayersPromisesByCoordinates,getMapLayersByFilter:zr,areCoordinatesEqual:FM,splitFeature:Lw,convertSingleMultiGeometry:I_,within:A_,intersects:O_,dissolve:VM,distance:WM,Geometry:{GeometryTypes:gu.GEOMETRY_TYPES,removeZValueToOLFeatureGeometry:Ph,addZValueToOLFeatureGeometry:ig,getOLGeometry:nS,isMultiGeometry:Ds,isPointGeometryType:qa,isLineGeometryType:ao,isPolygonGeometryType:lo,is3DGeometry:Vl}},ApplicationService:bi,ApplicationState:V,i18n:zE,task:{TaskService:YM},data:{DataRouterService:Ht},errors:{parsers:{Server:vs.get("g3w-error")}},project:{ProjectsRegistry:Object.assign(new Et,{setters:{setCurrentProject(e){}},getProjectUrl:pf,getProjectConfigByGid:HM,getListableProjects:nc,getProject:Sc,getCurrentProject:()=>V.project})},map:{MapLayersStoreRegistry:Ec},catalog:{CatalogLayersStoresRegistry:{getLayerById:st,getLayers:Id}},layer:{LayersStore:bo(Td),Layer:bo(ai),TableLayer:bo(va),VectorLayer:bo(Lr),features:{Feature:bo(Vr),FeaturesStore:bo(kd)}},interaction:{PickCoordinatesInteraction:Hi,PickFeatureInteraction:hl},plugin:{Plugin:bo(P_),PluginsRegistry:bo(mr),PluginService:bo(F_)},input:{inputService:{handleFilterExpressionFormInput:dp,handleDefaultExpressionFormInput:xd}}},gui:{GUI:U,Panel:fi,ComponentsFactory:{build:({vueComponentObject:e,service:n,propsData:i},r={})=>new zt(r).init({vueComponentObject:e,service:n,propsData:i})},FieldsService:CY,vue:{Component:zt,Panel:fi,SearchPanel:j_,FormComponent:hp,Inputs:{G3wFormInputs:g_,G3WInput:bd,InputsComponents:{text_input:vf(),texthtml_input:kx(),textarea_input:Tx(),integer_input:Nx(),string_input:vf(),float_input:Rx(),radio_input:Mx(),check_input:Ax(),range_input:Ox(),datetimepicker_input:Px(),unique_input:Fx(),select_input:up(),media_input:Zx(),select_autocomplete_input:up(),picklayer_input:Kx(),color_input:Qx(),slider_input:Jx(),lonlat_input:ew()}},Fields:IY,Mixins:mC,services:{FormService:wd}}},ol:{interactions:{PickFeatureInteraction:hl,PickCoordinatesInteraction:Hi},controls:{},utils:{merge:(e,n)=>({...e,...n}),getScaleFromResolution:js,getResolutionFromScale:za,createMeasureTooltip:E_,removeMeasureTooltip:pp}},info:()=>{Promise.allSettled([new Promise(e=>$script("https://unpkg.com/platform@1.3.6/platform.js",e)),new Promise(e=>bi.complete?e():bi.on("complete",e))]).finally(async()=>{let e=window.platform||{};window.console.info(` [g3wsdk.info] - g3w-admin: __${initConfig.version}__ @@ -1471,10 +1471,10 @@ ${Object.entries(V.pluginsConfigs).map(n=>` - ${n[0]}: __${n[1].version}__`).
  • Wydrukuj ponownie map\u0119
  • Aby uzyska\u0107 wi\u0119cej informacji, skontaktuj si\u0119 z administratorem serwera o: ℹ️ security and tainted canvases

    - `}},catalog_items:{helptext:"Kliknij indywidualn\u0105 warstw\u0119 prawym przyciskiem myszy, aby uzyska\u0107 dost\u0119p do dodatkowych funkcji",contextmenu:{zoomtolayer:"Zoom do warstwy",open_attribute_table:"Otw\xF3rz tabel\u0119 atrybut\xF3w",show_metadata:"Metadane",styles:"Style",vector_color_menu:"Ustaw/zmiana kolor",layer_opacity:"Nieprzezroczysto\u015B\u0107",filters:"Filtry"}},dataTable:{previous:"Poprzedni",next:"Nast\u0119pny",lengthMenu:"Poka\u017C menu_",info:"Pokazanie _start_ do _end_ wpis\xF3w _total_",no_data:"Brak danych",nodatafilterd:"nie znaleziono pasujacego wyniku",infoFiltered:"(Filtrowane z _max_ ca\u0142kowitych rekord\xF3w)"}}};var kY={it:tA,en:nA,fi:iA,se:rA,fr:sA,de:oA,ro:aA,pl:lA},cA=kY;vt();Yn();Jl();zs();Ah();bt();Ed();Dv();var HA=hn(uA());Yv();Nt();vt();Jl();zs();bt();bn();yr();dw();bt();function LY(e){let n=0,i=0,r=0,o=0;e.addEventListener("mousedown",function(f){[".select2-container","button","select","input","textarea"].some(p=>f.target.closest(p))||(f.preventDefault(),r=f.clientX,o=f.clientY,document.addEventListener("mouseup",u),document.addEventListener("mousemove",c))});function u(){document.removeEventListener("mouseup",u),document.removeEventListener("mousemove",c)}function c(f){f.preventDefault(),n=r-f.clientX,i=o-f.clientY,r=f.clientX,o=f.clientY,e.style.marginLeft&&(n-=parseInt(e.style.marginLeft),e.style.marginLeft=null),e.style.marginTop&&(i-=parseInt(e.style.marginTop),e.style.marginTop=null),e.style.top=e.offsetTop-i+"px",e.style.left=e.offsetLeft-n+"px"}}var TY={name:"usermessage",props:{id:{},type:{type:String,default:"info"},title:{type:String,default:null},subtitle:{type:String,default:null},position:{type:String,default:"top"},size:{type:String,default:"fullpage"},message:{type:String,default:""},textMessage:{type:Boolean,default:!1},autoclose:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},duration:{type:Number,default:2e3},closable:{type:Boolean,default:!0},iconClass:{type:String,default:null}},data(){let[e,n]=this.position.split("-");return{style:{...e==="center"?{top:0,bottom:0,maxHeight:"20%"}:{[e]:50},...{center:{left:0,right:0,margin:"auto"},right:{right:0}}[n]||{},width:{small:"325px",medium:"50%",fullpage:"100%"}[n?"small":this.size]||"100%",...{success:{backgroundColor:"#62ac62",color:"#FFF"},info:{backgroundColor:"#44a0bb",color:"#FFF"},warning:{backgroundColor:"#f29e1d",color:"#FFF"},alert:{backgroundColor:"#c34943",color:"#FFF"},tool:{backgroundColor:"#FFF",color:"#222d32","z-index":100,marginLeft:document.body.classList.contains("sidebar-collapse")?"5px":"40px"},loading:{backgroundColor:"#FFF",color:"#222d32",fontWeight:"bold"}}[this.type]}}},computed:{showheader(){return this.type!=="loading"}},methods:{addClassMobile(){return this.isMobile()&&!U.isSidebarVisible()},closeUserMessage(){this.$emit("close-usermessage")},hideShow(){}},created(){this.observe=null},async mounted(){if(this.type==="tool"&&(LY(this.$refs.user_message),this.observer=new MutationObserver(e=>{e.forEach(n=>{n.attributeName==="class"&&(this.style.marginLeft=n.target.classList.contains("sidebar-collapse")?"5px":"40px")})}),this.observer.observe(document.body,{attributes:!0})),this.autoclose){await this.$nextTick();let e=setTimeout(()=>{this.closeUserMessage(),clearTimeout(e)},this.duration)}},beforeDestroy(){this.observer&&(this.observer.disconnect(),this.observer=null)}},NY=function(){var e,n=this,i=n.$createElement,r=n._self._c||i;return r("div",{ref:"user_message",staticClass:"usermessage-content",class:(e={mobile:n.addClassMobile()},e["usermessage-"+n.type]=!0,e),style:n.style,attrs:{id:n.id}},[n.showheader?r("div",{staticClass:"usermessage-header-content"},[r("i",{staticClass:"usermessage-header-icontype",class:n.$fa(n.iconClass||n.type)}),n._v(" "),r("div",{staticClass:"usermessage-header-title"},[n._t("header",function(){return[n.title?r("h4",{directives:[{name:"t",rawName:"v-t",value:n.title,expression:"title"}]}):r("h4",[n._v(" "+n._s(n.type.toUpperCase()))]),n._v(" "),n.subtitle?r("h5",{directives:[{name:"t",rawName:"v-t",value:n.subtitle,expression:"subtitle"}],staticClass:"usermessage-header-subtitle"}):n._e()]})],2),n._v(" "),r("div",{staticClass:"usermessage-header-right"},[!n.autoclose&&n.closable?r("div",{on:{click:n.closeUserMessage}},[r("i",{staticClass:"usermessage-header-right-item",class:n.$fa("close")})]):n._e()])]):n._e(),n._v(" "),n._t("body",function(){return[n.textMessage?r("div",{staticClass:"usermessage-message"},[n._v(n._s(n.message))]):r("div",{directives:[{name:"t",rawName:"v-t",value:n.message,expression:"message"}],staticClass:"usermessage-message"})]}),n._v(" "),n._t("footer")],2)},RY=[],MY=function(e){e&&e("data-v-12c68093_0",{source:".usermessage-content[data-v-12c68093]{color:#fff;z-index:1000;position:absolute;line-height:normal;padding:3px;min-width:250px;box-shadow:0 3px 5px rgba(0,0,0,.3);border-radius:0 0 3px 3px}.usermessage-tool[data-v-12c68093]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-12c68093]{padding:0;min-width:100%}.usermessage-header-content[data-v-12c68093]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-12c68093]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-12c68093]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-12c68093],.usermessage-header-title h4[data-v-12c68093]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-12c68093]{margin:0}.usermessage-header-subtitle[data-v-12c68093]{font-weight:700;margin:5px}.usermessage-header-right[data-v-12c68093]{padding:5px}.usermessage-header-right-item[data-v-12c68093]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-12c68093]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}",map:void 0,media:void 0})},AY="data-v-12c68093",OY=void 0,PY=!1;function FY(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="UserMessage.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Fw(){let e=Fw.styles||(Fw.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` + `}},catalog_items:{helptext:"Kliknij indywidualn\u0105 warstw\u0119 prawym przyciskiem myszy, aby uzyska\u0107 dost\u0119p do dodatkowych funkcji",contextmenu:{zoomtolayer:"Zoom do warstwy",open_attribute_table:"Otw\xF3rz tabel\u0119 atrybut\xF3w",show_metadata:"Metadane",styles:"Style",vector_color_menu:"Ustaw/zmiana kolor",layer_opacity:"Nieprzezroczysto\u015B\u0107",filters:"Filtry"}},dataTable:{previous:"Poprzedni",next:"Nast\u0119pny",lengthMenu:"Poka\u017C menu_",info:"Pokazanie _start_ do _end_ wpis\xF3w _total_",no_data:"Brak danych",nodatafilterd:"nie znaleziono pasujacego wyniku",infoFiltered:"(Filtrowane z _max_ ca\u0142kowitych rekord\xF3w)"}}};var kY={it:tA,en:nA,fi:iA,se:rA,fr:sA,de:oA,ro:aA,pl:lA},cA=kY;vt();Yn();Jl();qs();Ah();bt();Ed();Dv();var HA=hn(uA());Yv();Nt();vt();Jl();qs();bt();bn();_r();dw();bt();function LY(e){let n=0,i=0,r=0,o=0;e.addEventListener("mousedown",function(f){[".select2-container","button","select","input","textarea"].some(p=>f.target.closest(p))||(f.preventDefault(),r=f.clientX,o=f.clientY,document.addEventListener("mouseup",u),document.addEventListener("mousemove",c))});function u(){document.removeEventListener("mouseup",u),document.removeEventListener("mousemove",c)}function c(f){f.preventDefault(),n=r-f.clientX,i=o-f.clientY,r=f.clientX,o=f.clientY,e.style.marginLeft&&(n-=parseInt(e.style.marginLeft),e.style.marginLeft=null),e.style.marginTop&&(i-=parseInt(e.style.marginTop),e.style.marginTop=null),e.style.top=e.offsetTop-i+"px",e.style.left=e.offsetLeft-n+"px"}}var TY={name:"usermessage",props:{id:{},type:{type:String,default:"info"},title:{type:String,default:null},subtitle:{type:String,default:null},position:{type:String,default:"top"},size:{type:String,default:"fullpage"},message:{type:String,default:""},textMessage:{type:Boolean,default:!1},autoclose:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},duration:{type:Number,default:2e3},closable:{type:Boolean,default:!0},iconClass:{type:String,default:null}},data(){let[e,n]=this.position.split("-");return{style:{...e==="center"?{top:0,bottom:0,maxHeight:"20%"}:{[e]:50},...{center:{left:0,right:0,margin:"auto"},right:{right:0}}[n]||{},width:{small:"325px",medium:"50%",fullpage:"100%"}[n?"small":this.size]||"100%",...{success:{backgroundColor:"#62ac62",color:"#FFF"},info:{backgroundColor:"#44a0bb",color:"#FFF"},warning:{backgroundColor:"#f29e1d",color:"#FFF"},alert:{backgroundColor:"#c34943",color:"#FFF"},tool:{backgroundColor:"#FFF",color:"#222d32","z-index":100,marginLeft:document.body.classList.contains("sidebar-collapse")?"5px":"40px"},loading:{backgroundColor:"#FFF",color:"#222d32",fontWeight:"bold"}}[this.type]}}},computed:{showheader(){return this.type!=="loading"}},methods:{addClassMobile(){return this.isMobile()&&!U.isSidebarVisible()},closeUserMessage(){this.$emit("close-usermessage")},hideShow(){}},created(){this.observe=null},async mounted(){if(this.type==="tool"&&(LY(this.$refs.user_message),this.observer=new MutationObserver(e=>{e.forEach(n=>{n.attributeName==="class"&&(this.style.marginLeft=n.target.classList.contains("sidebar-collapse")?"5px":"40px")})}),this.observer.observe(document.body,{attributes:!0})),this.autoclose){await this.$nextTick();let e=setTimeout(()=>{this.closeUserMessage(),clearTimeout(e)},this.duration)}},beforeDestroy(){this.observer&&(this.observer.disconnect(),this.observer=null)}},NY=function(){var e,n=this,i=n.$createElement,r=n._self._c||i;return r("div",{ref:"user_message",staticClass:"usermessage-content",class:(e={mobile:n.addClassMobile()},e["usermessage-"+n.type]=!0,e),style:n.style,attrs:{id:n.id}},[n.showheader?r("div",{staticClass:"usermessage-header-content"},[r("i",{staticClass:"usermessage-header-icontype",class:n.$fa(n.iconClass||n.type)}),n._v(" "),r("div",{staticClass:"usermessage-header-title"},[n._t("header",function(){return[n.title?r("h4",{directives:[{name:"t",rawName:"v-t",value:n.title,expression:"title"}]}):r("h4",[n._v(" "+n._s(n.type.toUpperCase()))]),n._v(" "),n.subtitle?r("h5",{directives:[{name:"t",rawName:"v-t",value:n.subtitle,expression:"subtitle"}],staticClass:"usermessage-header-subtitle"}):n._e()]})],2),n._v(" "),r("div",{staticClass:"usermessage-header-right"},[!n.autoclose&&n.closable?r("div",{on:{click:n.closeUserMessage}},[r("i",{staticClass:"usermessage-header-right-item",class:n.$fa("close")})]):n._e()])]):n._e(),n._v(" "),n._t("body",function(){return[n.textMessage?r("div",{staticClass:"usermessage-message"},[n._v(n._s(n.message))]):r("div",{directives:[{name:"t",rawName:"v-t",value:n.message,expression:"message"}],staticClass:"usermessage-message"})]}),n._v(" "),n._t("footer")],2)},RY=[],MY=function(e){e&&e("data-v-12c68093_0",{source:".usermessage-content[data-v-12c68093]{color:#fff;z-index:1000;position:absolute;line-height:normal;padding:3px;min-width:250px;box-shadow:0 3px 5px rgba(0,0,0,.3);border-radius:0 0 3px 3px}.usermessage-tool[data-v-12c68093]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-12c68093]{padding:0;min-width:100%}.usermessage-header-content[data-v-12c68093]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-12c68093]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-12c68093]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-12c68093],.usermessage-header-title h4[data-v-12c68093]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-12c68093]{margin:0}.usermessage-header-subtitle[data-v-12c68093]{font-weight:700;margin:5px}.usermessage-header-right[data-v-12c68093]{padding:5px}.usermessage-header-right-item[data-v-12c68093]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-12c68093]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}",map:void 0,media:void 0})},AY="data-v-12c68093",OY=void 0,PY=!1;function FY(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="UserMessage.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function Fw(){let e=Fw.styles||(Fw.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var DY=FY({render:NY,staticRenderFns:RY},MY,TY,AY,PY,OY,!1,Fw,void 0,void 0),dA=DY;var qA=hn(jw());Nt();_a();vt();bt();yc();qn();ln();var zA=hn(jA());function nX(e){let n=e.querySelector("li.title");if(!n||e._drag)return;e._drag=!0;let i=0,r=0,o=0,u=0;n.addEventListener("mousedown",function(p){[".select2-container","button","select","input","textarea"].some(g=>p.target.closest(g))||(p.preventDefault(),o=p.clientX,u=p.clientY,document.addEventListener("mouseup",c),document.addEventListener("mousemove",f))});function c(){document.removeEventListener("mouseup",c),document.removeEventListener("mousemove",f)}function f(p){p.preventDefault(),i=o-p.clientX,r=u-p.clientY,o=p.clientX,u=p.clientY,e.style.marginLeft&&(i-=parseInt(e.style.marginLeft),e.style.marginLeft=null),e.style.marginTop&&(r-=parseInt(e.style.marginTop),e.style.marginTop=null),e.style.top=e.offsetTop-r+"px",e.style.left=e.offsetLeft-i+"px"}}var iX={name:"catalog-context-menu",props:{external:{type:Object}},data(){return{ApplicationState:V,layer:null,layer_style:null,top:0,left:0,project_menu:!1,layer_menu:!1}},computed:{edit_url(){return V.project.getState().edit_url},layers_url(){return V.project.getState().layers_url}},components:{"chrome-picker":qA.Chrome},directives:{"click-outside":{bind(e,n,i){this.event=r=>{e===r.target||e.contains(r.target)||(r.stopPropagation(),i.context[n.expression](r))},document.body.addEventListener("click",this.event,!0)},unbind(){document.body.removeEventListener("click",this.event,!0)}}},methods:{async onShowContextMenu(e,n){this.closeMenu(),await this.$nextTick(),this.left=e.x;let i=!(n||{}).nodes&&n;this.layer=i||null,this.layer_menu=!!i,this.project_menu=!i,await this.$nextTick(),this.top=e.target.getBoundingClientRect().top-this.$refs.menu.clientHeight+e.target.clientHeight/2,$('.click-to-copy[data-toggle="tooltip"]').tooltip(),[this.$refs.download_menu,this.$refs.ogc_menu].forEach(r=>r&&r.classList.toggle("inline-submenu",r.querySelector("ul").children.length===1)),nX(this.$refs.menu)},closeMenu(){this.layer_menu=!1,this.project_menu=!1},onChangeColor(e){this.layer.color=e,this.$refs.layer_color.style.backgroundColor=e.hex;let n=U.getService("map").getLayerByName(this.layer.name||""),i=n.getStyle();i._g3w_options.color=e,n.setStyle(i)},canShowWmsUrl(e){let n=st(e);return n&&!n.isType("table")&&!!n.getFullWmsUrl()},canShowWfsUrl(e){let n=st(e);return n&&!n.isType("table")&&n.isWfsActive()},canDownload(e,n){let i=st(n);return i&&i["is"+e+"Downloadable"]()},getWmsUrl(e){return st(e).getCatalogWmsUrl()},getWfsUrl(e){return st(e).getCatalogWfsUrl()},getWfs3Url(e){return st(e).getCatalogWfs3Url()},copyUrl(e,n){let i=this[`get${e}Url`](this.layer.id),r=document.createElement("a"),o=document.createElement("input");r.href=i,o.value=r.href,document.body.appendChild(o),o.select(),document.execCommand("copy"),$(n).attr("data-original-title",He("sdk.catalog.menu.wms.copied")).tooltip("show"),$(n).attr("title",this.copywmsurltooltip).tooltip("fixTitle"),o.remove(),r.remove(),setTimeout(()=>{$('[data-toggle="tooltip"]').tooltip("destroy"),this.closeMenu()},600)},async download(e,n,i=!1){V.download=!0;try{await st(n)["get"+e]({data:i?{map_extent:U.getService("map").getMapExtent().toString()}:void 0})}catch{U.notify.error(He("info.server_error"))}V.download=!1,this.closeMenu()},async downloadExternal(e){V.download=!0;let n=e&&await fetch(e,{headers:{"Access-Control-Expose-Headers":"Content-Disposition"},signal:AbortSignal.timeout(ji)});if(!n?.ok)throw(await n.json()).message;Vr(await n.blob(),(n.headers.get("content-disposition")||"filename=g3w_download_file").split("filename=").at(-1)),V.download=!1},setLayerPosition(e){if(e!==this.layer.position){this.layer.position=e;let n=U.getService("map");n.getLayerById(this.layer.id).setZIndex({top:n.layersCount,bottom:0}[e]),n.emit("change-layer-position-map",{id:this.layer.id,position:e}),this.closeMenu()}},zoomToLayer(e){try{U.getService("map").goToBBox([e.bbox.minx,e.bbox.miny,e.bbox.maxx,e.bbox.maxy],e.epsg)}catch(n){console.warn(n),U.showUserMessage({type:"alert",message:`${n.message}`,textMessage:!0})}this.closeMenu()},canEdit(e){return e?!e.external&&st(e.id).isEditable()&&st(e.id).config.editing.visible:g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing")},startEditing(e){this.closeMenu();let n=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing");n.showPanel(e?{toolboxes:[e.id]}:void 0),e&&n.startEditing(e.id)},canZoom(e){return e.bbox&&[e.bbox.minx,e.bbox.miny,e.bbox.maxx,e.bbox.maxy].find(n=>n>0)},getGeometryType(e,n=!1){let i=n?U.getService("catalog").state.external.vector.find(r=>r.id===e):st(e);if(i){let r=n?i.geometryType:i.config.geometrytype;return i&&r!=="NoGeometry"&&r||""}return""},async downloadExternalShapefile(e){V.download=!0;let n=U.getService("map").getLayerByName(e.name).getSource().getFeatures(),i=e.name.split(`.${e.type}`)[0],r=await zA.default.zip(new ol.format.GeoJSON().writeFeaturesObject(n,{dataProjection:e.crs,featureProjection:U.getService("map").getEpsg()||e.crs}),{outputType:"blob",prj:e.crs,folder:i,types:{point:i,mulipoint:i,polygon:i,multipolygon:i,line:i,polyline:i,multiline:i}});Vr(r,i),await this.$nextTick(),V.download=!1,this.closeMenu()},showAttributeTable(e){st(e).openAttributeTable(),this.closeMenu()},async showMetadata(e){this.closeMenu(),$("#modal-metadata").modal("show"),e&&setTimeout(()=>{document.querySelector('#project-catalog [href="#metadata_layers"]').click(),document.querySelector('#metadata_layers [data-target="#'+e+'"]').click()})},setLayerStyle(e){let n=!1;this.layer.styles.forEach((r,o)=>{o===e?(this.layer_style=r.name,n=!r.current,r.current=!0):r.current=!1});let i=n&&st(this.layer.id);i&&(nn.$emit("layer-change-style",{layerId:this.layer.id,style:this.layer_style}),i.change()),this.closeMenu()},async setLayerFilter(e){let n=this.layer.filter.current===null||this.layer.filter.current.fid!==e.fid,i=st(this.layer.id);n?await i.applyFilter(e):await i.deleteFilterToken(),i.change(),this.closeMenu()},async deleteFilter(e){let n=st(this.layer.id),i=e===this.layer.fid;n&&(await n.deleteFilterToken(e),i&&n.change(),this.closeMenu())},async showMenu(e){let n=e.target.closest("li"),i=n&&n.querySelector("ul");if(i){let r=i.offsetHeight+i.getBoundingClientRect().top>=this.$refs.menu.offsetHeight+this.$refs.menu.getBoundingClientRect().top;i.style.top=i.offsetHeight>this.$refs.menu.offsetHeight?0:void 0,i.style.left=this.$refs.menu.offsetWidth-2+"px",i.style.maxHeight=this.$refs.menu.offsetHeight+"px",i.style.bottom=r?0:void 0,i.style.marginTop=r?void 0:"-5px",i.style.overflowY="auto"}},canOpenAttributeTable(e){return e.openattributetable},isExternalLayer(e){return!e.projectLayer},isExternalWMSLayer(e){return!e.projectLayer&&e._type==="wms"},isExternalVectorLayer(e){return!e.projectLayer&&e._type!=="wms"},canShowStylesMenu(e){return e.geolayer&&e.styles&&e.styles.length>1},canShowFiltersMenu(e){return e.filters&&e.filters.length>0},hasMetadata(e){return e.metadata},canShowOpacityPicker(e){return e.geolayer&&e.visible},onLayerOpacity(){if(this.isExternalWMSLayer(this.layer)){let e=U.getService("map").getLayerById(this.layer.id);e&&(e.setOpacity(this.layer.opacity),U.getService("map").emit("change-layer-opacity",{id:this.layer.id,opacity:this.layer.opacity}))}else{let e=st(this.layer.id);e&&(nn.$emit("layer-change-opacity",{layerId:this.layer.id}),e.change())}}},created(){nn.$on("context-menu",this.onShowContextMenu),document.addEventListener("keyup",e=>e.key==="Escape"&&this.closeMenu())}},rX=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.layer_menu||e.project_menu?i("ul",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeMenu,expression:"closeMenu"}],ref:"menu",staticClass:"catalog-context-menu",style:{top:e.top+"px",left:e.left+"px"},attrs:{id:"layer-context-menu",tabindex:"-1"},on:{mouseover:e.showMenu}},[i("li",{staticClass:"title"},[e.project_menu?i("div",[e._v("G3W-ADMIN "+e._s(e.ApplicationState.project.getName()))]):i("div",[e._v(` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var DY=FY({render:NY,staticRenderFns:RY},MY,TY,AY,PY,OY,!1,Fw,void 0,void 0),dA=DY;var qA=hn(jw());Nt();_a();vt();bt();yc();Bn();ln();var zA=hn(jA());function nX(e){let n=e.querySelector("li.title");if(!n||e._drag)return;e._drag=!0;let i=0,r=0,o=0,u=0;n.addEventListener("mousedown",function(p){[".select2-container","button","select","input","textarea"].some(g=>p.target.closest(g))||(p.preventDefault(),o=p.clientX,u=p.clientY,document.addEventListener("mouseup",c),document.addEventListener("mousemove",f))});function c(){document.removeEventListener("mouseup",c),document.removeEventListener("mousemove",f)}function f(p){p.preventDefault(),i=o-p.clientX,r=u-p.clientY,o=p.clientX,u=p.clientY,e.style.marginLeft&&(i-=parseInt(e.style.marginLeft),e.style.marginLeft=null),e.style.marginTop&&(r-=parseInt(e.style.marginTop),e.style.marginTop=null),e.style.top=e.offsetTop-r+"px",e.style.left=e.offsetLeft-i+"px"}}var iX={name:"catalog-context-menu",props:{external:{type:Object}},data(){return{ApplicationState:V,layer:null,layer_style:null,top:0,left:0,project_menu:!1,layer_menu:!1}},computed:{edit_url(){return V.project.getState().edit_url},layers_url(){return V.project.getState().layers_url}},components:{"chrome-picker":qA.Chrome},directives:{"click-outside":{bind(e,n,i){this.event=r=>{e===r.target||e.contains(r.target)||(r.stopPropagation(),i.context[n.expression](r))},document.body.addEventListener("click",this.event,!0)},unbind(){document.body.removeEventListener("click",this.event,!0)}}},methods:{async onShowContextMenu(e,n){this.closeMenu(),await this.$nextTick(),this.left=e.x;let i=!(n||{}).nodes&&n;this.layer=i||null,this.layer_menu=!!i,this.project_menu=!i,await this.$nextTick(),this.top=e.target.getBoundingClientRect().top-this.$refs.menu.clientHeight+e.target.clientHeight/2,$('.click-to-copy[data-toggle="tooltip"]').tooltip(),[this.$refs.download_menu,this.$refs.ogc_menu].forEach(r=>r&&r.classList.toggle("inline-submenu",r.querySelector("ul").children.length===1)),nX(this.$refs.menu)},closeMenu(){this.layer_menu=!1,this.project_menu=!1},onChangeColor(e){this.layer.color=e,this.$refs.layer_color.style.backgroundColor=e.hex;let n=U.getService("map").getLayerByName(this.layer.name||""),i=n.getStyle();i._g3w_options.color=e,n.setStyle(i)},canShowWmsUrl(e){let n=st(e);return n&&!n.isType("table")&&!!n.getFullWmsUrl()},canShowWfsUrl(e){let n=st(e);return n&&!n.isType("table")&&n.isWfsActive()},canDownload(e,n){let i=st(n);return i&&i["is"+e+"Downloadable"]()},getWmsUrl(e){return st(e).getCatalogWmsUrl()},getWfsUrl(e){return st(e).getCatalogWfsUrl()},getWfs3Url(e){return st(e).getCatalogWfs3Url()},copyUrl(e,n){let i=this[`get${e}Url`](this.layer.id),r=document.createElement("a"),o=document.createElement("input");r.href=i,o.value=r.href,document.body.appendChild(o),o.select(),document.execCommand("copy"),$(n).attr("data-original-title",He("sdk.catalog.menu.wms.copied")).tooltip("show"),$(n).attr("title",this.copywmsurltooltip).tooltip("fixTitle"),o.remove(),r.remove(),setTimeout(()=>{$('[data-toggle="tooltip"]').tooltip("destroy"),this.closeMenu()},600)},async download(e,n,i=!1){V.download=!0;try{await st(n)["get"+e]({data:i?{map_extent:U.getService("map").getMapExtent().toString()}:void 0})}catch{U.notify.error(He("info.server_error"))}V.download=!1,this.closeMenu()},async downloadExternal(e){V.download=!0;let n=e&&await fetch(e,{headers:{"Access-Control-Expose-Headers":"Content-Disposition"},signal:AbortSignal.timeout(ji)});if(!n?.ok)throw(await n.json()).message;Ur(await n.blob(),(n.headers.get("content-disposition")||"filename=g3w_download_file").split("filename=").at(-1)),V.download=!1},setLayerPosition(e){if(e!==this.layer.position){this.layer.position=e;let n=U.getService("map");n.getLayerById(this.layer.id).setZIndex({top:n.layersCount,bottom:0}[e]),n.emit("change-layer-position-map",{id:this.layer.id,position:e}),this.closeMenu()}},zoomToLayer(e){try{U.getService("map").goToBBox([e.bbox.minx,e.bbox.miny,e.bbox.maxx,e.bbox.maxy],e.epsg)}catch(n){console.warn(n),U.showUserMessage({type:"alert",message:`${n.message}`,textMessage:!0})}this.closeMenu()},canEdit(e){return e?!e.external&&st(e.id).isEditable()&&st(e.id).config.editing.visible:g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing")},startEditing(e){this.closeMenu();let n=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing");n.showPanel(e?{toolboxes:[e.id]}:void 0),e&&n.startEditing(e.id)},canZoom(e){return e.bbox&&[e.bbox.minx,e.bbox.miny,e.bbox.maxx,e.bbox.maxy].find(n=>n>0)},getGeometryType(e,n=!1){let i=n?U.getService("catalog").state.external.vector.find(r=>r.id===e):st(e);if(i){let r=n?i.geometryType:i.config.geometrytype;return i&&r!=="NoGeometry"&&r||""}return""},async downloadExternalShapefile(e){V.download=!0;let n=U.getService("map").getLayerByName(e.name).getSource().getFeatures(),i=e.name.split(`.${e.type}`)[0],r=await zA.default.zip(new ol.format.GeoJSON().writeFeaturesObject(n,{dataProjection:e.crs,featureProjection:U.getService("map").getEpsg()||e.crs}),{outputType:"blob",prj:e.crs,folder:i,types:{point:i,mulipoint:i,polygon:i,multipolygon:i,line:i,polyline:i,multiline:i}});Ur(r,i),await this.$nextTick(),V.download=!1,this.closeMenu()},showAttributeTable(e){st(e).openAttributeTable(),this.closeMenu()},async showMetadata(e){this.closeMenu(),$("#modal-metadata").modal("show"),e&&setTimeout(()=>{document.querySelector('#project-catalog [href="#metadata_layers"]').click(),document.querySelector('#metadata_layers [data-target="#'+e+'"]').click()})},setLayerStyle(e){let n=!1;this.layer.styles.forEach((r,o)=>{o===e?(this.layer_style=r.name,n=!r.current,r.current=!0):r.current=!1});let i=n&&st(this.layer.id);i&&(nn.$emit("layer-change-style",{layerId:this.layer.id,style:this.layer_style}),i.change()),this.closeMenu()},async setLayerFilter(e){let n=this.layer.filter.current===null||this.layer.filter.current.fid!==e.fid,i=st(this.layer.id);n?await i.applyFilter(e):await i.deleteFilterToken(),i.change(),this.closeMenu()},async deleteFilter(e){let n=st(this.layer.id),i=e===this.layer.fid;n&&(await n.deleteFilterToken(e),i&&n.change(),this.closeMenu())},async showMenu(e){let n=e.target.closest("li"),i=n&&n.querySelector("ul");if(i){let r=i.offsetHeight+i.getBoundingClientRect().top>=this.$refs.menu.offsetHeight+this.$refs.menu.getBoundingClientRect().top;i.style.top=i.offsetHeight>this.$refs.menu.offsetHeight?0:void 0,i.style.left=this.$refs.menu.offsetWidth-2+"px",i.style.maxHeight=this.$refs.menu.offsetHeight+"px",i.style.bottom=r?0:void 0,i.style.marginTop=r?void 0:"-5px",i.style.overflowY="auto"}},canOpenAttributeTable(e){return e.openattributetable},isExternalLayer(e){return!e.projectLayer},isExternalWMSLayer(e){return!e.projectLayer&&e._type==="wms"},isExternalVectorLayer(e){return!e.projectLayer&&e._type!=="wms"},canShowStylesMenu(e){return e.geolayer&&e.styles&&e.styles.length>1},canShowFiltersMenu(e){return e.filters&&e.filters.length>0},hasMetadata(e){return e.metadata},canShowOpacityPicker(e){return e.geolayer&&e.visible},onLayerOpacity(){if(this.isExternalWMSLayer(this.layer)){let e=U.getService("map").getLayerById(this.layer.id);e&&(e.setOpacity(this.layer.opacity),U.getService("map").emit("change-layer-opacity",{id:this.layer.id,opacity:this.layer.opacity}))}else{let e=st(this.layer.id);e&&(nn.$emit("layer-change-opacity",{layerId:this.layer.id}),e.change())}}},created(){nn.$on("context-menu",this.onShowContextMenu),document.addEventListener("keyup",e=>e.key==="Escape"&&this.closeMenu())}},rX=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.layer_menu||e.project_menu?i("ul",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeMenu,expression:"closeMenu"}],ref:"menu",staticClass:"catalog-context-menu",style:{top:e.top+"px",left:e.left+"px"},attrs:{id:"layer-context-menu",tabindex:"-1"},on:{mouseover:e.showMenu}},[i("li",{staticClass:"title"},[e.project_menu?i("div",[e._v("G3W-ADMIN "+e._s(e.ApplicationState.project.getName()))]):i("div",[e._v(` `+e._s(e.layer.title)+` `),i("div",{staticStyle:{"font-weight":"normal","font-size":"0.8em"}},[e._v(` `+e._s(e.getGeometryType(e.layer.id,e.layer.external))+` @@ -1522,7 +1522,7 @@ ${Object.entries(V.pluginsConfigs).map(n=>` - ${n[0]}: __${n[1].version}__`). `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var dX=uX({render:rX,staticRenderFns:sX},oX,iX,aX,cX,lX,!1,Hw,void 0,void 0),GA=dX;var hX={name:"modal-login",data(){return{show:!0}},computed:{login_url(){return window.initConfig.user.login_url}},methods:{onIframeLoaded(e){let n=this.$refs.login_iframe.contentWindow.g3wsdk&&this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;n&&n.user&&n.user.logout_url&&(this.show=!1,window.location.reload())}}},fX=function(){var e=this,n=e.$createElement,i=e._self._c||n;return e.show?i("div",{staticClass:"modal fade",attrs:{id:"modal-login",tabindex:"-1",role:"document"}},[i("div",{staticClass:"modal-dialog",staticStyle:{height:"60%",width:"60%"}},[i("div",{staticClass:"modal-content",staticStyle:{height:"100%",background:"#d2d6de",display:"grid","grid-template-areas":"'iframe'","place-items":"center"}},[i("button",{staticClass:"close",staticStyle:{position:"absolute",inset:"0 0 auto auto",padding:"10px 15px"},attrs:{type:"button","data-dismiss":"modal"}},[e._v("\xD7")]),e._v(" "),i("span",{staticStyle:{"grid-area":"iframe"}},[e._v("Loading..")]),e._v(" "),i("iframe",{ref:"login_iframe",staticStyle:{border:"0",width:"100%",height:"100%","grid-area":"iframe"},attrs:{loading:"lazy",src:e.login_url},on:{load:e.onIframeLoaded}})])])]):e._e()},pX=[],gX=void 0,mX=void 0,_X=void 0,yX=!1;function vX(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};return d.__file="ModalLogin.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r,d}var bX=vX({render:fX,staticRenderFns:pX},gX,hX,mX,yX,_X,!1,void 0,void 0,void 0),$A=bX;var BA=hn(jw()),Yw=hn(rg());Nt();vt();uo();bt();bn();xi();R_();Object.entries({RasterLayer:lr}).forEach(([e,n])=>console.assert(n!==void 0,`${e} is undefined`));function xX(e,n=","){let i=new RegExp("("+n+`|\r? |\r|^)(?:"([^"]*(?:""[^"]*)*)"|([^"`+n+`\r ]*))`,"gi"),r=[[]],o=null;for(;(o=i.exec(e))&&o[0]!==`\r -`;)o[1].length&&o[1]!==n&&r.push([]),r.at(-1).push(o[2]?o[2].replace(new RegExp('""',"g"),'"'):o[3]);return r}var wX={name:"modal-addlayer",data(){return{layer_type:void 0,file_type:null,layer_name:null,layer_crs:V.project.getProjection().getCode(),layer_color:{hex:"#194d33",rgba:{r:25,g:77,b:51,a:1},a:1},wms_config:null,wms_urls:[],wms_projection:null,wms_styles:[],wms_layers:[],wms_visible:!0,wms_opacity:1,url:null,id:null,olLayer:null,map_crs:V.project.getProjection().getCode(),layer_data:null,position:"top",persistent:!1,loading:!1,fields:[],field:null,csv_x:null,csv_y:null,csv_wkt:null,csv_separator:",",csv_loading:!1,name:void 0,title:null,layers:[],projections:[],error_message:"",parse_errors:[]}},components:{"chrome-picker":BA.Chrome},computed:{feature_count(){return this.olLayer&&this.olLayer.getSource().getFeatures().length||0}},watch:{wms_styles(e=[]){let n=this.wms_config||{},i=(n.layers||[]).filter((u,c)=>e.includes(c.toString())),r=(n.layers||[]).findLastIndex(u=>u==i.at(-1)),o=(n.layers||[]).map(({crss:u})=>u.map(c=>`EPSG:${c.epsg}`).sort())[r];if(i.length===0?(this.wms_projection=null,this.projections=[]):i.length===1?(this.wms_projection=o[0],this.projections=o):this.projections=this.projections.filter(u=>o.includes(u)),i.length){let u=0,c=` (${i.map(p=>p.title).join(" + ")})`,f=c;for(;U.getService("map").getLayerByName(n.title+f);)f=` ${c} (${++u})`;this.name=n.title+f}this.wms_layers=i},async wms_projection(){await this.$nextTick();let e=this.wms_config||{},n=(e.layers||[]).map(({crss:i})=>i.map(r=>`EPSG:${r.epsg}`).sort());this.layers=this.wms_projection===null?e.layers:e.layers.filter((i,r)=>n[r].includes(this.wms_projection))},async layer_type(e,n){e&&n&&(this.layer_type=void 0,await this.$nextTick(),this.layer_type=e),n==="file"&&this.unloadFile(),n==="wms"&&this.unloadWMS()},url(){this.url&&!this.wms_config&&this.wms_urls.some(e=>e.url==this.url)?this.id=this.wms_urls.find(e=>e.url==this.url).id:this.url||(this.id="")}},methods:{onChangeColor(e){this.layer_color=e},async parseFile(){let e=this.$refs.input_file;if(!e.accept.split(",").includes(`.${e.files[0].name.split(".").at(-1).toLowerCase()}`)){this.error_message="sdk.errors.unsupported_format";return}if(U.getService("map").getLayerByName(e.files[0].name)){this.error_message="layer_is_added";return}try{this.error_message="",this.parse_errors=[],this.layer_name=e.files[0].name,this.file_type=e.files[0].name.split(".").at(-1).toLowerCase(),this.layer_data=null;let n=[],i;if((this.fields||[]).splice(0),this.file_type==="kmz"){let r=new Yw.default;r.load(await e.files[0].arrayBuffer(e.files[0])),i=r.file(/.kml$/i).at(-1).asText()}if(this.file_type==="zip"){let r=await e.files[0].arrayBuffer(),o={},u=await Yw.default.loadAsync(e.files[0]);for(let c in u.files)if(/.+\.(shp|dbf|json|prj|cpg)$/i.test(c)){let f=(c.split(".").at(-1)||"").toLowerCase();o[f]=await u.files[c].async(["shp","dbf"].includes(f)?"arraybuffer":"text")}i=JSON.stringify(await lg(o))}if(this.file_type==="csv"){this.csv_loading=!0,i=xX(await e.files[0].text(),this.csv_separator);let r=["x","lng","longitude","longitudine"],o=["y","lat","latitude","latitudine"];this.fields=i.shift();let u=this.fields.findIndex(p=>p.toLowerCase()==="wkt"),c=this.fields.findIndex(p=>r.includes(p.toLowerCase())),f=this.fields.findIndex(p=>o.includes(p.toLowerCase()));this.csv_wkt=this.csv_wkt||this.fields[u],this.csv_x=this.csv_wkt||this.csv_x||this.fields[c]||this.fields[0],this.csv_y=this.csv_wkt||this.csv_y||this.fields[f]||this.fields[1],i.forEach((p,g)=>{let d=Number(p[c]),v=Number(p[f]);if(!this.csv_wkt&&(Number.isNaN(d)||Number.isNaN(v)))return this.parse_errors.push({row:g+1,value:i[g]});try{let y=new ol.Feature({geometry:new ol.format.WKT().readGeometry(this.csv_wkt?p[u]:`POINT (${d} ${v})`,{dataProjection:this.layer_crs,featureProjection:U.getService("map").getEpsg()}),...p.reduce((S,w,E)=>(S[this.fields[E]]=w,S),{})});y.setId(g),n.push(y)}catch(y){console.warn(y)}}),this.csv_loading=!1}i||(i=await e.files[0].text()||{}),this.layer_crs=["kml","kmz"].includes(this.file_type)?"EPSG:4326":this.layer_crs,this.layer_data=i,this.file_type!=="csv"&&(n={gpx:new ol.format.GPX,gml:new ol.format.WMSGetFeatureInfo,geojson:new ol.format.GeoJSON,zip:new ol.format.GeoJSON,kml:new ol.format.KML({extractStyles:!1}),kmz:new ol.format.KML({extractStyles:!1})}[this.file_type].readFeatures(i,{dataProjection:this.layer_crs,featureProjection:U.getService("map").getEpsg()||this.layer_crs})),this.file_type==="zip"&&this.layer_crs!=="EPSG:4326"&&n.forEach(r=>r.getGeometry().transform("EPSG:4326",this.layer_crs)),["kml","kmz"].includes(this.file_type)&&n.forEach(r=>r.unset("styleUrl")),n.length>0&&(this.olLayer=new ol.layer.Vector({source:new ol.source.Vector({features:n}),name:this.layer_name,id:ut()}),this.fields=this.file_type==="csv"?this.fields:Object.keys(n[0].getProperties()).filter(r=>oo.indexOf(r)<0))}catch(n){console.warn(n),this.error_message="sdk.errors.add_external_layer"}},async addLayer(){if(this.loading=!0,this.layer_type==="wms"){let e=(this.name||`wms_${ut()}`).trim();try{let n=this.getLocalWMSData();this.wms_config&&(n.wms[this.url]||[]).some(o=>o.layers.length===this.wms_layers.length&&this.wms_layers.every(u=>o.layers.includes(u.name)))&&await this.fetchWMS(this.url);let r={url:this.url,name:e,layers:this.wms_layers.map(o=>o.name),epsg:this.wms_projection,position:this.position,visible:this.wms_visible,opacity:+this.wms_opacity};n.wms[this.url]=n.wms[this.url]||[],n.wms[this.url].push(r),this.updateLocalWMSData(n);try{await this._addExternalWMSLayer(r)}catch(o){console.warn(o),U.getService("map").removeExternalLayer(e),this.deleteWMS(e),setTimeout(()=>{U.showUserMessage({type:"warning",message:"sidebar.wms.layer_add_error"})})}}catch(n){console.warn(n)}this.wms_config&&(this.unloadWMS(),$("#modal-addlayer").modal("hide"))}if(this.layer_type==="file"){try{await Zn.registerProjection(this.layer_crs)}catch(e){console.warn(e),this.error_message=`sdk.errors.${e}`;return}try{await U.getService("map").addExternalLayer(this.olLayer,{crs:this.layer_crs,position:this.position,color:this.layer_color,field:this.field,persistent:!!this.persistent,type:this.file_type}),$(this.$refs.modal_addlayer).modal("hide"),this.unloadFile()}catch(e){console.warn(e),this.error_message="sdk.errors.add_external_layer"}}this.loading=!1},unloadFile(){this.error_message="",this.parse_errors=[],this.loading=!1,this.layer_name=null,this.file_type=null,this.layer_crs=U.getService("map").getCrs(),this.layer_color={hex:"#194d33",rgba:{r:25,g:77,b:51,a:1},a:1},this.layer_data=null,this.olLayer=null,this.fields=[],this.field=null,this.csv_x=null,this.csv_y=null,this.csv_wkt=null,this.$refs.input_file&&(this.$refs.input_file.value=null)},unloadWMS(){let e=this.url;this.url="",this.error_message="",this.wms_config=null,this.wms_layers=[],this.wms_opacity=1,this.wms_visible=!0,this.wms_styles=[],this.name=null,this.loading=!1,setTimeout(()=>this.url=e)},async addWmsURL(){this.loading=!0;let e={url:this.url,id:this.id,show:!0},n=this.wms_urls.find(i=>i.url===this.url);try{if(await this.fetchWMS(this.url),!n){let i=this.getLocalWMSData();this.wms_urls.push(e),i.urls=this.wms_urls,this.updateLocalWMSData(i)}}catch(i){console.warn(i)}this.loading=!1},deleteWmsUrl(e){this.wms_urls=this.wms_urls.filter(i=>e!==i.id);let n=this.getLocalWMSData();n.urls=this.wms_urls,this.updateLocalWMSData(n)},_addExternalWMSLayer({url:e,layers:n,name:i,epsg:r=U.getService("map").getEpsg(),position:o="top",opacity:u,visible:c=!0}={}){return new Promise((f,p)=>{let g=new lr({id:i||ut(),layers:n,projection:ol.proj.get(r),url:e}),d=g.getOLLayer();d.getSource().once("imageloadend",f),d.getSource().once("imageloaderror",p),d.getSource().on("imageloadend",()=>g.emit("loadstart")),d.getSource().on("imageloadend",()=>g.emit("loadend")),d.getSource().on("imageloaderror",()=>g.emit("loaderror")),U.getService("map").addExternalLayer(g,{position:o,opacity:u,visible:c}),(!this.wms_visible||!this.wms_opacity)&&setTimeout(f,1e3)})},async fetchWMS(e){this.loading=!0;try{let n=await ht.post({url:`${window.initConfig.interfaceowsurl}`,contentType:"application/json",data:JSON.stringify({url:e||this.url,service:"wms"})});if(!n.result)throw"invalid response";n.wmsurl=e||this.url,n.methods&&n.methods.GetMap?this.url=(n.methods.GetMap.urls||[]).find(o=>o.type==="Get").url:this.url=n.wmsurl,this.title=n.title;let i=0,r="";for(;U.getService("map").getLayerByName(n.title+r);)r=` (${++i})`;this.name=n.title+r,n.layers.forEach(({crss:o})=>o.forEach(u=>Zn.get(u))),this.layers=n.layers,this.wms_config=n,this.error_message=null}catch(n){console.warn(n),this.error_message=n}this.loading=!1},deleteWMS(e){let n=this.getLocalWMSData();Object.keys(n.wms||{}).forEach(i=>{let r=n.wms[i].findIndex(o=>o.name==e);r>=0&&n.wms[i].splice(r,1),n.wms[i].length||delete n.wms[i]}),this.updateLocalWMSData(n)},changeLayerData(e,n={}){let i=this.getLocalWMSData();Object.keys(i.wms).find(r=>{let o=i.wms[r].findIndex(u=>u.name==e);if(o!==-1)return i.wms[r][o][n.key]=n.value,!0}),this.updateLocalWMSData(i)},getLocalWMSData(){let e=window.localStorage.getItem("externalwms");return((e?JSON.parse(e):void 0)||{})[V.project.getId()]},updateLocalWMSData(e){let n=window.localStorage.getItem("externalwms"),i=(n?JSON.parse(n):void 0)||{};i[V.project.getId()]=e;try{window.localStorage.setItem("externalwms",JSON.stringify(i))}catch(r){console.warn(r)}},templateResultLayers(e){let n=this.layers[e.id];return n?$(` +`;)o[1].length&&o[1]!==n&&r.push([]),r.at(-1).push(o[2]?o[2].replace(new RegExp('""',"g"),'"'):o[3]);return r}var wX={name:"modal-addlayer",data(){return{layer_type:void 0,file_type:null,layer_name:null,layer_crs:V.project.getProjection().getCode(),layer_color:{hex:"#194d33",rgba:{r:25,g:77,b:51,a:1},a:1},wms_config:null,wms_urls:[],wms_projection:null,wms_styles:[],wms_layers:[],wms_visible:!0,wms_opacity:1,url:null,id:null,olLayer:null,map_crs:V.project.getProjection().getCode(),layer_data:null,position:"top",persistent:!1,loading:!1,fields:[],field:null,csv_x:null,csv_y:null,csv_wkt:null,csv_separator:",",csv_loading:!1,name:void 0,title:null,layers:[],projections:[],error_message:"",parse_errors:[]}},components:{"chrome-picker":BA.Chrome},computed:{feature_count(){return this.olLayer&&this.olLayer.getSource().getFeatures().length||0}},watch:{wms_styles(e=[]){let n=this.wms_config||{},i=(n.layers||[]).filter((u,c)=>e.includes(c.toString())),r=(n.layers||[]).findLastIndex(u=>u==i.at(-1)),o=(n.layers||[]).map(({crss:u})=>u.map(c=>`EPSG:${c.epsg}`).sort())[r];if(i.length===0?(this.wms_projection=null,this.projections=[]):i.length===1?(this.wms_projection=o[0],this.projections=o):this.projections=this.projections.filter(u=>o.includes(u)),i.length){let u=0,c=` (${i.map(p=>p.title).join(" + ")})`,f=c;for(;U.getService("map").getLayerByName(n.title+f);)f=` ${c} (${++u})`;this.name=n.title+f}this.wms_layers=i},async wms_projection(){await this.$nextTick();let e=this.wms_config||{},n=(e.layers||[]).map(({crss:i})=>i.map(r=>`EPSG:${r.epsg}`).sort());this.layers=this.wms_projection===null?e.layers:e.layers.filter((i,r)=>n[r].includes(this.wms_projection))},async layer_type(e,n){e&&n&&(this.layer_type=void 0,await this.$nextTick(),this.layer_type=e),n==="file"&&this.unloadFile(),n==="wms"&&this.unloadWMS()},url(){this.url&&!this.wms_config&&this.wms_urls.some(e=>e.url==this.url)?this.id=this.wms_urls.find(e=>e.url==this.url).id:this.url||(this.id="")}},methods:{onChangeColor(e){this.layer_color=e},async parseFile(){let e=this.$refs.input_file;if(!e.accept.split(",").includes(`.${e.files[0].name.split(".").at(-1).toLowerCase()}`)){this.error_message="sdk.errors.unsupported_format";return}if(U.getService("map").getLayerByName(e.files[0].name)){this.error_message="layer_is_added";return}try{this.error_message="",this.parse_errors=[],this.layer_name=e.files[0].name,this.file_type=e.files[0].name.split(".").at(-1).toLowerCase(),this.layer_data=null;let n=[],i;if((this.fields||[]).splice(0),this.file_type==="kmz"){let r=new Yw.default;r.load(await e.files[0].arrayBuffer(e.files[0])),i=r.file(/.kml$/i).at(-1).asText()}if(this.file_type==="zip"){let r=await e.files[0].arrayBuffer(),o={},u=await Yw.default.loadAsync(e.files[0]);for(let c in u.files)if(/.+\.(shp|dbf|json|prj|cpg)$/i.test(c)){let f=(c.split(".").at(-1)||"").toLowerCase();o[f]=await u.files[c].async(["shp","dbf"].includes(f)?"arraybuffer":"text")}i=JSON.stringify(await lg(o))}if(this.file_type==="csv"){this.csv_loading=!0,i=xX(await e.files[0].text(),this.csv_separator);let r=["x","lng","longitude","longitudine"],o=["y","lat","latitude","latitudine"];this.fields=i.shift();let u=this.fields.findIndex(p=>p.toLowerCase()==="wkt"),c=this.fields.findIndex(p=>r.includes(p.toLowerCase())),f=this.fields.findIndex(p=>o.includes(p.toLowerCase()));this.csv_wkt=this.csv_wkt||this.fields[u],this.csv_x=this.csv_wkt||this.csv_x||this.fields[c]||this.fields[0],this.csv_y=this.csv_wkt||this.csv_y||this.fields[f]||this.fields[1],i.forEach((p,g)=>{let d=Number(p[c]),v=Number(p[f]);if(!this.csv_wkt&&(Number.isNaN(d)||Number.isNaN(v)))return this.parse_errors.push({row:g+1,value:i[g]});try{let y=new ol.Feature({geometry:new ol.format.WKT().readGeometry(this.csv_wkt?p[u]:`POINT (${d} ${v})`,{dataProjection:this.layer_crs,featureProjection:U.getService("map").getEpsg()}),...p.reduce((S,w,E)=>(S[this.fields[E]]=w,S),{})});y.setId(g),n.push(y)}catch(y){console.warn(y)}}),this.csv_loading=!1}i||(i=await e.files[0].text()||{}),this.layer_crs=["kml","kmz"].includes(this.file_type)?"EPSG:4326":this.layer_crs,this.layer_data=i,this.file_type!=="csv"&&(n={gpx:new ol.format.GPX,gml:new ol.format.WMSGetFeatureInfo,geojson:new ol.format.GeoJSON,zip:new ol.format.GeoJSON,kml:new ol.format.KML({extractStyles:!1}),kmz:new ol.format.KML({extractStyles:!1})}[this.file_type].readFeatures(i,{dataProjection:this.layer_crs,featureProjection:U.getService("map").getEpsg()||this.layer_crs})),this.file_type==="zip"&&this.layer_crs!=="EPSG:4326"&&n.forEach(r=>r.getGeometry().transform("EPSG:4326",this.layer_crs)),["kml","kmz"].includes(this.file_type)&&n.forEach(r=>r.unset("styleUrl")),n.length>0&&(this.olLayer=new ol.layer.Vector({source:new ol.source.Vector({features:n}),name:this.layer_name,id:ut()}),this.fields=this.file_type==="csv"?this.fields:Object.keys(n[0].getProperties()).filter(r=>so.indexOf(r)<0))}catch(n){console.warn(n),this.error_message="sdk.errors.add_external_layer"}},async addLayer(){if(this.loading=!0,this.layer_type==="wms"){let e=(this.name||`wms_${ut()}`).trim();try{let n=this.getLocalWMSData();this.wms_config&&(n.wms[this.url]||[]).some(o=>o.layers.length===this.wms_layers.length&&this.wms_layers.every(u=>o.layers.includes(u.name)))&&await this.fetchWMS(this.url);let r={url:this.url,name:e,layers:this.wms_layers.map(o=>o.name),epsg:this.wms_projection,position:this.position,visible:this.wms_visible,opacity:+this.wms_opacity};n.wms[this.url]=n.wms[this.url]||[],n.wms[this.url].push(r),this.updateLocalWMSData(n);try{await this._addExternalWMSLayer(r)}catch(o){console.warn(o),U.getService("map").removeExternalLayer(e),this.deleteWMS(e),setTimeout(()=>{U.showUserMessage({type:"warning",message:"sidebar.wms.layer_add_error"})})}}catch(n){console.warn(n)}this.wms_config&&(this.unloadWMS(),$("#modal-addlayer").modal("hide"))}if(this.layer_type==="file"){try{await Zn.registerProjection(this.layer_crs)}catch(e){console.warn(e),this.error_message=`sdk.errors.${e}`;return}try{await U.getService("map").addExternalLayer(this.olLayer,{crs:this.layer_crs,position:this.position,color:this.layer_color,field:this.field,persistent:!!this.persistent,type:this.file_type}),$(this.$refs.modal_addlayer).modal("hide"),this.unloadFile()}catch(e){console.warn(e),this.error_message="sdk.errors.add_external_layer"}}this.loading=!1},unloadFile(){this.error_message="",this.parse_errors=[],this.loading=!1,this.layer_name=null,this.file_type=null,this.layer_crs=U.getService("map").getCrs(),this.layer_color={hex:"#194d33",rgba:{r:25,g:77,b:51,a:1},a:1},this.layer_data=null,this.olLayer=null,this.fields=[],this.field=null,this.csv_x=null,this.csv_y=null,this.csv_wkt=null,this.$refs.input_file&&(this.$refs.input_file.value=null)},unloadWMS(){let e=this.url;this.url="",this.error_message="",this.wms_config=null,this.wms_layers=[],this.wms_opacity=1,this.wms_visible=!0,this.wms_styles=[],this.name=null,this.loading=!1,setTimeout(()=>this.url=e)},async addWmsURL(){this.loading=!0;let e={url:this.url,id:this.id,show:!0},n=this.wms_urls.find(i=>i.url===this.url);try{if(await this.fetchWMS(this.url),!n){let i=this.getLocalWMSData();this.wms_urls.push(e),i.urls=this.wms_urls,this.updateLocalWMSData(i)}}catch(i){console.warn(i)}this.loading=!1},deleteWmsUrl(e){this.wms_urls=this.wms_urls.filter(i=>e!==i.id);let n=this.getLocalWMSData();n.urls=this.wms_urls,this.updateLocalWMSData(n)},_addExternalWMSLayer({url:e,layers:n,name:i,epsg:r=U.getService("map").getEpsg(),position:o="top",opacity:u,visible:c=!0}={}){return new Promise((f,p)=>{let g=new lr({id:i||ut(),layers:n,projection:ol.proj.get(r),url:e}),d=g.getOLLayer();d.getSource().once("imageloadend",f),d.getSource().once("imageloaderror",p),d.getSource().on("imageloadend",()=>g.emit("loadstart")),d.getSource().on("imageloadend",()=>g.emit("loadend")),d.getSource().on("imageloaderror",()=>g.emit("loaderror")),U.getService("map").addExternalLayer(g,{position:o,opacity:u,visible:c}),(!this.wms_visible||!this.wms_opacity)&&setTimeout(f,1e3)})},async fetchWMS(e){this.loading=!0;try{let n=await ht.post({url:`${window.initConfig.interfaceowsurl}`,contentType:"application/json",data:JSON.stringify({url:e||this.url,service:"wms"})});if(!n.result)throw"invalid response";n.wmsurl=e||this.url,n.methods&&n.methods.GetMap?this.url=(n.methods.GetMap.urls||[]).find(o=>o.type==="Get").url:this.url=n.wmsurl,this.title=n.title;let i=0,r="";for(;U.getService("map").getLayerByName(n.title+r);)r=` (${++i})`;this.name=n.title+r,n.layers.forEach(({crss:o})=>o.forEach(u=>Zn.get(u))),this.layers=n.layers,this.wms_config=n,this.error_message=null}catch(n){console.warn(n),this.error_message=n}this.loading=!1},deleteWMS(e){let n=this.getLocalWMSData();Object.keys(n.wms||{}).forEach(i=>{let r=n.wms[i].findIndex(o=>o.name==e);r>=0&&n.wms[i].splice(r,1),n.wms[i].length||delete n.wms[i]}),this.updateLocalWMSData(n)},changeLayerData(e,n={}){let i=this.getLocalWMSData();Object.keys(i.wms).find(r=>{let o=i.wms[r].findIndex(u=>u.name==e);if(o!==-1)return i.wms[r][o][n.key]=n.value,!0}),this.updateLocalWMSData(i)},getLocalWMSData(){let e=window.localStorage.getItem("externalwms");return((e?JSON.parse(e):void 0)||{})[V.project.getId()]},updateLocalWMSData(e){let n=window.localStorage.getItem("externalwms"),i=(n?JSON.parse(n):void 0)||{};i[V.project.getId()]=e;try{window.localStorage.setItem("externalwms",JSON.stringify(i))}catch(r){console.warn(r)}},templateResultLayers(e){let n=this.layers[e.id];return n?$(` ${n.name}
    ${n.title}
    ${n.abstract||""} @@ -1573,11 +1573,11 @@ ${Object.entries(V.pluginsConfigs).map(n=>` - ${n[0]}: __${n[1].version}__`).
    - `),$("#share_modal").modal("show"),$("#share_modal").on("hidden.bs.modal",()=>$("#share_modal").remove())},async initDialogMessages(){let e=V.project.state.messages;if(!e)return;let n=V.project.getId();for(let i=0;ip===r.id)!==void 0)continue;let c=new(Vue.extend({data:()=>({id:ut(),checked:!1}),template:` + `),$("#share_modal").modal("show"),$("#share_modal").on("hidden.bs.modal",()=>$("#share_modal").remove())},async initDialogMessages(){let e=V.project.state.messages;if(!e)return;let n=V.project.getId();for(let i=0;ip===r.id)!==void 0)continue;let c=new(Vue.extend({data:()=>({id:ut(),checked:!1}),template:`
    `})),f=document.createElement("div");f.append(...new DOMParser().parseFromString(r.body,"text/html").body.childNodes),f.append(c.$mount().$el),await new Promise(p=>{U.showModalDialog({title:r.title,message:f,size:"large",closeButton:!1,className:`g3w-modal-project-message ${Object.entries(e.levels).find(([g,d])=>d===r.level)[0]}`,buttons:{close:{label:He("close"),className:"btn-secondary",callback:()=>{try{c.checked&&(u[n].push(r.id),window.localStorage.setItem(Ds.MESSAGES.id,JSON.stringify(u)))}catch(g){console.warn(g)}p()}}}})})}},showaddLayerModal(){this.$refs["menu-toggler"]&&(this.$refs["menu-toggler"].checked=!1),$("#modal-addlayer").modal("show")},openChangeMapMenu(){this.$refs["menu-toggler"]&&(this.$refs["menu-toggler"].checked=!1),$("#modal-changemap").modal("show")},isNotLastCrumb(e){return er-u.min?o=r-u.min:o{n.content instanceof zt||n.content instanceof hi?await sn(n.content.unmount()):$(V.sidebar.parent).empty()})),e.splice(0,e.length))},toggleSidebar(){this.$refs["menu-toggler"]&&(this.$refs["menu-toggler"].checked=!1),U.toggleSidebar()},toggleSidebarItem(e){let n=document.body.classList.contains("sidebar-mini"),i=document.body.classList.contains("sidebar-collapse");n&&i&&U.showSidebar();let r=e.target.closest(".sidebaritem"),o=V.sidebar.components.find(f=>f.id===r.id),u=o&&o.getOpen(),c=r.querySelector(".treeview-menu");!o||u&&i||c&&c.contains(e.target)||(!o.collapsible&&window.innerWidth<=767&&U.toggleSidebar(),o.click({open:!u}))}},watch:{language(e,n){if(n){Ba.changeLanguage(e),V.lng=e,V.language=e;let i=window.location.pathname.split("/");i[1]=e,history.replaceState(null,null,i.join("/")),this.cookie_law_buttonText=He("cookie_law.buttonText")}}},created(){this.language=this.appconfig.user.i18n},async mounted(){this.initDialogMessages(),await this.$nextTick(),this.language=this.appconfig.user.i18n,await this.$nextTick(),$("#startingspinner").remove();let e=function(){$(".main-sidebar").css("height",$(window).height()-$(".navbar").height()),$(".g3w-sidebarpanel").css("height",$(window).height()-$(".navbar").height())};e(),$(window,".wrapper").resize(e),this.iframe=V.iframe,this.iframe||document.body.classList.add("sidebar-mini"),document.body.classList.toggle("is-mobile",this.isMobile()),document.body.classList.toggle("is-iframe",this.iframe)}},ZX=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:e.app.gui.app.disabled,expression:"app.gui.app.disabled"}],staticClass:"wrapper",attrs:{id:"app"}},[e.isIframe?e._e():i("nav",{ref:"navbar",staticClass:"navbar no-print",staticStyle:{display:"flex","justify-content":"start",height:"50px"},attrs:{role:"navigation"}},[e.logo_url?i("a",{staticStyle:{padding:"4px",display:"inline-block",height:"50px"},attrs:{href:e.appconfig.header_logo_link||e.urls.frontendurl||"#",target:e.appconfig.header_logo_link?"_blank":""}},[i("img",{staticStyle:{height:"100%"},attrs:{alt:"",src:e.logo_url}})]):e._e(),e._v(" "),i("input",{ref:"menu-toggler",attrs:{id:"menu-toggler",type:"checkbox",autocomplete:"off",hidden:""}}),e._v(" "),i("label",{staticClass:"navbar-toggler",attrs:{for:"menu-toggler",hidden:""}},[i("i",{class:e.$fa("bars")}),i("span",{staticStyle:{"margin-left":"8px"}},[e._v("MENU")])]),e._v(" "),i("hgroup",{staticClass:"project_title"},[i("p",{staticClass:"h2"},[e._v(e._s(e.main_title))]),e._v(" "),i("h1",[e._v(e._s(e.project_title))])]),e._v(" "),i("ul",{staticClass:"nav-links",staticStyle:{display:"flex","text-align":"center","white-space":"nowrap","list-style":"none",padding:"0",margin:"0"}},[e._l(e.custom_links,function(r){return i("li",{key:r.id,class:"nav-"+r.id,style:{order:r.position}},[i("a",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip.create",value:r.i18n?r.title:" "+r.title+" ",expression:"item.i18n ? item.title : (' ' + item.title + ' ')",modifiers:{create:!0}}],attrs:{href:r.url||"#",target:r.target,"data-placement":"bottom","data-toggle":"tooltip","data-container":"body"},on:{click:function(o){return e.oncCustomItemClick(o,r)}}},[r.icon?i("i",{class:r.icon}):e._e(),e._v(" "),r.img?i("img",{attrs:{height:"20",src:r.img,title:r.img_title,alt:r.img_title}}):e._e(),e._v(" "),r.i18n?i("span",{directives:[{name:"t-html",rawName:"v-t-html",value:r.text||r.title||r.img_title,expression:"item.text || item.title || item.img_title"}],attrs:{hidden:r.text?void 0:""}}):e._e(),e._v(" "),r.i18n?e._e():i("span",{attrs:{hidden:r.text?void 0:""},domProps:{innerHTML:e._s(r.text||r.title||r.img_title)}})])])}),e._v(" "),i("li",{staticClass:"nav-user dropdown"},[i("a",{staticClass:"dropdown-toggle",attrs:{href:"#","data-toggle":"dropdown"}},[i("i",{class:e.$fa("user")}),e._v(" "),e.user?i("span",[e._v(e._s(e.user.username))]):i("span",{directives:[{name:"t",rawName:"v-t",value:"sign_in",expression:"'sign_in'"}]}),e._v(" "),i("i",{staticClass:"triangle"})]),e._v(" "),i("ul",{staticClass:"dropdown-menu"},[e.user?i("li",{staticClass:"user-header"},[e._v(` + `})),f=document.createElement("div");f.append(...new DOMParser().parseFromString(r.body,"text/html").body.childNodes),f.append(c.$mount().$el),await new Promise(p=>{U.showModalDialog({title:r.title,message:f,size:"large",closeButton:!1,className:`g3w-modal-project-message ${Object.entries(e.levels).find(([g,d])=>d===r.level)[0]}`,buttons:{close:{label:He("close"),className:"btn-secondary",callback:()=>{try{c.checked&&(u[n].push(r.id),window.localStorage.setItem(Fs.MESSAGES.id,JSON.stringify(u)))}catch(g){console.warn(g)}p()}}}})})}},showaddLayerModal(){this.$refs["menu-toggler"]&&(this.$refs["menu-toggler"].checked=!1),$("#modal-addlayer").modal("show")},openChangeMapMenu(){this.$refs["menu-toggler"]&&(this.$refs["menu-toggler"].checked=!1),$("#modal-changemap").modal("show")},isNotLastCrumb(e){return er-u.min?o=r-u.min:o{n.content instanceof zt||n.content instanceof fi?await sn(n.content.unmount()):$(V.sidebar.parent).empty()})),e.splice(0,e.length))},toggleSidebar(){this.$refs["menu-toggler"]&&(this.$refs["menu-toggler"].checked=!1),U.toggleSidebar()},toggleSidebarItem(e){let n=document.body.classList.contains("sidebar-mini"),i=document.body.classList.contains("sidebar-collapse");n&&i&&U.showSidebar();let r=e.target.closest(".sidebaritem"),o=V.sidebar.components.find(f=>f.id===r.id),u=o&&o.getOpen(),c=r.querySelector(".treeview-menu");!o||u&&i||c&&c.contains(e.target)||(!o.collapsible&&window.innerWidth<=767&&U.toggleSidebar(),o.click({open:!u}))}},watch:{language(e,n){if(n){Ba.changeLanguage(e),V.lng=e,V.language=e;let i=window.location.pathname.split("/");i[1]=e,history.replaceState(null,null,i.join("/")),this.cookie_law_buttonText=He("cookie_law.buttonText")}}},created(){this.language=this.appconfig.user.i18n},async mounted(){this.initDialogMessages(),await this.$nextTick(),this.language=this.appconfig.user.i18n,await this.$nextTick(),$("#startingspinner").remove();let e=function(){$(".main-sidebar").css("height",$(window).height()-$(".navbar").height()),$(".g3w-sidebarpanel").css("height",$(window).height()-$(".navbar").height())};e(),$(window,".wrapper").resize(e),this.iframe=V.iframe,this.iframe||document.body.classList.add("sidebar-mini"),document.body.classList.toggle("is-mobile",this.isMobile()),document.body.classList.toggle("is-iframe",this.iframe)}},ZX=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("div",{directives:[{name:"disabled",rawName:"v-disabled",value:e.app.gui.app.disabled,expression:"app.gui.app.disabled"}],staticClass:"wrapper",attrs:{id:"app"}},[e.isIframe?e._e():i("nav",{ref:"navbar",staticClass:"navbar no-print",staticStyle:{display:"flex","justify-content":"start",height:"50px"},attrs:{role:"navigation"}},[e.logo_url?i("a",{staticStyle:{padding:"4px",display:"inline-block",height:"50px"},attrs:{href:e.appconfig.header_logo_link||e.urls.frontendurl||"#",target:e.appconfig.header_logo_link?"_blank":""}},[i("img",{staticStyle:{height:"100%"},attrs:{alt:"",src:e.logo_url}})]):e._e(),e._v(" "),i("input",{ref:"menu-toggler",attrs:{id:"menu-toggler",type:"checkbox",autocomplete:"off",hidden:""}}),e._v(" "),i("label",{staticClass:"navbar-toggler",attrs:{for:"menu-toggler",hidden:""}},[i("i",{class:e.$fa("bars")}),i("span",{staticStyle:{"margin-left":"8px"}},[e._v("MENU")])]),e._v(" "),i("hgroup",{staticClass:"project_title"},[i("p",{staticClass:"h2"},[e._v(e._s(e.main_title))]),e._v(" "),i("h1",[e._v(e._s(e.project_title))])]),e._v(" "),i("ul",{staticClass:"nav-links",staticStyle:{display:"flex","text-align":"center","white-space":"nowrap","list-style":"none",padding:"0",margin:"0"}},[e._l(e.custom_links,function(r){return i("li",{key:r.id,class:"nav-"+r.id,style:{order:r.position}},[i("a",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip.create",value:r.i18n?r.title:" "+r.title+" ",expression:"item.i18n ? item.title : (' ' + item.title + ' ')",modifiers:{create:!0}}],attrs:{href:r.url||"#",target:r.target,"data-placement":"bottom","data-toggle":"tooltip","data-container":"body"},on:{click:function(o){return e.oncCustomItemClick(o,r)}}},[r.icon?i("i",{class:r.icon}):e._e(),e._v(" "),r.img?i("img",{attrs:{height:"20",src:r.img,title:r.img_title,alt:r.img_title}}):e._e(),e._v(" "),r.i18n?i("span",{directives:[{name:"t-html",rawName:"v-t-html",value:r.text||r.title||r.img_title,expression:"item.text || item.title || item.img_title"}],attrs:{hidden:r.text?void 0:""}}):e._e(),e._v(" "),r.i18n?e._e():i("span",{attrs:{hidden:r.text?void 0:""},domProps:{innerHTML:e._s(r.text||r.title||r.img_title)}})])])}),e._v(" "),i("li",{staticClass:"nav-user dropdown"},[i("a",{staticClass:"dropdown-toggle",attrs:{href:"#","data-toggle":"dropdown"}},[i("i",{class:e.$fa("user")}),e._v(" "),e.user?i("span",[e._v(e._s(e.user.username))]):i("span",{directives:[{name:"t",rawName:"v-t",value:"sign_in",expression:"'sign_in'"}]}),e._v(" "),i("i",{staticClass:"triangle"})]),e._v(" "),i("ul",{staticClass:"dropdown-menu"},[e.user?i("li",{staticClass:"user-header"},[e._v(` \u{1F44B} `),!e.user.first_name&&!e.user.last_name?i("span",[e._v(e._s(e.user.username))]):i("span",[e._v(e._s(e.user.first_name)+" "+e._s(e.user.last_name))])]):e._e(),e._v(" "),i("li",{staticClass:"user-footer"},[e.user?e._e():i("a",{staticClass:"nav-login btn btn-default btn-flat skin-color",attrs:{src:e.login_url,"data-toggle":e.has_iframe_login?"modal":void 0,"data-target":e.has_iframe_login?"#modal-login":void 0}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"sign_in",expression:"'sign_in'"}]}),i("i",{class:e.$fa("sign-in")})]),e._v(" "),e.user&&e.user.admin_url?i("a",{staticClass:"nav-admin btn btn-default btn-flat skin-color",attrs:{href:e.user.admin_url}},[i("b",[e._v("Admin")]),i("i",{class:e.$fa("tool")})]):e._e(),e._v(" "),e.urls.frontendurl?i("a",{staticClass:"nav-home btn btn-default btn-flat skin-color",attrs:{href:e.urls.frontendurl}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"homepage",expression:"'homepage'"}]}),i("i",{class:e.$fa("home")})]):e._e(),e._v(" "),e.user&&e.user.logout_url?i("a",{staticClass:"nav-logout btn btn-default btn-flat skin-color",attrs:{href:e.user.logout_url}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"logout",expression:"'logout'"}]}),i("i",{class:e.$fa("sign-out")})]):e._e(),e._v(" "),i("a",{staticClass:"nav-embedmap btn btn-default btn-flat skin-color",attrs:{href:"#"},on:{click:e.showEmbedModal}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"embed_map",expression:"'embed_map'"}]}),i("i",{class:e.$fa("link")})]),e._v(" "),e.hasRelatedMaps?i("a",{staticClass:"nav-changemap btn btn-default btn-flat",attrs:{href:"#"},on:{click:e.openChangeMapMenu}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"changemap",expression:"'changemap'"}]}),i("i",{class:e.$fa("refresh")})]):e._e(),e._v(" "),i("a",{staticClass:"nav-addlayer btn btn-default btn-flat",attrs:{href:"#"},on:{click:e.showaddLayerModal}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"mapcontrols.add_layer_control.header",expression:"'mapcontrols.add_layer_control.header'"}]}),i("i",{class:e.$fa("layers")})]),e._v(" "),i("a",{staticClass:"nav-sidebar btn btn-default btn-flat",attrs:{href:"#"},on:{click:e.toggleSidebar}},[i("b",{directives:[{name:"t",rawName:"v-t",value:"sidebar_menu",expression:"'sidebar_menu'"}]}),i("i",{staticClass:"fa fa-toggle-on"})])])])]),e._v(" "),e.languages?i("li",{staticClass:"nav-lang"},[i("select",{directives:[{name:"select2",rawName:"v-select2",value:"language",expression:"'language'"},{name:"model",rawName:"v-model",value:e.language,expression:"language"}],staticClass:"form-control",staticStyle:{cursor:"pointer",width:"130px"},attrs:{templateSelection:e.templateResultLanguages,templateResult:e.templateResultLanguages,dropdownAutoWidth:!0,dropdownParent:e.dropdownParent},on:{change:function(r){var o=Array.prototype.filter.call(r.target.options,function(u){return u.selected}).map(function(u){var c="_value"in u?u._value:u.value;return c});e.language=r.target.multiple?o:o[0]}}},e._l(e.languages,function(r){return i("option",{key:r[0],domProps:{value:r[0],selected:r[0]===e.language&&"selected"}},[e._v(` `+e._s(r[1])+` @@ -1601,7 +1601,7 @@ ${Object.entries(V.pluginsConfigs).map(n=>` - ${n[0]}: __${n[1].version}__`). `);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var pK=fK({render:aK,staticRenderFns:lK},cK,oK,uK,hK,dK,!1,i1,void 0,void 0),J_=pK;var gK={name:"divider"},mK=function(){var e=this,n=e.$createElement,i=e._self._c||n;return i("span",{staticClass:"divider"})},_K=[],yK=function(e){e&&e("data-v-25b15c6e_0",{source:".divider[data-v-25b15c6e]{display:block;position:relative;padding:0;margin-bottom:5px;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none;border-bottom:2px solid #eee}",map:void 0,media:void 0})},vK="data-v-25b15c6e",bK=void 0,xK=!1;function wK(e,n,i,r,o,u,c,f,p,g){let d=(typeof i=="function"?i.options:i)||{};d.__file="GlobalDivider.vue",d.render||(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),d._scopeId=r;{let v;if(n&&(v=c?function(y){n.call(this,g(y,this.$root.$options.shadowRoot))}:function(y){n.call(this,f(y))}),v!==void 0)if(d.functional){let y=d.render;d.render=function(w,E){return v.call(E),y(w,E)}}else{let y=d.beforeCreate;d.beforeCreate=y?[].concat(y,v):[v]}}return d}function r1(){let e=r1.styles||(r1.styles={}),n=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,o){if(document.querySelector('style[data-vue-ssr-id~="'+r+'"]'))return;let u=n?o.media||"default":r,c=e[u]||(e[u]={ids:[],parts:[],element:void 0});if(!c.ids.includes(r)){let f=o.source,p=c.ids.length;if(c.ids.push(r),o.map&&(f+=` /*# sourceURL=`+o.map.sources[0]+" */",f+=` /*# sourceMappingURL=data:application/json;base64,`+btoa(unescape(encodeURIComponent(JSON.stringify(o.map))))+" */"),n&&(c.element=c.element||document.querySelector("style[data-group="+u+"]")),!c.element){let g=document.head||document.getElementsByTagName("head")[0],d=c.element=document.createElement("style");d.type="text/css",o.media&&d.setAttribute("media",o.media),n&&(d.setAttribute("data-group",u),d.setAttribute("data-next-index","0")),g.appendChild(d)}if(n&&(p=parseInt(c.element.getAttribute("data-next-index")),c.element.setAttribute("data-next-index",p+1)),c.element.styleSheet)c.parts.push(f),c.element.styleSheet.cssText=c.parts.filter(Boolean).join(` -`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var SK=wK({render:mK,staticRenderFns:_K},yK,gK,vK,xK,bK,!1,r1,void 0,void 0),ey=SK;var XA=(e,n)=>{e.classList.toggle("g3w-disabled",n.value)};vt();bn();var EK=new Vue,ty={},xs=({el:e,attr:n,watcher:i,immediate:r=!0}={})=>{let o=ut();e.setAttribute(n,o);let u=ty[o]={};return i&&(u.unwatch=EK.$watch(i[0],i[1],i[2]||{immediate:r}),u.handler=i[1]),o},ws=({el:e,attr:n}={})=>{let i=e.getAttribute(n);i&&(ty[i].unwatch(),delete ty[i])},ZA=({el:e,attr:n,data:i})=>ty[e.getAttribute(n)].handler(i);var KA="g3w-v-select2-id",QA={inserted(e,n,i){let{templateResult:r,templateSelection:o,multiple:u=!1,search:c=!0,select2_value:f,indexItem:p,createTag:g=!1,dropdownAutoWidth:d=!1,dropdownParent:v=!1,placeholder:y="",clear:S=!1}=i.data.attrs||{},w=n.value&&Array.isArray(i.context[n.value])&&p!==void 0,E=()=>{$(e).select2({tags:g,width:"100%",dropdownAutoWidth:d,dropdownParent:v===!0?$(e.parentNode):void 0,templateResult:r,templateSelection:o,minimumResultsForSearch:c?void 0:-1,placeholder:y,allowClear:S,createTag(I){let O=I.term.trim();return O?{id:O,text:O,newTag:!0}:null}}).on("select2:select select2:unselect",I=>{if(!n.value)return;let O=n.value,H=I.type==="select2:select",X=I.params.data.id,re=i.context,z=H&&(w?re[O][p].value:re[O]);if(H&&u&&z.every(Z=>X!==Z))z.push(X);else if(H&&w)re[O][p].value=X;else if(H){let Z=`${O}`.split("."),te=Z.pop();Z.reduce((ee,ve)=>(ee=ee[ve],ee),i.context)[te]=X}!H&&u&&w?re[O][p].value=re[O][p].value.filter(Z=>X!==Z):!H&&u&&(re[O]=re[O].filter(Z=>X!==Z)),(H||u)&&e.dispatchEvent(new Event("change"))})};E(),n.value&&f!==void 0&&($(e).val(f).trigger("change"),i.g3w_observer=new MutationObserver(I=>{let O=(I.find(H=>H.attributeName==="select2_value")||{}).target;O&&$(e).val(O.getAttribute("select2_value")).trigger("change")}),i.g3w_observer.observe(e,{attributes:!0})),xs({el:e,attr:KA,watcher:[()=>V.language,()=>E()],immediate:!1})},unbind:(e,n)=>{n.g3w_observer&&n.g3w_observer.disconnect(),$(e).select2("destroy"),ws({el:e,attr:KA})}};vt();ln();var s1="g3w-v-t-tooltip-id",JA={bind(e,n){n.modifiers.create&&(n.arg&&(e.setAttribute("data-placement",n.arg),e.classList.add(`skin-tooltip-${n.arg}`)),e.setAttribute("data-container","body"),$(e).tooltip({trigger:V.ismobile?"click":"hover",html:!0}).on("shown.bs.tooltip",()=>{V.ismobile&&setTimeout(()=>$(e).tooltip("hide"),600)})),xs({el:e,attr:s1,watcher:[()=>V.language,({el:i=e})=>{let r=i.getAttribute("current-tooltip");r===null&&(r=n.value),i.setAttribute("data-original-title",n.modifiers.text?r:(n.arg==="plugin"?tc:He)(r))}]})},componentUpdated(e,n){let i=e.getAttribute("current-tooltip");[null,""].includes(i)&&$(e).tooltip("hide"),i!=null&&i!==n.oldValue&&ZA({el:e,attr:s1,data:{el:e}})},unbind:e=>{$(e).tooltip("hide"),ws({el:e,attr:s1})}};vt();ln();var eO="g3w-v-t-html-id",tO={bind(e,n){xs({el:e,attr:eO,watcher:[()=>V.language,()=>{e.innerHTML=`${He(n.value)}`}]})},update(e,n){n.value!==n.oldValue&&(e.innerHTML=`${He(n.value)}`)},unbind:e=>ws({el:e,attr:eO})};vt();ln();var nO="g3w-v-t-id",iO=({el:e}={})=>{let n=e.__currentBinding.value===null?"":He(e.__currentBinding.value);switch(e.__currentBinding.arg?e.__currentBinding.arg:"post"){case"pre":e.innerHTML=`${n} ${e.__innerHTML}`;break;case"post":e.innerHTML=`${e.__innerHTML} ${n}`;break}},rO={bind(e,n){e.__innerHTML=e.innerHTML,e.__currentBinding=n,xs({el:e,attr:nO,watcher:[()=>V.language,()=>iO({el:e})]})},componentUpdated(e,n){e.__currentBinding.value!==n.value&&(e.__currentBinding=n,iO({el:e}))},unbind:e=>ws({el:e,attr:nO})};vt();ln();var sO="g3w-v-t-plugin-id",oO={bind(e,n){let i=e.innerHTML;xs({el:e,attr:sO,watcher:[()=>V.language,()=>{let r=n.value!==null?tc(n.value):"";switch(n.arg?n.arg:"post"){case"pre":e.innerHTML=`${r} ${i}`;break;case"post":e.innerHTML=`${i} ${r}`;break}}]})},unbind:e=>ws({el:e,attr:sO})};vt();var aO="g3w-v-download-id",lO={bind(e,n){(typeof n.value!="boolean"||n.value)&&xs({el:e,attr:aO,watcher:[()=>V.download,i=>{let r=n.modifiers&&n.modifiers.show&&"hide"||"disabled";e.classList.toggle(`g3w-${r}`,r==="hide"?!i:i)}]})},unbind:e=>ws({el:e,attr:aO})};mu();xi();yr();M_();ln();Object.entries({ApplicationState:V,G3WObject:Et,Panel:hi,Component:zt,ApplicationService:bi,GUI:U,MapLayersStoresRegistry:Ec,IframePluginService:ff,App:Jw,BarLoader:Y_,Progressbar:X_,HelpDiv:Z_,DateTime:K_,Range:Q_,Tabs:J_,Divider:ey,getProject:Sc}).forEach(([e,n])=>console.assert(n!==void 0,`${e} is undefined`));Vue.component(Y_.name,Y_);Vue.component(X_.name,X_);Vue.component(Z_.name,Z_);Vue.component(K_.name,K_);Vue.component(Q_.name,Q_);Vue.component(J_.name,J_);Vue.component(ey.name,ey);Vue.filter("t",e=>He(e));Vue.filter("tPlugin",e=>e!==null?tc(e):"");Vue.directive("disabled",XA);Vue.directive("select2",QA);Vue.directive("t-tooltip",JA);Vue.directive("t-html",tO);Vue.directive("t",rO);Vue.directive("t-plugin",oO);Vue.directive("download",lO);Vue.use(fO());Vue.use({install(e){e.prototype.$t=He,e.prototype.g3wtemplate={font:Uy,addFontClass({name:n,className:i}={}){let r=this.font[n]===void 0;return r&&(this.font[n]=i),r},getFontClass(n){return this.font[n]||""}},e.prototype.$fa=e.prototype.g3wtemplate.getFontClass.bind(e.prototype.g3wtemplate),e.mixin({methods:{isMobile(){return isMobile.any}}})}},{});Vue.mixin({inheritAttrs:!1});var P1={},pl={};function r3(){$.extend($.fn.dataTableExt.oStdClasses,{sFilterInput:"form-control search"}),$.extend(!0,$.fn.dataTable.defaults,{language:{sSearch:"",searchPlaceholder:He("dosearch"),sLengthMenu:He("dataTable.lengthMenu"),paginate:{previous:"\xAB",next:"\xBB"},info:He("dataTable.info"),zeroRecords:He("dataTable.nodatafilterd"),infoFiltered:""}})}function Nte(){let e=V.querybuilder.searches,n=V.project.getId();return e[n]=e[n]||[],e[n]}function s3(e){return new Promise(function(n,i){let r=document.createElement("script");r.onload=n,r.onerror=o=>{console.warn(o),i(new Error("Failed to load script: "+e))},r.src=e,document.head.appendChild(r)})}var Rt=window.initConfig;V.user=Rt.user;bi.emit("initconfig",Rt);var F1=Rt.vendorkeys||{};Rt.baselayers.forEach(e=>{e.apikey&&(F1[e.servertype?e.servertype.toLowerCase():null]=e.apikey)});Object.keys(F1).forEach(e=>V.keys.vendorkeys[e]=F1[e]);Object.assign(Rt,{urls:Object.assign(Rt.urls||{},{ows:"ows",api:"api",initconfig:"api/initconfig",config:"api/config",baseurl:Rt.baseurl,frontendurl:Rt.frontendurl,staticurl:Rt.staticurl,clienturl:Rt.staticurl+Rt.client,mediaurl:Rt.mediaurl,vectorurl:Rt.vectorurl,proxyurl:Rt.proxyurl,rasterurl:Rt.rasterurl,interfaceowsurl:Rt.interfaceowsurl}),layout:Rt.layout||{},plugins:Rt.plugins||{},tools:Rt.tools||{tools:[]},views:Rt.views||{},user:Rt.user||null});Rt.layout.iframe=window.top!==window.self;V.lng=Rt.user.i18n||"en";V.language=Rt.user.i18n||"en";(Rt.i18n||[]).map(e=>e[0]).forEach(e=>V.i18n.plugins[e]={plugins:{}});Ba.init({lng:Rt.user.i18n,ns:"app",fallbackLng:"en",resources:cA});Mv(V.i18n.plugins);$.ajaxSetup({beforeSend:e=>{e.setRequestHeader("Accept-Language",Rt.user.i18n||"en")}});new Promise(async(e,n)=>{try{Rt.macrogroups=await ht.get({url:`/${V.user.i18n}/about/api/macrogroup/`})}catch(r){console.warn(r)}try{Rt.groups=await ht.get({url:`/${V.user.i18n}/about/api/group/nomacrogroup/`})}catch(r){console.warn(r)}Rt.layout.rightpanel=Object.assign(Rt.layout.rightpanel||{},{width:Rt.layout.rightpanel.width||50,height:Rt.layout.rightpanel.height||50,width_100:!1,height_100:!1}),V.gui.layout.app=Rt.layout,Rt.projects.forEach(r=>Object.assign(r,{baselayers:Rt.baselayers,minscale:Rt.minscale,maxscale:Rt.maxscale,crs:Rt.crs,vectorurl:Rt.vectorurl,rasterurl:Rt.rasterurl}));let i=setTimeout(()=>{n("Timeout")},ji);Sc(Rt.initproject,{map_theme:new URLSearchParams(location.search).get("map_theme")}).then(r=>{clearTimeout(i),Object.assign(V.project,r);let o=r.getLayersStore();V.catalog[o.getId()]=o,Ec.addLayersStore(o),g3wsdk.core.project.ProjectsRegistry.setCurrentProject(r),window.addEventListener("online",()=>{V.online=!0,bi.online()}),window.addEventListener("offline",()=>{V.online=!1,bi.offline()}),bi.emit("ready"),V.map.epsg=r.state.crs.epsg,V.iframe&&ff.init({project:r}),Object.keys(Ds).forEach(u=>{try{(window.localStorage.getItem(u)?JSON.parse(window.localStorage.getItem(u)):void 0)===void 0&&window.localStorage.setItem(u,JSON.stringify(Ds[u].value))}catch(c){console.warn(c)}}),e(!0)}).catch(r=>{console.warn(r),n(r)})}).then(()=>{r3(),(isMobile.any||(window.initConfig.layout||{}).iframe)&&$("body").addClass("sidebar-collapse"),new Vue({el:"#app",created(){Vue.component("app",Jw),Object.assign(pl,{sidebar:[new function(){let e=new zt({id:"spatialbookmarks",icon:U.getFontClass("bookmark"),iconColor:"#00bcd4",title:"sdk.spatialbookmarks.title",vueComponentObject:(mO(),Wn(gO)).default});return U.on("closecontent",()=>{e.state.open=!1}),e},Object.assign(new zt({id:"print",visible:window.initConfig.user.is_staff||(V.project.getPrint()||[]).length>0,icon:U.getFontClass("print"),iconColor:"#FF9B21",title:"print",service:{},internalComponent:new(Vue.extend((bO(),Wn(vO)).default))}),{_setOpen(e){this.getInternalComponent().showPrintArea(e)}}),new zt({id:"search",visible:!0,icon:U.getFontClass("search"),iconColor:"#8dc3e3",title:V.project.state.search_title||"search",service:Object.assign(new Et,{state:{searches:(V.project.state.search||[]).sort((e,n)=>`${e.name}`.localeCompare(n.name)),tools:[],querybuildersearches:Nte()},title:V.project.state.search_title||"search",addTool(e){this.state.tools.push(e)},addTools(e){for(let n of e)this.addTool(n)},showPanel(e){return new(Ow(),Wn(eA)).SearchPanel(e,!0)},getTitle(){return this.title},removeTools(){this.state.tools.splice(0)},stop(e){return Wt(Promise.resolve(e))},removeTool(){}}),actions:[{id:"querybuilder",class:`${U.getFontClass("calculator")} sidebar-button sidebar-button-icon`,tooltip:He("sdk.querybuilder.title"),fnc:()=>(U.closeContent(),U.closeSideBar(),new hi({title:He("sdk.querybuilder.title"),show:!0,vueComponentObject:(f1(),Wn(xO)).default})),style:{color:"#8DC3E3",padding:"6px",fontSize:"1.2em",borderRadius:"3px",marginRight:"5px"}}],vueComponentObject:(EO(),Wn(SO)).default}),new function(){let e={id:"tools",icon:U.getFontClass("tools"),iconColor:"#FFE721",toolsGroups:[],visible:!1,loading:!1},n=new Et({setters:{addTool(o,{title:u,position:c}){let f=e.toolsGroups.find(p=>p.name===u);return f||(f={name:u,tools:[]},e.toolsGroups.splice(c,0,f)),f.tools.push(Object.assign(o,{state:o.state||{type:null,message:null},action:o.action||(P1[o.type]||qi).bind(null,o.options)}))},addToolGroup(o,u){let c=e.toolsGroups.find(f=>f.name===u);return c||(c={name:u,tools:[]},e.toolsGroups.splice(o,0,c)),c},addTools(o,u){o.forEach(c=>this.addTool(c,u))},removeToolGroup(o){e.toolsGroups=e.toolsGroups.filter(u=>u.name!==o)},removeTools(){e.toolsGroups.splice(0)}}});n.state=e,n.config=null,n.getState=()=>e,n.reload=()=>{n.removeTools()},n.setLoading=(o=!1)=>{e.loading=o},n.ACTIONS=P1;let i=V.project.getState().tools||{};for(let o in i)n.addToolGroup(0,o.toUpperCase()),n.addTools(i[o].map(u=>({name:u.name,action:P1[o].bind(null,u)})),{position:0,title:o.toUpperCase()});let r=new zt({id:"tools",icon:U.getFontClass("tools"),iconColor:"#FFE721",title:"tools",service:n,internalComponent:new(Vue.extend({template:` +`);else{let g=document.createTextNode(f),d=c.element.childNodes;d[p]&&c.element.removeChild(d[p]),d.length?c.element.insertBefore(g,d[p]):c.element.appendChild(g)}}}}var SK=wK({render:mK,staticRenderFns:_K},yK,gK,vK,xK,bK,!1,r1,void 0,void 0),ey=SK;var XA=(e,n)=>{e.classList.toggle("g3w-disabled",n.value)};vt();bn();var EK=new Vue,ty={},bs=({el:e,attr:n,watcher:i,immediate:r=!0}={})=>{let o=ut();e.setAttribute(n,o);let u=ty[o]={};return i&&(u.unwatch=EK.$watch(i[0],i[1],i[2]||{immediate:r}),u.handler=i[1]),o},xs=({el:e,attr:n}={})=>{let i=e.getAttribute(n);i&&(ty[i].unwatch(),delete ty[i])},ZA=({el:e,attr:n,data:i})=>ty[e.getAttribute(n)].handler(i);var KA="g3w-v-select2-id",QA={inserted(e,n,i){let{templateResult:r,templateSelection:o,multiple:u=!1,search:c=!0,select2_value:f,indexItem:p,createTag:g=!1,dropdownAutoWidth:d=!1,dropdownParent:v=!1,placeholder:y="",clear:S=!1}=i.data.attrs||{},w=n.value&&Array.isArray(i.context[n.value])&&p!==void 0,E=()=>{$(e).select2({tags:g,width:"100%",dropdownAutoWidth:d,dropdownParent:v===!0?$(e.parentNode):void 0,templateResult:r,templateSelection:o,minimumResultsForSearch:c?void 0:-1,placeholder:y,allowClear:S,createTag(I){let O=I.term.trim();return O?{id:O,text:O,newTag:!0}:null}}).on("select2:select select2:unselect",I=>{if(!n.value)return;let O=n.value,H=I.type==="select2:select",X=I.params.data.id,re=i.context,z=H&&(w?re[O][p].value:re[O]);if(H&&u&&z.every(Z=>X!==Z))z.push(X);else if(H&&w)re[O][p].value=X;else if(H){let Z=`${O}`.split("."),te=Z.pop();Z.reduce((ee,ve)=>(ee=ee[ve],ee),i.context)[te]=X}!H&&u&&w?re[O][p].value=re[O][p].value.filter(Z=>X!==Z):!H&&u&&(re[O]=re[O].filter(Z=>X!==Z)),(H||u)&&e.dispatchEvent(new Event("change"))})};E(),n.value&&f!==void 0&&($(e).val(f).trigger("change"),i.g3w_observer=new MutationObserver(I=>{let O=(I.find(H=>H.attributeName==="select2_value")||{}).target;O&&$(e).val(O.getAttribute("select2_value")).trigger("change")}),i.g3w_observer.observe(e,{attributes:!0})),bs({el:e,attr:KA,watcher:[()=>V.language,()=>E()],immediate:!1})},unbind:(e,n)=>{n.g3w_observer&&n.g3w_observer.disconnect(),$(e).select2("destroy"),xs({el:e,attr:KA})}};vt();ln();var s1="g3w-v-t-tooltip-id",JA={bind(e,n){n.modifiers.create&&(n.arg&&(e.setAttribute("data-placement",n.arg),e.classList.add(`skin-tooltip-${n.arg}`)),e.setAttribute("data-container","body"),$(e).tooltip({trigger:V.ismobile?"click":"hover",html:!0}).on("shown.bs.tooltip",()=>{V.ismobile&&setTimeout(()=>$(e).tooltip("hide"),600)})),bs({el:e,attr:s1,watcher:[()=>V.language,({el:i=e})=>{let r=i.getAttribute("current-tooltip");r===null&&(r=n.value),i.setAttribute("data-original-title",n.modifiers.text?r:(n.arg==="plugin"?tc:He)(r))}]})},componentUpdated(e,n){let i=e.getAttribute("current-tooltip");[null,""].includes(i)&&$(e).tooltip("hide"),i!=null&&i!==n.oldValue&&ZA({el:e,attr:s1,data:{el:e}})},unbind:e=>{$(e).tooltip("hide"),xs({el:e,attr:s1})}};vt();ln();var eO="g3w-v-t-html-id",tO={bind(e,n){bs({el:e,attr:eO,watcher:[()=>V.language,()=>{e.innerHTML=`${He(n.value)}`}]})},update(e,n){n.value!==n.oldValue&&(e.innerHTML=`${He(n.value)}`)},unbind:e=>xs({el:e,attr:eO})};vt();ln();var nO="g3w-v-t-id",iO=({el:e}={})=>{let n=e.__currentBinding.value===null?"":He(e.__currentBinding.value);switch(e.__currentBinding.arg?e.__currentBinding.arg:"post"){case"pre":e.innerHTML=`${n} ${e.__innerHTML}`;break;case"post":e.innerHTML=`${e.__innerHTML} ${n}`;break}},rO={bind(e,n){e.__innerHTML=e.innerHTML,e.__currentBinding=n,bs({el:e,attr:nO,watcher:[()=>V.language,()=>iO({el:e})]})},componentUpdated(e,n){e.__currentBinding.value!==n.value&&(e.__currentBinding=n,iO({el:e}))},unbind:e=>xs({el:e,attr:nO})};vt();ln();var sO="g3w-v-t-plugin-id",oO={bind(e,n){let i=e.innerHTML;bs({el:e,attr:sO,watcher:[()=>V.language,()=>{let r=n.value!==null?tc(n.value):"";switch(n.arg?n.arg:"post"){case"pre":e.innerHTML=`${r} ${i}`;break;case"post":e.innerHTML=`${i} ${r}`;break}}]})},unbind:e=>xs({el:e,attr:sO})};vt();var aO="g3w-v-download-id",lO={bind(e,n){(typeof n.value!="boolean"||n.value)&&bs({el:e,attr:aO,watcher:[()=>V.download,i=>{let r=n.modifiers&&n.modifiers.show&&"hide"||"disabled";e.classList.toggle(`g3w-${r}`,r==="hide"?!i:i)}]})},unbind:e=>xs({el:e,attr:aO})};mu();xi();_r();M_();ln();Object.entries({ApplicationState:V,G3WObject:Et,Panel:fi,Component:zt,ApplicationService:bi,GUI:U,MapLayersStoresRegistry:Ec,IframePluginService:ff,App:Jw,BarLoader:Y_,Progressbar:X_,HelpDiv:Z_,DateTime:K_,Range:Q_,Tabs:J_,Divider:ey,getProject:Sc}).forEach(([e,n])=>console.assert(n!==void 0,`${e} is undefined`));Vue.component(Y_.name,Y_);Vue.component(X_.name,X_);Vue.component(Z_.name,Z_);Vue.component(K_.name,K_);Vue.component(Q_.name,Q_);Vue.component(J_.name,J_);Vue.component(ey.name,ey);Vue.filter("t",e=>He(e));Vue.filter("tPlugin",e=>e!==null?tc(e):"");Vue.directive("disabled",XA);Vue.directive("select2",QA);Vue.directive("t-tooltip",JA);Vue.directive("t-html",tO);Vue.directive("t",rO);Vue.directive("t-plugin",oO);Vue.directive("download",lO);Vue.use(fO());Vue.use({install(e){e.prototype.$t=He,e.prototype.g3wtemplate={font:Uy,addFontClass({name:n,className:i}={}){let r=this.font[n]===void 0;return r&&(this.font[n]=i),r},getFontClass(n){return this.font[n]||""}},e.prototype.$fa=e.prototype.g3wtemplate.getFontClass.bind(e.prototype.g3wtemplate),e.mixin({methods:{isMobile(){return isMobile.any}}})}},{});Vue.mixin({inheritAttrs:!1});var P1={},pl={};function r3(){$.extend($.fn.dataTableExt.oStdClasses,{sFilterInput:"form-control search"}),$.extend(!0,$.fn.dataTable.defaults,{language:{sSearch:"",searchPlaceholder:He("dosearch"),sLengthMenu:He("dataTable.lengthMenu"),paginate:{previous:"\xAB",next:"\xBB"},info:He("dataTable.info"),zeroRecords:He("dataTable.nodatafilterd"),infoFiltered:""}})}function Nte(){let e=V.querybuilder.searches,n=V.project.getId();return e[n]=e[n]||[],e[n]}function s3(e){return new Promise(function(n,i){let r=document.createElement("script");r.onload=n,r.onerror=o=>{console.warn(o),i(new Error("Failed to load script: "+e))},r.src=e,document.head.appendChild(r)})}var Rt=window.initConfig;V.user=Rt.user;bi.emit("initconfig",Rt);var F1=Rt.vendorkeys||{};Rt.baselayers.forEach(e=>{e.apikey&&(F1[e.servertype?e.servertype.toLowerCase():null]=e.apikey)});Object.keys(F1).forEach(e=>V.keys.vendorkeys[e]=F1[e]);Object.assign(Rt,{urls:Object.assign(Rt.urls||{},{ows:"ows",api:"api",initconfig:"api/initconfig",config:"api/config",baseurl:Rt.baseurl,frontendurl:Rt.frontendurl,staticurl:Rt.staticurl,clienturl:Rt.staticurl+Rt.client,mediaurl:Rt.mediaurl,vectorurl:Rt.vectorurl,proxyurl:Rt.proxyurl,rasterurl:Rt.rasterurl,interfaceowsurl:Rt.interfaceowsurl}),layout:Rt.layout||{},plugins:Rt.plugins||{},tools:Rt.tools||{tools:[]},views:Rt.views||{},user:Rt.user||null});Rt.layout.iframe=window.top!==window.self;V.lng=Rt.user.i18n||"en";V.language=Rt.user.i18n||"en";(Rt.i18n||[]).map(e=>e[0]).forEach(e=>V.i18n.plugins[e]={plugins:{}});Ba.init({lng:Rt.user.i18n,ns:"app",fallbackLng:"en",resources:cA});Mv(V.i18n.plugins);$.ajaxSetup({beforeSend:e=>{e.setRequestHeader("Accept-Language",Rt.user.i18n||"en")}});new Promise(async(e,n)=>{try{Rt.macrogroups=await ht.get({url:`/${V.user.i18n}/about/api/macrogroup/`})}catch(r){console.warn(r)}try{Rt.groups=await ht.get({url:`/${V.user.i18n}/about/api/group/nomacrogroup/`})}catch(r){console.warn(r)}Rt.layout.rightpanel=Object.assign(Rt.layout.rightpanel||{},{width:Rt.layout.rightpanel.width||50,height:Rt.layout.rightpanel.height||50,width_100:!1,height_100:!1}),V.gui.layout.app=Rt.layout,Rt.projects.forEach(r=>Object.assign(r,{baselayers:Rt.baselayers,minscale:Rt.minscale,maxscale:Rt.maxscale,crs:Rt.crs,vectorurl:Rt.vectorurl,rasterurl:Rt.rasterurl}));let i=setTimeout(()=>{n("Timeout")},ji);Sc(Rt.initproject,{map_theme:new URLSearchParams(location.search).get("map_theme")}).then(r=>{clearTimeout(i),Object.assign(V.project,r);let o=r.getLayersStore();V.catalog[o.getId()]=o,Ec.addLayersStore(o),g3wsdk.core.project.ProjectsRegistry.setCurrentProject(r),window.addEventListener("online",()=>{V.online=!0,bi.online()}),window.addEventListener("offline",()=>{V.online=!1,bi.offline()}),bi.emit("ready"),V.map.epsg=r.state.crs.epsg,V.iframe&&ff.init({project:r}),Object.keys(Fs).forEach(u=>{try{(window.localStorage.getItem(u)?JSON.parse(window.localStorage.getItem(u)):void 0)===void 0&&window.localStorage.setItem(u,JSON.stringify(Fs[u].value))}catch(c){console.warn(c)}}),e(!0)}).catch(r=>{console.warn(r),n(r)})}).then(()=>{r3(),(isMobile.any||(window.initConfig.layout||{}).iframe)&&$("body").addClass("sidebar-collapse"),new Vue({el:"#app",created(){Vue.component("app",Jw),Object.assign(pl,{sidebar:[new function(){let e=new zt({id:"spatialbookmarks",icon:U.getFontClass("bookmark"),iconColor:"#00bcd4",title:"sdk.spatialbookmarks.title",vueComponentObject:(mO(),Wn(gO)).default});return U.on("closecontent",()=>{e.state.open=!1}),e},Object.assign(new zt({id:"print",visible:window.initConfig.user.is_staff||(V.project.getPrint()||[]).length>0,icon:U.getFontClass("print"),iconColor:"#FF9B21",title:"print",service:{},internalComponent:new(Vue.extend((bO(),Wn(vO)).default))}),{_setOpen(e){this.getInternalComponent().showPrintArea(e)}}),new zt({id:"search",visible:!0,icon:U.getFontClass("search"),iconColor:"#8dc3e3",title:V.project.state.search_title||"search",service:Object.assign(new Et,{state:{searches:(V.project.state.search||[]).sort((e,n)=>`${e.name}`.localeCompare(n.name)),tools:[],querybuildersearches:Nte()},title:V.project.state.search_title||"search",addTool(e){this.state.tools.push(e)},addTools(e){for(let n of e)this.addTool(n)},showPanel(e){return new(Ow(),Wn(eA)).SearchPanel(e,!0)},getTitle(){return this.title},removeTools(){this.state.tools.splice(0)},stop(e){return Wt(Promise.resolve(e))},removeTool(){}}),actions:[{id:"querybuilder",class:`${U.getFontClass("calculator")} sidebar-button sidebar-button-icon`,tooltip:He("sdk.querybuilder.title"),fnc:()=>(U.closeContent(),U.closeSideBar(),new fi({title:He("sdk.querybuilder.title"),show:!0,vueComponentObject:(f1(),Wn(xO)).default})),style:{color:"#8DC3E3",padding:"6px",fontSize:"1.2em",borderRadius:"3px",marginRight:"5px"}}],vueComponentObject:(EO(),Wn(SO)).default}),new function(){let e={id:"tools",icon:U.getFontClass("tools"),iconColor:"#FFE721",toolsGroups:[],visible:!1,loading:!1},n=new Et({setters:{addTool(o,{title:u,position:c}){let f=e.toolsGroups.find(p=>p.name===u);return f||(f={name:u,tools:[]},e.toolsGroups.splice(c,0,f)),f.tools.push(Object.assign(o,{state:o.state||{type:null,message:null},action:o.action||(P1[o.type]||qi).bind(null,o.options)}))},addToolGroup(o,u){let c=e.toolsGroups.find(f=>f.name===u);return c||(c={name:u,tools:[]},e.toolsGroups.splice(o,0,c)),c},addTools(o,u){o.forEach(c=>this.addTool(c,u))},removeToolGroup(o){e.toolsGroups=e.toolsGroups.filter(u=>u.name!==o)},removeTools(){e.toolsGroups.splice(0)}}});n.state=e,n.config=null,n.getState=()=>e,n.reload=()=>{n.removeTools()},n.setLoading=(o=!1)=>{e.loading=o},n.ACTIONS=P1;let i=V.project.getState().tools||{};for(let o in i)n.addToolGroup(0,o.toUpperCase()),n.addTools(i[o].map(u=>({name:u.name,action:P1[o].bind(null,u)})),{position:0,title:o.toUpperCase()});let r=new zt({id:"tools",icon:U.getFontClass("tools"),iconColor:"#FFE721",title:"tools",service:n,internalComponent:new(Vue.extend({template:`
    • diff --git a/g3w-admin/client/static/client/app.min.js.map b/g3w-admin/client/static/client/app.min.js.map index d216de2ab..ad309f2f0 100644 --- a/g3w-admin/client/static/client/app.min.js.map +++ b/g3w-admin/client/static/client/app.min.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/package.json", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-constants.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/noop.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/debounce.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/throttle.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/wolfy87-eventemitter/EventEmitter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-object.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/store/application.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/application.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/is3DGeometry.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/addZValue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/removeZValue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/isMultiGeometry.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/isPointGeometryType.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/isLineGeometryType.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/isPolygonGeometryType.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jszip/dist/jszip.min.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/proj4/dist/proj4-src.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getUniqueDomId.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/createSelectedStyle.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getAlphanumericPropertiesFromFeature.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/localforage/dist/localforage.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/store/plugins.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/normalizeEpsg.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/store/projections.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getScaleFromResolution.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getResolutionFromScale.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/createFilterFromString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/promisify.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash.clonedeep/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/util-deprecate/browser.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-component.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-panel.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/groupBy.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/XHR.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/typeof.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/toPrimitive.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/toPropertyKey.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/defineProperty.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/objectSpread.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/classCallCheck.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/createClass.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/assertThisInitialized.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/getPrototypeOf.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/setPrototypeOf.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/inherits.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/arrayLikeToArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/iterableToArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/nonIterableSpread.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/toConsumableArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/arrayWithHoles.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/nonIterableRest.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@babel/runtime/helpers/slicedToArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/i18next/dist/cjs/i18next.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-i18n.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/data.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/iframe.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/toRawType.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getListableProjects.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getProjectUrl.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/SidebarItem.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FormHeader.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FormFooter.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Form.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getCatalogLayerById.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/autocomplete.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Field.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldText.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldLink.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/vue2-teleport/dist/teleport.esm.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldImage.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldGeo.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldMedia.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldVue.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/fields/fields.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/fields/fieldsservice.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/fields.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/media.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/geo.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/resize.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/select.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/select2.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/form-inputs.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/base-input.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputBase.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/integer/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/float/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/radio/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/checkbox/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/range/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/convertQGISDateTimeFormatToMoment.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/datetimepicker/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/unique/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/select/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/media/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/sliderrange/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/lonlat/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/services.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/input.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputText.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/text/vue/text.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_freeGlobal.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_root.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Symbol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getRawTag.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_objectToString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseGetTag.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isObjectLike.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/identity.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isFunction.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_coreJsData.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_isMasked.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_toSource.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsNative.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getValue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getNative.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_WeakMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseCreate.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_apply.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_copyArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_shortOut.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/constant.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_defineProperty.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseSetToString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_setToString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_arrayEach.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_isIndex.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseAssignValue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/eq.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_assignValue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_copyObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_overRest.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseRest.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isLength.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isArrayLike.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_isIterateeCall.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_createAssigner.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_isPrototype.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseTimes.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsArguments.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isArguments.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/stubFalse.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isBuffer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsTypedArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseUnary.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_nodeUtil.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isTypedArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_arrayLikeKeys.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_overArg.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_nativeKeys.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseKeys.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/keys.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_nativeKeysIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseKeysIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/keysIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_nativeCreate.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_hashClear.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_hashDelete.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_hashGet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_hashHas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_hashSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Hash.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_listCacheClear.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_assocIndexOf.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_listCacheDelete.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_listCacheGet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_listCacheHas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_listCacheSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_ListCache.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Map.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_mapCacheClear.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_isKeyable.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getMapData.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_mapCacheDelete.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_mapCacheGet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_mapCacheHas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_mapCacheSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_MapCache.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_arrayPush.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getPrototype.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isPlainObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_stackClear.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_stackDelete.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_stackGet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_stackHas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_stackSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Stack.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseAssign.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseAssignIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cloneBuffer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_arrayFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/stubArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getSymbols.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_copySymbols.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getSymbolsIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_copySymbolsIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseGetAllKeys.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getAllKeys.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getAllKeysIn.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_DataView.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Promise.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Set.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_getTag.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_initCloneArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_Uint8Array.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cloneArrayBuffer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cloneDataView.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cloneRegExp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cloneSymbol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cloneTypedArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_initCloneByTag.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_initCloneObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseClone.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/cloneDeep.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_setCacheAdd.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_setCacheHas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_SetCache.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_arraySome.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_cacheHas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_equalArrays.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_mapToArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_setToArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_equalByTag.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_equalObjects.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsEqualDeep.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseIsEqual.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_createBaseFor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseFor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_assignMergeValue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isArrayLikeObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_safeGet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/toPlainObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseMergeDeep.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/_baseMerge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/isEqual.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/merge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash-es/lodash.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/scope.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/attributor/attributor.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/error.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/registry.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/attributor/class.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/attributor/style.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/attributor/store.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/abstract/shadow.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/abstract/leaf.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/collection/linked-list.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/abstract/parent.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/inline.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/block.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/abstract/container.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/embed.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/scroll.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parchment/src/blot/text.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/fast-diff/diff.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/lodash.isequal/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill-delta/src/AttributeMap.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill-delta/src/Op.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill-delta/src/OpIterator.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/quill-delta/src/Delta.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/break.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/text.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/inline.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/block.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/cursor.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/eventemitter3/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/eventemitter3/index.mjs", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/instances.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/logger.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/emitter.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/selection.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/editor.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/module.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/embed.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/composition.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/theme.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/utils/scrollRectIntoView.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/utils/createRegistryWithFormats.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core/quill.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/container.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/blots/scroll.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/align.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/color.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/background.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/code.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/direction.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/font.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/size.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/keyboard.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/normalizeExternalHTML/normalizers/googleDocs.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/normalizeExternalHTML/normalizers/msWord.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/normalizeExternalHTML/index.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/clipboard.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/history.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/uploader.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/input.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/uiNode.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/core.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/indent.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/blockquote.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/header.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/list.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/bold.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/italic.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/link.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/script.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/strike.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/underline.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/formula.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/image.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/video.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/syntax.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/formats/table.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/table.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/modules/toolbar.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/ui/icons.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/ui/picker.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/ui/color-picker.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/ui/icon-picker.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/ui/tooltip.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/themes/base.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/themes/bubble.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/themes/snow.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/src/quill.ts", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputTextHtml.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/texthtml/vue/texthtml.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputTextArea.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/textarea/vue/textarea.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputInteger.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/integer/vue/integer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputFloat.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/float/vue/float.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputRadio.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/radio/vue/radio.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputCheckbox.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/checkbox/vue/checkbox.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputRange.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/range/vue/range.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputDateTimePicker.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/datetimepicker/vue/datetimepicker.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputUnique.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/unique/vue/unique.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/interactions/pickfeatureinteraction.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/interactions/pickcoordinatesinteraction.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/picklayer/service.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/saveBlob.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/prompt.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FieldG3W.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Table.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/sanitizeFidFeature.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/reverseGeometry.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/feature.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/parsers/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/get_legend_params.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/createRelationsUrl.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/layer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputSelect.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/select/vue/select.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputMedia.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/media/vue/media.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputPickLayer.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/picklayer/vue/picklayer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputColor.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/color/vue/color.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputSliderRange.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/sliderrange/vue/sliderrange.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputLonLat.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/app/gui/inputs/lonlat/vue/lonlat.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputG3W.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/InputG3WFormInputs.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/FormBody.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getDefaultExpression.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getFilterExpression.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/g3w-form.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/ProjectsMenu.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/gui.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/interactioncontrol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-eventbus.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/queryby.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/geolocationcontrol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/streetviewcontrol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/scalecontrol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/sameOrigin.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/screenshotcontrol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/createMeasureTooltip.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/removeMeasureTooltip.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/controls/measurecontrol.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/MapControlZoomHistory.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsActionChooseLayer.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/flattenObject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/convertSingleMultiGeometry.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getCatalogLayers.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/MapControlGeocoding.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/waitFor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/featuresstore.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/tablelayer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/geo-mixin.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/vectorlayer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/imagelayer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/map/layers/layersstore.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getProject.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/map.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getMapLayersByFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/NumberUtil.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Exception.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/IllegalArgumentException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Long.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Double.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Comparable.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/io/Serializable.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/RuntimeException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/AssertionFailedException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/Assert.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Cloneable.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Comparator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Coordinate.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateXY.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateXYM.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateXYZM.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/hasInterface.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Collection.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/IndexOutOfBoundsException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/List.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/NoSuchElementException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/ArrayList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateSequenceFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Envelope.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/StringBuffer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Integer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/Character.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/IllegalStateException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/math/DD.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/CGAlgorithmsDD.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateSequence.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Orientation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Intersection.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/System.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/math/MathUtil.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Distance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Length.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/GeometryComponentFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/UnsupportedOperationException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Coordinates.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateArrays.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Dimension.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Geometry.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Lineal.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateSequences.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/GeometryFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/LineString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/LinearRing.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/CoordinateSequenceFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/lang/StringBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/impl/CoordinateArraySequence.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/impl/CoordinateArraySequenceFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Set.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/SortedSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/TreeSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Arrays.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/GeometryCollection.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Polygonal.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/MultiPolygon.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Map.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/HashSet.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/HashMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/PrecisionModel.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/MultiLineString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Puntal.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Point.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Area.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Polygon.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/MultiPoint.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/GeometryFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/WKTParser.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/WKTWriter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/LineIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/RobustLineIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/LineSegment.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Location.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/IntersectionMatrix.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Angle.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/NotRepresentableException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/HCoordinate.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/Triangle.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/NoninvertibleTransformationException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/AffineTransformation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/math/Matrix.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/AffineTransformationBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/AffineTransformationFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/ComponentCoordinateExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/GeometryCollectionMapper.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/GeometryCombiner.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/GeometryEditor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/GeometryExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/GeometryMapper.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/GeometryTransformer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/LineStringExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/LinearComponentExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Collections.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/PointExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/PolygonExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/ShortCircuitedGeometryVisitor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/GeometricShapeFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/util/SineStarFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/distance/PointPairDistance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/distance/DistanceToPoint.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/ItemVisitor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/locate/PointOnGeometryLocator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/intervalrtree/IntervalRTreeNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/intervalrtree/IntervalRTreeLeafNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/intervalrtree/IntervalRTreeBranchNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/intervalrtree/SortedPackedIntervalRTree.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/ArrayListVisitor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/RayCrossingCounter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/PointLocation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Iterator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/GeometryCollectionIterator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/match/SimilarityMeasure.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/BufferParameters.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/SegmentPointComparator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/SegmentNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/SortedMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/TreeMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/SegmentNodeList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/Octant.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/SegmentString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/NodableSegmentString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/NodedSegmentString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/Noder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/ScaledNoder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geom/TopologyException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/NodingValidator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/Boundable.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/ItemBoundable.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/node_modules/fastpriorityqueue/FastPriorityQueue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/PriorityQueue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/SpatialIndex.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/AbstractNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/EnvelopeDistance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/BoundablePair.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/AbstractSTRtree.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/ItemDistance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/strtree/STRtree.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/chain/MonotoneChainOverlapAction.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/chain/MonotoneChain.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/Quadrant.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/chain/MonotoneChainBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/SinglePassNoder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/MCIndexNoder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/snapround/HotPixel.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/chain/MonotoneChainSelectAction.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/snapround/MCIndexPointSnapper.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/SegmentIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/InteriorIntersectionFinderAdder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/snapround/MCIndexSnapRounder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/Position.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/EmptyStackException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/Stack.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/RightmostEdgeFinder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/util/LinkedList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/BufferSubgraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/BufferInputLineSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/OffsetSegmentString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/OffsetSegmentGenerator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/OffsetCurveBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/TopologyLocation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/Label.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/GraphComponent.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/Node.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/NodeMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/NodeFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeEnd.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/DirectedEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/PlanarGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeRing.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/MinimalEdgeRing.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/MaximalEdgeRing.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/PolygonBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/SubgraphDepthLocater.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/OffsetCurveSetBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeEndStar.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/DirectedEdgeStar.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/OverlayNodeFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/OrientedCoordinateArray.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/IntersectionAdder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeIntersection.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeIntersectionList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/Depth.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/IntArrayList.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/MonotoneChainIndexer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/MonotoneChainEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/Edge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/BufferBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/buffer/BufferOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/snap/LineStringSnapper.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/snap/GeometrySnapper.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/CommonBits.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/CommonBitsRemover.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/LineBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/PointBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/BoundaryNodeRule.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/PointLocator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/BasicSegmentString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/NodingIntersectionFinder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/noding/FastNodingValidator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/EdgeNodingValidator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/EdgeSetIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/SegmentIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/MonotoneChain.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/SweepLineEvent.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/index/SimpleMCSweepLineIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/geomgraph/GeometryGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/GeometryGraphOperation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/OverlayOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/snap/SnapOverlayOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/overlay/snap/SnapIfNeededOverlayOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/union/UnionOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/match/SimilarityMeasureCombiner.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/Centroid.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/UniqueCoordinateArrayFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/ConvexHull.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/InteriorPointArea.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/InteriorPointLine.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/InteriorPointPoint.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/MinimumBoundingCircle.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/MinimumDiameter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/densify/Densifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/edgegraph/HalfEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/edgegraph/MarkHalfEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/edgegraph/EdgeGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/dissolve/DissolveHalfEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/dissolve/DissolveEdgeGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/dissolve/LineDissolver.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/kdtree/KdNodeVisitor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/kdtree/KdNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/kdtree/KdTree.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/NodeBase.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/DoubleBits.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/Key.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/Node.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/IntervalSize.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/Root.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/index/quadtree/Quadtree.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/GeoJSONParser.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/OL3Parser.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/GeoJSONReader.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/GeoJSONWriter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/io/WKTReader.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/BoundaryOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/IsSimpleOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/distance/GeometryLocation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/distance/ConnectedElementLocationFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/distance/DistanceOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/linemerge/EdgeString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/GraphComponent.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/DirectedEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/linemerge/LineMergeDirectedEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/Edge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/DirectedEdgeStar.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/Node.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/linemerge/LineMergeEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/NodeMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/PlanarGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/linemerge/LineMergeGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/linemerge/LineMerger.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/Subgraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/planargraph/algorithm/ConnectedSubgraphFinder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/linemerge/LineSequencer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/valid/ConnectedInteriorTester.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/EdgeEndBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/EdgeEndBundle.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/EdgeEndBundleStar.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/RelateNode.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/RelateNodeFactory.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/RelateNodeGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/valid/ConsistentAreaTester.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/valid/IndexedNestedRingTester.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/valid/TopologyValidationError.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/valid/IsValidOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/polygonize/EdgeRing.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/polygonize/HoleAssigner.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/polygonize/PolygonizeDirectedEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/polygonize/PolygonizeEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/polygonize/PolygonizeGraph.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/polygonize/Polygonizer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/RelateComputer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/predicate/RectangleContains.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/algorithm/RectangleLineIntersector.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/predicate/RectangleIntersects.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/relate/RelateOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/union/InputExtracter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/union/PointGeometryUnion.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/union/OverlapUnion.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/union/CascadedPolygonUnion.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/union/UnaryUnionOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/CommonBitsOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/PrecisionReducerCoordinateOperation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/GeometryPrecisionReducer.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/distance/FacetSequence.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/operation/distance/FacetSequenceTreeBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/MinimumClearance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/SimpleMinimumClearance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/precision/EnhancedPrecisionOp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/DouglasPeuckerLineSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/TaggedLineSegment.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/TaggedLineString.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/LineSegmentIndex.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/TaggedLineStringSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/TaggedLinesSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/TopologyPreservingSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/VWLineSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/simplify/VWSimplifier.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdgeLocator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/LastFoundQuadEdgeLocator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/Segment.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/SplitSegment.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/ConstraintSplitPointFinder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/NonEncroachingSplitPointFinder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/TrianglePredicate.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/Vertex.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/ConstraintVertex.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdge.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/IncrementalDelaunayTriangulator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/LocateFailureException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/TriangleVisitor.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdgeSubdivision.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/ConstraintEnforcementException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/ConformingDelaunayTriangulator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LinearIterator.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LengthIndexOfPoint.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LinearGeometryBuilder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/ExtractLineByLocation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LinearLocation.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LocationIndexOfPoint.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LocationIndexOfLine.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LengthLocationMap.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LengthIndexedLine.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/linearref/LocationIndexedLine.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/CollectionUtil.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/CoordinateArrayFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/CoordinateCountFilter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/ObjectCounter.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/PriorityQueue.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/io/PrintStream.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/io/StringReader.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/io/LineNumberReader.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/io/ByteArrayOutputStream.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/java/io/IOException.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/util/StringUtil.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/org/locationtech/jts/monkey.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/jsts/src/jsts.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/within.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/intersects.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/createFilterFormInputs.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getDataForSearchInput.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/SearchPanel.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/g3w-search.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/vue-cookie-law/dist/vue-cookie-law.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/vue-color/dist/vue-color.min.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/types.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/dbf/src/fieldsize.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/dbf/src/lib.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/dbf/src/fields.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/dbf/src/structure.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/dbf/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/prj.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/extent.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/points.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/poly.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/write.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/geojson.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/zip.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/file-saver/src/FileSaver.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/src/download.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/@mapbox/shp-write/dist/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/tiny-cookie/tiny-cookie.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/vue-cookie/src/vue-cookie.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/SpatialBookMarks.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/printAtlas.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/PrintPage.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Print.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryBuilder.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Tool.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Search.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/CatalogChangeMapThemes.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/mixins/click.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/CatalogLayerLegend.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/CatalogTristateTree.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Catalog.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsActionDownloadFormats.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsActionQueryPolygonCSVAttributes.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/copyUrl.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Relations.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Relation.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/RelationsPage.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/queryresults.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsTableAttributeFieldValue.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsActionInfoFormats.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsAction.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsActions.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsHeaderFeatureBody.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResultsHeaderFeatureActionsBody.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/QueryResults.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/Map.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-globals.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getOLGeometry.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/createVectorLayerFromFile.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/shpjs/lib/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/but-unzip/index.browser.min.mjs", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/shpjs/lib/unzip.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/shpjs/lib/combine.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/shpjs/lib/binaryajax.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/shpjs/lib/parseShp.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parsedbf/decoder.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/node_modules/parsedbf/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/areCoordinatesEqual.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/splitFeature.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/dissolve.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/distance.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/getProjectConfigByGid.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/services/tasks.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/inherit.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/utils/base.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/g3w-plugin.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/index.prod.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/it.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/en.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/fi.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/se.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/fr.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/de.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/ro.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/pl.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/locales/index.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/App.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/UserMessage.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/CatalogContextMenu.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/ModalLogin.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/ModalAddLayer.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/ModalChangeMap.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/ModalMetadata.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalBarLoader.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalProgressBar.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalHelpDiv.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalDateTime.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalRange.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalTabs.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalTabsNode.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/components/GlobalDivider.vue", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-disabled.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-select2.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/utils.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-t-tooltip.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-t-html.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-t.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-t-plugin.js", "../../../../../../../tmp/f2d19a4a-1918-4911-88cf-72ebce23404b/src/directives/v-download.js"], - "sourcesContent": ["{\n \"name\": \"g3w-client\",\n \"version\": \"4.0.0-alpha.0\",\n \"description\": \"Gis3W WebGIS Client\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"preinstall\": \"\",\n \"build\": \"gulp version && gulp build\",\n \"dev\": \"gulp dev\",\n \"docker\": \"docker compose --env-file ../g3w-suite-docker/.env --file ../g3w-suite-docker/docker-compose-dev.yml --project-name g3w-suite-docker --project-directory ../g3w-suite-docker\",\n \"docker:pull\": \"npm run docker pull\",\n \"docker:up\": \"npm run docker up -- -d\",\n \"docker:down\": \"npm run docker down\",\n \"docker:config\": \"npm run docker config\",\n \"docker:logs\": \"npm run docker logs\",\n \"test\": \"\",\n \"preversion\": \"npm run test\",\n \"version\": \"npm run build && git add -A\",\n \"postversion\": \"git push && git push --tags\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/g3w-suite/g3w-client.git\"\n },\n \"author\": \"\",\n \"license\": \"MPL-2.0\",\n \"homepage\": \"https://github.com/g3w-suite/g3w-client.git\",\n \"dependencies\": {\n \"@fortawesome/fontawesome-free\": \"^5.15.4\",\n \"@mapbox/shp-write\": \"^0.4.3\",\n \"@ungap/with-resolvers\": \"^0.1.0\",\n \"bootstrap\": \"^3.3.7\",\n \"datatables.net-dt\": \"^1.10.16\",\n \"eonasdan-bootstrap-datetimepicker\": \"^4.17.49\",\n \"i18next\": \"^18.0.1\",\n \"ismobilejs\": \"^1.1.1\",\n \"jquery\": \"^2.2.1\",\n \"jsts\": \"^2.11.3\",\n \"jszip\": \"^3.10.1\",\n \"localforage\": \"^1.10.0\",\n \"lodash.clonedeep\": \"^4.5.0\",\n \"moment\": \"^2.19.1\",\n \"ol\": \"^10.3.1\",\n \"proj4\": \"^2.14.0\",\n \"quill\": \"^2.0.0-dev.4\",\n \"scriptjs\": \"^2.5.9\",\n \"select2\": \"^4.0.4\",\n \"shpjs\": \"^6.1.0\",\n \"util-deprecate\": \"^1.0.2\",\n \"vue\": \"2.7.16\",\n \"vue-color\": \"^2.8.1\",\n \"vue-cookie\": \"^1.1.4\",\n \"vue-cookie-law\": \"^1.13.3\",\n \"vue2-teleport\": \"^1.1.4\",\n \"wolfy87-eventemitter\": \"^5.2.9\"\n },\n \"devDependencies\": {\n \"del\": \"^2.2.2\",\n \"esbuild\": \"^0.24.0\",\n \"esbuild-vue\": \"^1.2.2\",\n \"gulp\": \"^4.0.2\",\n \"gulp-flatten\": \"^0.2.0\",\n \"gulp-prompt\": \"^1.2.0\",\n \"gulp-rename\": \"^1.2.2\",\n \"jshint\": \"^2.9.1\",\n \"jshint-stylish\": \"^2.1.0\",\n \"uglify-js\": \"^2.6.2\",\n \"vue-template-compiler\": \"2.7.16\"\n },\n \"engines\": {\n \"node\": \">=22.9.0\",\n \"npm\": \">=10.8.3\"\n }\n}\n", "/**\n * @file all contants values used on application\n * @since 3.11.0\n */\n\n//@ts-check\n\n/**\n * @TODO we can safely import \"version\" from \"package.json\" when we will use native ES Modules\n */\nexport { version as APP_VERSION } from '../package.json';\n\n/**\n * Default editing capabilities\n * @deprecated Will be removed in 4.x. Moved to g3w-client-plugin-editing\n * \n * @type {string[]}\n */\nexport const DEFAULT_EDITING_CAPABILITIES = [\n 'add_feature',\n 'change_feature',\n 'change_attr_feature',\n 'delete_feature'\n];\n\n/**\n * fid name field referred to fid feature\n * \n * @type {string}\n */\nexport const G3W_FID = 'g3w_fid'; \n\n/**\n * @type {Object}\n * @since v3.5\n */\nexport const FILTER_OPERATORS = {\n gte: '>=',\n lte: '<=',\n NOT: '!=',\n eq: '=',\n gt: '>',\n lt: '<',\n IN: 'IN',\n LIKE: 'LIKE',\n ILIKE: 'ILIKE',\n AND: 'AND',\n OR: 'OR',\n};\n\n/**\n * @type {Object}\n * @since v3.5\n */\nexport const FILTER_EXPRESSION_OPERATORS = {\n lte: '<=',\n ltgt: '!=',\n ilike: 'ILIKE',\n like: 'LIKE',\n ...FILTER_OPERATORS,\n};\n\n/**\n * Geometry fields used to exclude or get geometry information from server request\n * \n * @type {string[]}\n */\n export const GEOMETRY_FIELDS = [\n 'geometryProperty',\n 'boundedBy',\n 'geom',\n 'the_geom',\n 'geometry',\n 'bbox',\n 'GEOMETRY',\n 'geoemtria',\n 'geometria'\n];\n\n/**\n * @type {Object}\n */\nexport const GEOMETRY_TYPES = {\n POINT: \"Point\",\n POINTZ: \"PointZ\",\n POINTM: \"PointM\",\n POINTZM: \"PointZM\",\n POINT25D: \"Point25D\",\n MULTIPOINT: \"MultiPoint\",\n MULTIPOINTZ: \"MultiPointZ\",\n MULTIPOINTM: \"MutliPointM\",\n MULTIPOINTZM: \"MultiPointZM\",\n MULTIPOINT25D: \"MultiPoint25D\",\n LINESTRING: \"LineString\", // QGis definition .GeometryType, Line intead di Linestring.\n LINESTRINGZ: \"LineStringZ\",\n LINESTRINGM: \"LineStringM\",\n LINESTRINGZM: \"LineStringZM\",\n LINESTRING25D: \"LineString25D\",\n LINE: \"Line\",\n LINEZ: \"LineZ\",\n LINEM: \"LineM\",\n LINEZM: \"LineZM\",\n LINE25D: \"Line25D\",\n MULTILINESTRING: \"MultiLineString\",\n MULTILINESTRINGZ: \"MultiLineStringZ\",\n MULTILINESTRINGM: \"MultiLineStringM\",\n MULTILINESTRINGZM: \"MultiLineStringZM\",\n MULTILINESTRING25D: \"MultiLineString25D\",\n MULTILINE: \"MultiLine\",\n MULTILINEZ: \"MultiLineZ\",\n MULTILINEM: \"MultiLineM\",\n MULTILINEZM: \"MultiLineZM\",\n MULTILINE25D: \"MultiLine25D\",\n POLYGON: \"Polygon\",\n POLYGONZ: \"PolygonZ\",\n POLYGONM: \"PolygonM\",\n POLYGONZM: \"PolygonZM\",\n POLYGON25D: \"Polygon25D\",\n MULTIPOLYGON: \"MultiPolygon\",\n MULTIPOLYGONZ: \"MultiPolygonZ\",\n MULTIPOLYGONM: \"MultiPolygonM\",\n MULTIPOLYGONZM: \"MultiPolygonZM\",\n MULTIPOLYGON25D: \"MultiPolygon25D\",\n GEOMETRYCOLLECTION: \"GeometryCollection\",\n GEOMETRYCOLLECTIONZ: \"GeometryCollectionZ\",\n GEOMETRYCOLLECTIONM: \"GeometryCollectionM\",\n GEOMETRYCOLLECTIONZM: \"GeometryCollectionZM\",\n GEOMETRYCOLLECTION25D: \"GeometryCollection25D\"\n};\n\n/**\n * @type {Array<{ value: number, label: string }>}\n * @since v3.5\n */\nexport const PRINT_SCALES = [\n { value: 100, label: '1:100' },\n { value: 200, label: '1:200' },\n { value: 500, label: '1:500' },\n { value: 1000, label: '1:1.000' },\n { value: 2000, label: '1:2.000' },\n { value: 2500, label: '1:2.500' },\n { value: 5000, label: '1:5.000' },\n { value: 10000, label: '1:10.000' },\n { value: 20000, label: '1:20.000' },\n { value: 25000, label: '1:25.000' },\n { value: 50000, label: '1:50.000' },\n { value: 100000, label: '1:100.000' },\n { value: 250000, label: '1:250.000' },\n { value: 500000, label: '1:500.000' },\n { value: 1000000, label: '1:1.000.000' },\n { value: 2500000, label: '1:2.500.000' },\n { value: 5000000, label: '1:5.000.000' },\n { value: 10000000, label: '1:10.000.000' },\n { value: 20000000, label: '1:20.000.000' },\n { value: 50000000, label: '1:50.000.000' },\n { value: 100000000, label: '1:100.000.000' },\n { value: 250000000, label: '1:250.000.000' },\n { value: 500000000, label: '1:500.000.000' }\n];\n\n/**\n * Point tolerance when clicking on map\n * \n * @type {{unit: string, value: number}}\n */\nexport const QUERY_POINT_TOLERANCE = {\n unit: 'pixel',\n value: 10\n};\n\n/**\n * @type {string}\n * @since v3.5\n */\nexport const SEARCH_ALLVALUE = '__G3W_ALL__';\n\n/**\n * TIMEOUT (1 minute = 60000)\n * \n * @type {number}\n */\nexport const TIMEOUT = 60000;\n\n/**\n * @type {{resize: Object}}\n * @since v3.5\n */\nexport const VIEWPORT = {\n resize: {\n map: { min: 200 },\n content: { min: 200 },\n }\n};\n\n/**\n * List of default Font Awesome classes for current project\n * \n * @type {Object}\n * @since v3.8\n */\nexport const FONT_AWESOME_ICONS = {\n 'change-map': \"fas fa-map-signs\",\n map: \"far fa-map\",\n file: \"fas fa-file-code\",\n marker: \"fas fa-map-marker-alt\",\n relation: \"fas fa-sitemap\",\n tools: \"fas fa-cogs\",\n tool: \"fas fa-cog\",\n search: \"fas fa-search\",\n print: \"fas fa-print\",\n info: \"fas fa-info-circle\",\n 'info-circle': \"fas fa-info-circle\",\n globe: \"fas fa-globe\",\n mail: \"fas fa-envelope\",\n mobile: \"fas fa-mobile\",\n fax: \"fas fa-fax\",\n user: \"fas fa-user\",\n bars: \"fas fa-bars\",\n uncheck: \"far fa-square\",\n check: \"far fa-check-square\",\n /** @since 3.10.0 */\n checkmark: \"fa fa-check\",\n filluncheck: \"fas fa-square\",\n table: \"fas fa-table\",\n trash: \"fas fa-trash\",\n 'trash-o': \"far fa-trash-alt\",\n pencil: \"fas fa-pencil-alt\",\n 'ellips-h': \"fas fa-ellipsis-h\",\n 'ellips-v': \"fas fa-ellipsis-v\",\n 'arrow-up': \"fas fa-chevron-up\",\n 'arrow-down': \"fas fa-chevron-down\",\n 'arrow-left': \"fas fa-chevron-left\",\n 'arrow-right': \"fas fa-chevron-right\",\n 'resize-h': \"fas fa-arrows-alt-h\",\n 'resize-v': \"fas fa-arrows-alt-v\",\n 'resize-default': \"fas fa-compress\",\n 'caret-up': \"fas fa-caret-up\",\n 'caret-down': \"fas fa-caret-down\",\n 'caret-left': \"fas fa-caret-left\",\n 'caret-right': \"fas fa-caret-right\",\n 'empty-circle': \"far fa-circle\",\n 'cloud-upload': \"fas fa-cloud-upload-alt\",\n spinner: \"fas fa-spinner\",\n minus: \"fas fa-minus\",\n \"minus-square\": \"far fa-minus-square\",\n plus: \"fas fa-plus\",\n 'plus-circle': \"fas fa-plus-circle\",\n 'plus-square': \"far fa-plus-square\",\n grid: \"fas fa-th\",\n home: \"fas fa-home\",\n folder: \"fas fa-folder\",\n 'sign-out': \"fas fa-sign-out-alt\",\n close: \"fas fa-times\",\n time: \"far fa-clock\",\n calendar: \"fas fa-calendar-alt\",\n list: \"fas fa-list-alt\",\n link: \"fas fa-link\",\n unlink: \"fas fa-unlink\",\n eye: \"far fa-eye\",\n 'eye-close': \"far fa-eye-slash\",\n save: \"far fa-save\",\n pdf: \"fas fa-file-pdf\",\n image: \"far fa-image\",\n video: \"far fa-file-video\",\n unknow: \"far fa-question-circle\",\n zip: \"far fa-file-archive\",\n text: \"far fa-file-alt\",\n excel: \"far fa-file-excel\",\n xls: \"far fa-file-excel\",\n gpx: \"fas fa-location-arrow\",\n gpkg: \"fas fa-box-open\",\n shapefile: \"fas fa-file-archive\",\n csv: \"fas fa-file-csv\",\n geotiff: \"fas fa-th\",\n ppt: \"far fa-file-powerpoint\",\n circle: \"fas fa-circle\",\n calculator: \"fas fa-calculator\",\n picture: \"far fa-image\",\n keyboard: \"far fa-keyboard\",\n 'file-download': \"fas fa-file-download\",\n copy: \"far fa-copy\",\n draw: \"fas fa-draw-polygon\",\n chart: \"fas fa-chart-bar\",\n 'chart-line': \"fas fa-chart-line\",\n 'chart-area': \"fas fa-chart-area\",\n 'chart-pie': \"fas fa-chart-pie\",\n run: \"fas fa-play\",\n warning: \"fas fa-exclamation-circle\",\n alert: \"fas fa-exclamation-triangle\",\n crosshairs: \"fas fa-crosshairs\",\n success: \"far fa-check-circle\",\n back: \"fas fa-chevron-circle-left\",\n 'file-upload': \"fas fa-file-upload\",\n wifi: \"fas fa-wifi\",\n mouse: \"fas fa-mouse\",\n 'copy-paste': \"far fa-copy\",\n 'vector-square': \"fas fa-vector-square\",\n download: \"fas fa-download\",\n credits: \"fas fa-euro-sign\",\n filter: \"fas fa-filter\",\n plugin: \"fas fa-plug\",\n invert: \"fas fa-exchange-alt\",\n clear: \"fas fa-broom\",\n palette: \"fas fa-palette\",\n layers: \"fas fa-layer-group\",\n 'sign-in': \"fas fa-sign-in-alt\",\n language: \"fas fa-language\",\n target: \"fas fa-bullseye\",\n pin: \"fas fa-map-pin\",\n square: \"far fa-square\",\n move: \"fas fa-arrows-alt\",\n moon: \"fas fa-moon\",\n sun: \"fas fa-sun\",\n refresh: \"fas fa-sync-alt\",\n pause: \"fas fa-pause\",\n 'step-backward': \"fas fa-step-backward\",\n 'fast-backward': \"fas fa-fast-backward\",\n 'step-forward': \"fas fa-step-forward\",\n 'fast-forward': \"fas fa-fast-forward\",\n crop: \"fas fa-crop-alt\",\n exit: \"fas fa-door-open\",\n slider: \"fas fa-sliders-h\",\n /** @since 3.8.0 */\n bookmark: \"fas fa-bookmark\",\n /** @since 3.8.0 */\n reply: \"fas fa-reply\",\n /** @since 3.8.0 */\n share: \"fas fa-share\",\n /** @since 3.10.0 */\n 'share-alt': 'fa fa-share-alt',\n /**@since 3.10.0 */\n 'external-link': \"fa fa-external-link-alt\",\n /** @since 3.11.0 */\n pointer: 'fa fa-hand-pointer',\n /** @since 3.11.0 */\n camera: 'fas fa-camera-retro',\n /** @since 3.11.0 */\n measure: 'fas fa-ruler-horizontal',\n /** @since 3.11.0 */\n tint: 'fa fa-tint',\n /** @since 3.11.0 */\n sort: 'fa fa-sort',\n /** @since 3.11.0 */\n copyright: 'fa fa-copyright',\n /** @since 3.11.0 **/\n \"forward\": 'fas fa-angle-double-right',\n \"backward\": 'fas fa-angle-double-left'\n};\n\n/**\n * @typedef LocalItem\n * @property {string} id unique identifier\n * @property {any} value initial value\n */\n\n/**\n * LOCAL ITEM IDS - used to store id used by application\n * \n * @type {Object}\n * \n * @since v3.8\n */\nexport const LOCAL_ITEM_IDS = {\n\n MESSAGES: {\n id: 'MESSAGES',\n value: {}\n },\n\n SPATIALBOOKMARKS: {\n id: 'SPATIALBOOKMARKS',\n value: {}\n },\n\n};\n\n/**\n * List of Open Layers spatial methods used to find features\n * \n * @since 3.9.0\n */\nexport const SPATIAL_METHODS = ['intersects', 'within'];\n\n/**\n * DPI96\n * \n * DOTS_PER_INCH = ol.has.DEVICE_PIXEL_RATIO * 96;\n * \n * @since 3.10.0\n */\nexport const DOTS_PER_INCH = 96;\n\n/**\n * @since 3.10.0\n */\nexport const INCHES_PER_UNIT = {\n m: 39.37,\n degrees: 4374754\n};\n\n/**\n * Selection state \n * \n * @since 3.11.0\n */\nexport const SELECTION = {\n ALL: '__ALL__',\n EXCLUDE: '__EXCLUDE__'\n};\n\n/**\n * @since 3.11.0\n * Page length for pagination\n * @type {number[]}\n */\nexport const PAGELENGTHS = [10, 25, 50, 100];\n\nexport default {\n DEFAULT_EDITING_CAPABILITIES,\n DOTS_PER_INCH,\n FILTER_OPERATORS,\n FILTER_EXPRESSION_OPERATORS,\n FONT_AWESOME_ICONS,\n G3W_FID,\n GEOMETRY_FIELDS,\n GEOMETRY_TYPES,\n INCHES_PER_UNIT,\n LOCAL_ITEM_IDS,\n PRINT_SCALES,\n QUERY_POINT_TOLERANCE,\n SEARCH_ALLVALUE,\n SPATIAL_METHODS,\n TIMEOUT,\n VIEWPORT,\n PAGELENGTHS,\n};", "export function noop() {}", "\n/**\n * build debounce function\n */\nexport function debounce(func, delay = 500) {\n let timeout;\n return function (...args) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func(...args), delay);\n };\n}", "/**\n * build throttle function\n */\nexport function throttle(fnc, delay = 500) {\n let lastCall;\n return function (...args) {\n let previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || (lastCall - previousCall) > delay) { // throttle time has elapsed\n fnc(...args);\n }\n }\n}", "/*!\n * EventEmitter v5.2.9 - git.io/ee\n * Unlicense - http://unlicense.org/\n * Oliver Caldwell - https://oli.me.uk/\n * @preserve\n */\n\n;(function (exports) {\n 'use strict';\n\n /**\n * Class for managing events.\n * Can be extended to provide event functionality in other classes.\n *\n * @class EventEmitter Manages event registering and emitting.\n */\n function EventEmitter() {}\n\n // Shortcuts to improve speed and size\n var proto = EventEmitter.prototype;\n var originalGlobalValue = exports.EventEmitter;\n\n /**\n * Finds the index of the listener for the event in its storage array.\n *\n * @param {Function[]} listeners Array of listeners to search through.\n * @param {Function} listener Method to look for.\n * @return {Number} Index of the specified listener, -1 if not found\n * @api private\n */\n function indexOfListener(listeners, listener) {\n var i = listeners.length;\n while (i--) {\n if (listeners[i].listener === listener) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * Alias a method while keeping the context correct, to allow for overwriting of target method.\n *\n * @param {String} name The name of the target method.\n * @return {Function} The aliased method\n * @api private\n */\n function alias(name) {\n return function aliasClosure() {\n return this[name].apply(this, arguments);\n };\n }\n\n /**\n * Returns the listener array for the specified event.\n * Will initialise the event object and listener arrays if required.\n * Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.\n * Each property in the object response is an array of listener functions.\n *\n * @param {String|RegExp} evt Name of the event to return the listeners from.\n * @return {Function[]|Object} All listener functions for the event.\n */\n proto.getListeners = function getListeners(evt) {\n var events = this._getEvents();\n var response;\n var key;\n\n // Return a concatenated array of all matching events if\n // the selector is a regular expression.\n if (evt instanceof RegExp) {\n response = {};\n for (key in events) {\n if (events.hasOwnProperty(key) && evt.test(key)) {\n response[key] = events[key];\n }\n }\n }\n else {\n response = events[evt] || (events[evt] = []);\n }\n\n return response;\n };\n\n /**\n * Takes a list of listener objects and flattens it into a list of listener functions.\n *\n * @param {Object[]} listeners Raw listener objects.\n * @return {Function[]} Just the listener functions.\n */\n proto.flattenListeners = function flattenListeners(listeners) {\n var flatListeners = [];\n var i;\n\n for (i = 0; i < listeners.length; i += 1) {\n flatListeners.push(listeners[i].listener);\n }\n\n return flatListeners;\n };\n\n /**\n * Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.\n *\n * @param {String|RegExp} evt Name of the event to return the listeners from.\n * @return {Object} All listener functions for an event in an object.\n */\n proto.getListenersAsObject = function getListenersAsObject(evt) {\n var listeners = this.getListeners(evt);\n var response;\n\n if (listeners instanceof Array) {\n response = {};\n response[evt] = listeners;\n }\n\n return response || listeners;\n };\n\n function isValidListener (listener) {\n if (typeof listener === 'function' || listener instanceof RegExp) {\n return true\n } else if (listener && typeof listener === 'object') {\n return isValidListener(listener.listener)\n } else {\n return false\n }\n }\n\n /**\n * Adds a listener function to the specified event.\n * The listener will not be added if it is a duplicate.\n * If the listener returns true then it will be removed after it is called.\n * If you pass a regular expression as the event name then the listener will be added to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to attach the listener to.\n * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addListener = function addListener(evt, listener) {\n if (!isValidListener(listener)) {\n throw new TypeError('listener must be a function');\n }\n\n var listeners = this.getListenersAsObject(evt);\n var listenerIsWrapped = typeof listener === 'object';\n var key;\n\n for (key in listeners) {\n if (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {\n listeners[key].push(listenerIsWrapped ? listener : {\n listener: listener,\n once: false\n });\n }\n }\n\n return this;\n };\n\n /**\n * Alias of addListener\n */\n proto.on = alias('addListener');\n\n /**\n * Semi-alias of addListener. It will add a listener that will be\n * automatically removed after its first execution.\n *\n * @param {String|RegExp} evt Name of the event to attach the listener to.\n * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addOnceListener = function addOnceListener(evt, listener) {\n return this.addListener(evt, {\n listener: listener,\n once: true\n });\n };\n\n /**\n * Alias of addOnceListener.\n */\n proto.once = alias('addOnceListener');\n\n /**\n * Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.\n * You need to tell it what event names should be matched by a regex.\n *\n * @param {String} evt Name of the event to create.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.defineEvent = function defineEvent(evt) {\n this.getListeners(evt);\n return this;\n };\n\n /**\n * Uses defineEvent to define multiple events.\n *\n * @param {String[]} evts An array of event names to define.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.defineEvents = function defineEvents(evts) {\n for (var i = 0; i < evts.length; i += 1) {\n this.defineEvent(evts[i]);\n }\n return this;\n };\n\n /**\n * Removes a listener function from the specified event.\n * When passed a regular expression as the event name, it will remove the listener from all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to remove the listener from.\n * @param {Function} listener Method to remove from the event.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeListener = function removeListener(evt, listener) {\n var listeners = this.getListenersAsObject(evt);\n var index;\n var key;\n\n for (key in listeners) {\n if (listeners.hasOwnProperty(key)) {\n index = indexOfListener(listeners[key], listener);\n\n if (index !== -1) {\n listeners[key].splice(index, 1);\n }\n }\n }\n\n return this;\n };\n\n /**\n * Alias of removeListener\n */\n proto.off = alias('removeListener');\n\n /**\n * Adds listeners in bulk using the manipulateListeners method.\n * If you pass an object as the first argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.\n * You can also pass it a regular expression to add the array of listeners to all events that match it.\n * Yeah, this function does quite a bit. That's probably a bad thing.\n *\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to add.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addListeners = function addListeners(evt, listeners) {\n // Pass through to manipulateListeners\n return this.manipulateListeners(false, evt, listeners);\n };\n\n /**\n * Removes listeners in bulk using the manipulateListeners method.\n * If you pass an object as the first argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n * You can also pass it an event name and an array of listeners to be removed.\n * You can also pass it a regular expression to remove the listeners from all events that match it.\n *\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to remove.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeListeners = function removeListeners(evt, listeners) {\n // Pass through to manipulateListeners\n return this.manipulateListeners(true, evt, listeners);\n };\n\n /**\n * Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.\n * The first argument will determine if the listeners are removed (true) or added (false).\n * If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n * You can also pass it an event name and an array of listeners to be added/removed.\n * You can also pass it a regular expression to manipulate the listeners of all events that match it.\n *\n * @param {Boolean} remove True if you want to remove listeners, false if you want to add.\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to add/remove.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {\n var i;\n var value;\n var single = remove ? this.removeListener : this.addListener;\n var multiple = remove ? this.removeListeners : this.addListeners;\n\n // If evt is an object then pass each of its properties to this method\n if (typeof evt === 'object' && !(evt instanceof RegExp)) {\n for (i in evt) {\n if (evt.hasOwnProperty(i) && (value = evt[i])) {\n // Pass the single listener straight through to the singular method\n if (typeof value === 'function') {\n single.call(this, i, value);\n }\n else {\n // Otherwise pass back to the multiple function\n multiple.call(this, i, value);\n }\n }\n }\n }\n else {\n // So evt must be a string\n // And listeners must be an array of listeners\n // Loop over it and pass each one to the multiple method\n i = listeners.length;\n while (i--) {\n single.call(this, evt, listeners[i]);\n }\n }\n\n return this;\n };\n\n /**\n * Removes all listeners from a specified event.\n * If you do not specify an event then all listeners will be removed.\n * That means every event will be emptied.\n * You can also pass a regex to remove all events that match it.\n *\n * @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeEvent = function removeEvent(evt) {\n var type = typeof evt;\n var events = this._getEvents();\n var key;\n\n // Remove different things depending on the state of evt\n if (type === 'string') {\n // Remove all listeners for the specified event\n delete events[evt];\n }\n else if (evt instanceof RegExp) {\n // Remove all events matching the regex.\n for (key in events) {\n if (events.hasOwnProperty(key) && evt.test(key)) {\n delete events[key];\n }\n }\n }\n else {\n // Remove all listeners in all events\n delete this._events;\n }\n\n return this;\n };\n\n /**\n * Alias of removeEvent.\n *\n * Added to mirror the node API.\n */\n proto.removeAllListeners = alias('removeEvent');\n\n /**\n * Emits an event of your choice.\n * When emitted, every listener attached to that event will be executed.\n * If you pass the optional argument array then those arguments will be passed to every listener upon execution.\n * Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.\n * So they will not arrive within the array on the other side, they will be separate.\n * You can also pass a regular expression to emit to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n * @param {Array} [args] Optional array of arguments to be passed to each listener.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.emitEvent = function emitEvent(evt, args) {\n var listenersMap = this.getListenersAsObject(evt);\n var listeners;\n var listener;\n var i;\n var key;\n var response;\n\n for (key in listenersMap) {\n if (listenersMap.hasOwnProperty(key)) {\n listeners = listenersMap[key].slice(0);\n\n for (i = 0; i < listeners.length; i++) {\n // If the listener returns true then it shall be removed from the event\n // The function is executed either with a basic call or an apply if there is an args array\n listener = listeners[i];\n\n if (listener.once === true) {\n this.removeListener(evt, listener.listener);\n }\n\n response = listener.listener.apply(this, args || []);\n\n if (response === this._getOnceReturnValue()) {\n this.removeListener(evt, listener.listener);\n }\n }\n }\n }\n\n return this;\n };\n\n /**\n * Alias of emitEvent\n */\n proto.trigger = alias('emitEvent');\n\n /**\n * Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.\n * As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n * @param {...*} Optional additional arguments to be passed to each listener.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.emit = function emit(evt) {\n var args = Array.prototype.slice.call(arguments, 1);\n return this.emitEvent(evt, args);\n };\n\n /**\n * Sets the current value to check against when executing listeners. If a\n * listeners return value matches the one set here then it will be removed\n * after execution. This value defaults to true.\n *\n * @param {*} value The new value to check for when executing listeners.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.setOnceReturnValue = function setOnceReturnValue(value) {\n this._onceReturnValue = value;\n return this;\n };\n\n /**\n * Fetches the current value to check against when executing listeners. If\n * the listeners return value matches this one then it should be removed\n * automatically. It will return true by default.\n *\n * @return {*|Boolean} The current value to check for or the default, true.\n * @api private\n */\n proto._getOnceReturnValue = function _getOnceReturnValue() {\n if (this.hasOwnProperty('_onceReturnValue')) {\n return this._onceReturnValue;\n }\n else {\n return true;\n }\n };\n\n /**\n * Fetches the events object and creates one if required.\n *\n * @return {Object} The events storage object.\n * @api private\n */\n proto._getEvents = function _getEvents() {\n return this._events || (this._events = {});\n };\n\n /**\n * Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.\n *\n * @return {Function} Non conflicting EventEmitter class.\n */\n EventEmitter.noConflict = function noConflict() {\n exports.EventEmitter = originalGlobalValue;\n return EventEmitter;\n };\n\n // Expose the class either via AMD, CommonJS or the global object\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return EventEmitter;\n });\n }\n else if (typeof module === 'object' && module.exports){\n module.exports = EventEmitter;\n }\n else {\n exports.EventEmitter = EventEmitter;\n }\n}(typeof window !== 'undefined' ? window : this || {}));\n", "/**\n * @file ORIGINAL SOURCE: src/app/core/g3w-object.js@v3.10.2\n * @since 3.11.0\n */\n\nimport { noop } from 'utils/noop';\nimport { debounce } from 'utils/debounce';\nimport { throttle } from 'utils/throttle';\nimport EventEmitter from 'wolfy87-eventemitter';\n\n/**\n * Base object to handle a setter and its listeners.\n */\nexport default class G3WObject extends EventEmitter {\n\n /**\n * @TODO end support for legacy classes (ES5) and use private class fields instead (eg. `___setters` \u2192 `#setters`)\n */\n\n /** @type { Object } */\n ___setters;\n\n /** @type { Object } */\n ___throttles;\n\n /** @type { Object } */\n ___debounces;\n\n /** @type { Object } */\n ___listeners;\n\n get setters() {\n return this.___setters;\n };\n\n set setters(value) {\n this.___setters = value;\n if (value) {\n // all methods inside object \"setters\" of child class.\n this.___listeners = {\n after: {},\n before: {},\n };\n \n for (const setter in this.___setters) {\n // Array to push before and after subscribers\n this.___listeners.after[setter] = [];\n this.___listeners.before[setter] = [];\n \n // assign the property setter name to the object as own method\n this[setter] = function(...args) {\n //Return a Deferred object\n // When then method of defferred object is called, a new promise is return\n // and not the deferred.resolve value directly.\n // This is the reason why when we call setter methods return a promise and not the value\n return $.Deferred(deferred => {\n // listener count\n let count = 0;\n /**\n *\n * @param {undefined | Boolean} bool\n */\n const next = (bool) => {\n //check if it needs to skip (exit)\n const skip = (true === bool || false === bool) ? !bool : false;\n //get count of before subscribers on setter function\n const len = this.___listeners.before[setter].length;\n \n // abort in case of error bool false,\n // or we reached the end of onbefore subscriber\n if (skip) {\n (this.___setters[setter] instanceof Function ? noop : (this.___setters[setter].fallback || noop)).apply(this, args);\n deferred.reject();\n return;\n }\n \n // call complete method methods and check what returns\n if (count === len) {\n // run setter function (resolve promise)\n deferred.resolve((this.___setters[setter] instanceof Function ? this.___setters[setter] : this.___setters[setter].fnc).apply(this, args));\n // call all subscribed methods after setter\n const onceListeners = [];\n this\n .___listeners\n .after[setter]\n .forEach(listener => {\n listener.fnc.apply(this, args);\n if (listener.once) {\n onceListeners.push(listener.key);\n }\n });\n onceListeners.forEach(key => this.un(setter, key));\n this.emitEvent(`set:${setter}`, args);\n }\n // still call an onbefore listener subscribers\n if (count < len) {\n //get on before listener subscribes and increment count to 1\n const listener = this.___listeners.before[setter][count++];\n //check if it is async\n if (listener.async) {\n // add function next to argument of listener function\n args.push(next);\n listener.fnc.apply(this, args)\n } else {\n // return or undefined or a boolean to tell if ok(true) can continue or not (false)\n next(listener.fnc.apply(this, args));\n }\n //in case of listener subscribe function need to run just one time\n // after call remove it from listeners\n if (listener.once) {\n this.___listeners.before[setter].splice(count - 1, 1);\n }\n }\n };\n // run all the subscribers and setters\n next(true);\n });\n }\n }\n }\n };\n\n get throttles() {\n return this.___throttles;\n };\n\n set throttles(value) {\n this.___throttles = value;\n if (value) {\n console.warn('[G3W-CLIENT] throttles option is deprecated');\n console.trace();\n for (const name in this.___throttles) {\n this[name] = throttle(this.___throttles[name].fnc, this.___throttles[name].delay);\n }\n }\n };\n\n get debounces() {\n return this.___debounces;\n };\n\n set debounces(value) {\n this.___debounces = value;\n if (value) {\n console.warn('[G3W-CLIENT] debounces option is deprecated');\n console.trace();\n for (const name in this.___debounces) {\n this[name] = debounce(this.___debounces[name].fnc, this.___debounces[name].delay);\n }\n }\n };\n\n constructor(opts) {\n super(opts);\n\n opts = opts || {};\n\n // Register the chain of events\n this.setters = opts.setters || this.setters;\n this.throttles = opts.throttles || this.throttles;\n this.throttles = opts.debounces || this.debounces;\n }\n\n /**\n * Attach an event listener after executing a setter method\n * \n * @param {string} setter - function name to listen for \n * @param {function} listener - event listener (sync)\n * @param {number} priority - priority (lowest value executes first)\n */\n onafter(setter, listener, priority) {\n return this._onsetter('after', setter, listener, false, priority);\n }\n\n /**\n * Attach an event listener after executing a setter method (once)\n * \n * @param {string} setter - function name to listen for \n * @param {function} listener - event listener (sync)\n * @param {number} priority - priority (lowest value executes first)\n */\n onceafter(setter, listener, priority) {\n return this._onsetter('after', setter, listener, false, priority, true);\n }\n\n /**\n * Attach an event listener before executing a setter method\n * \n * @param {string} setter - function name to listen for\n * @param {function} listener - event listener (sync)\n * @param {number} priority - priority (lowest value executes first)\n */\n onbefore(setter, listener, priority) {\n return this._onsetter('before', setter, listener, false, priority);\n }\n\n /**\n * Attach an event listener before executing a setter method (once)\n * \n * @param {string} setter - function name to listen for\n * @param {function} listener - event listener (sync)\n * @param {number} priority - priority (lowest value executes first)\n */\n oncebefore(setter, listener, priority) {\n return this._onsetter('before', setter, listener, false, priority, true);\n }\n\n /**\n * Attatch an event listener before executing a setter method (once)\n * \n * @param {string} setter - function name to listen for\n * @param {function} listener - event listener (async)\n * @param {number} priority - priority (lowest value executes first)\n */\n onbeforeasync(setter, listener, priority) {\n return this._onsetter('before', setter, listener, true, priority);\n }\n\n /**\n * Loop each listeners (array) and find a setter key (before/after) to be removed\n */\n un(setter, key) {\n Object.entries(this.___listeners)\n .forEach(([_key, setters]) => {\n if (undefined === key) {\n setters[setter].splice(0);\n } else {\n setters[setter].forEach((listener, idx) => { listener.key === key && setters[setter].splice(idx, 1); })\n }\n });\n };\n\n/**\n * Register and handle listeners\n * \n * @param { 'before' | 'after' } when\n * @param { string } setter function name\n * @param { Object } listener\n * @param { Boolean } async\n * @param { Number } priority\n * @param { Boolean } once\n */\n _onsetter(when, setter, listener, async, priority = 0, once = false) {\n // unique listenerKey\n let key;\n // check if setter function is registered\n // and then add an info object to setter listeners\n // (sorted based on priority)\n if (this.___listeners && undefined !== this.___listeners[when][setter]) {\n key = `${Math.floor(Math.random() * 1000000) + Date.now()}`;\n this.___listeners[when][setter].push({ key, fnc: listener, async, priority, once});\n this.___listeners[when][setter] = this.___listeners[when][setter].sort((l1, l2) => l2.priority - l1.priority);\n }\n return key // in case of no setter register return undefined listenerKey\n }\n\n get(key) {\n return this[key] && !(this[key] instanceof Function) ? this[key] : null;\n }\n\n set(key, value) {\n this[key] = value;\n }\n\n};", "/**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nimport G3WObject from 'g3w-object';\n\n/**\n * State of application reactive\n * @type {object}\n */\nconst STATE = Vue.observable({\n\n /**\n * true = application is ready\n */\n ready: false,\n\n /**\n * true = application is loaded inside an iframe\n */\n iframe: window.top !== window.self,\n\n /**\n * true = application is connected\n */\n online: navigator.onLine,\n\n /**\n * true = application is loaded on a mobile device\n */\n ismobile: isMobile.any,\n \n /**\n * true = there is a pending download \n */\n download: false,\n\n /**\n * true = there is a pending upload\n */\n upload: false,\n\n /**\n * Store current map base layer id\n */\n baseLayerId: null,\n\n /**\n * en = default language\n */\n language: 'en',\n\n /**\n * @deprecated Since v3.8. Will be deleted in v4.x. Use ApplicationState.language instead\n */\n lng: 'en',\n\n /**\n * Store Array of loading plugins (by name)\n * Every time a plugin is loaded, plugin name is removed from Array\n * It used in v-plugins directive\n */\n plugins: [],\n\n /** @since 3.11.0 - plugin configs filtered by gid */\n pluginsConfigs: {},\n\n /** @since 3.11.0 - array of initConfig.plugins names */\n configurationPlugins: [],\n\n /**\n * Store application current user\n */\n user: null,\n\n /**\n * Store info of the application map\n */\n map: {\n epsg: '',\n unit: 'metric'\n },\n\n /**\n * Store info of the elements of GUI of the application\n */\n gui: {\n\n app: {\n /**\n * true = application is disabled and unclickable (waiting)\n */\n disabled: false\n },\n\n sidebar: {\n /**\n * true = sidebar is disabled (not responsive)\n */\n disabled: false,\n /**\n * @since v3.11.0\n * true open, false hide - icons only\n */\n open : true\n },\n\n layout: {\n /**\n * store the current layout owner (\"app\" = default)\n */\n __current: 'app',\n\n /**\n * Store application layout info (rightpanel)\n */\n app: {}\n\n }\n\n },\n\n /**\n * Sore vendor keys need it by application third part script\n */\n keys: {\n vendorkeys: {\n google: undefined,\n bing: undefined\n }\n },\n\n /**\n * Store tokens, used by server, for example, to filter features\n */\n tokens: {\n filtertoken: undefined\n },\n\n /**\n * @since 3.10.0\n */\n querybuilder: {\n cache: {},\n searches: JSON.parse(window.localStorage.getItem('QUERYBUILDERSEARCHES') || \"{}\"),\n },\n\n /**\n * @since 3.11.0\n */\n navbaritems: [],\n\n /**\n * @since 3.11.0\n */\n sidebar: {\n title: '',\n components: [],\n /** DOM element where insert the component/panel */\n parent: null,\n /** barstack state. It stores the panel array */\n contentsdata: [], // Array<{ content, options }> \n },\n\n contentsdata: [],\n\n /**\n * @since 3.11.0\n */\n viewport: {\n primaryView: 'map', // primary view (default)\n // percentage of secondary view\n secondaryPerc: 0, // setted to 0 at beginning (not visible)\n // used to store if content vertical or horizontal is changed by resised\n resized: {\n start: false,\n 'h': false,\n 'v': false\n },\n // splitting orientation (h = horizontal, v = vertical)\n split: 'h',\n //map\n map: {\n sizes: {\n width: 0,\n height: 0\n },\n aside: false\n },\n //content\n content: {\n loading: false,\n disabled: false,\n sizes: {\n width: 0,\n height: 0\n },\n // store the resize vertical or horizontal\n resize: {\n 'h': { perc: 0 },\n 'v': { perc: 0 }\n },\n aside: true,\n showgoback: true,\n stack: [], // array elements of stack contents\n closable: true, // (x) is closable\n backonclose: false, // back on prevoius content\n contentsdata: [], // content data array\n },\n usermessage: {\n id: null, // unique identify\n show: false,\n title: null,\n message: null,\n position: null,\n type: null,\n draggable: null,\n cloasable: null,\n autoclose: null,\n textMessage: false,\n hooks: {\n header: null,\n body: null,\n footer: null\n }\n },\n // content of viewport (map and content)\n components: {\n map: null,\n content: null\n },\n },\n\n sizes: {\n sidebar: {\n width:0\n }\n },\n\n /** @since 3.11.0 */\n i18n: {\n plugins: {} // plugins configs\n },\n\n /** @since 3.11.0 */\n project: new G3WObject,\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false,\n\n});\n\nexport default STATE;", "/**\n * @file\n * @since v3.6\n */\nimport { APP_VERSION } from 'g3w-constants';\nimport G3WObject from 'g3w-object';\n\nconst ApplicationService = new G3WObject({ setters: { online(){}, offline(){} }});\nApplicationService.version = APP_VERSION;\n\nexport default ApplicationService;", "import { GEOMETRY_TYPES } from 'g3w-constants';\n\nexport function is3DGeometry(geometryType) {\n return [\n GEOMETRY_TYPES.POINTZ,\n GEOMETRY_TYPES.POINTM,\n GEOMETRY_TYPES.POINTZM,\n GEOMETRY_TYPES.POINT25D,\n GEOMETRY_TYPES.MULTIPOINTZ,\n GEOMETRY_TYPES.MULTIPOINTM,\n GEOMETRY_TYPES.MULTIPOINTZM,\n GEOMETRY_TYPES.MULTIPOINT25D,\n GEOMETRY_TYPES.LINESTRINGZ,\n GEOMETRY_TYPES.LINESTRINGM,\n GEOMETRY_TYPES.LINESTRINGZM,\n GEOMETRY_TYPES.LINESTRING25D,\n GEOMETRY_TYPES.MULTILINESTRINGZ,\n GEOMETRY_TYPES.MULTILINESTRINGM,\n GEOMETRY_TYPES.MULTILINESTRINGZM,\n GEOMETRY_TYPES.MULTILINESTRING25D,\n GEOMETRY_TYPES.LINEZ,\n GEOMETRY_TYPES.LINEM,\n GEOMETRY_TYPES.LINEZM,\n GEOMETRY_TYPES.LINE25D,\n GEOMETRY_TYPES.MULTILINEZ,\n GEOMETRY_TYPES.MULTILINEM,\n GEOMETRY_TYPES.MULTILINEZM,\n GEOMETRY_TYPES.MULTILINE25D,\n GEOMETRY_TYPES.POLYGONZ,\n GEOMETRY_TYPES.POLYGONM,\n GEOMETRY_TYPES.POLYGONZM,\n GEOMETRY_TYPES.POLYGON25D,\n GEOMETRY_TYPES.MULTIPOLYGONZ,\n GEOMETRY_TYPES.MULTIPOLYGONM,\n GEOMETRY_TYPES.MULTIPOLYGONZM,\n GEOMETRY_TYPES.MULTIPOLYGON25D\n ].find(type3D => type3D === geometryType);\n}", "import { GEOMETRY_TYPES } from 'g3w-constants';\nimport { is3DGeometry } from 'utils/is3DGeometry';\n\n/**\n * @since 3.10.0 Add a 3d coordinate eventually, if coordinates are 2 (x, y)\n * @param coords\n * @return {*}\n */\nfunction add3DCoordinate(coords) {\n if (2 === coords.length) {\n coords.push(0);\n }\n return coords;\n}\n\n/**\n * core/geometry/geometry::addZValueToOLFeatureGeometry@v3.4\n */\nexport function addZValue({\n feature,\n geometryType,\n} = {}) {\n\n if (!is3DGeometry(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n const geometry = feature.getGeometry();\n const coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case GEOMETRY_TYPES.POINTZ:\n case GEOMETRY_TYPES.POINTM:\n case GEOMETRY_TYPES.POINTZM:\n case GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case GEOMETRY_TYPES.MULTIPOINTZ:\n case GEOMETRY_TYPES.MULTIPOINTM:\n case GEOMETRY_TYPES.MULTIPOINTZM:\n case GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case GEOMETRY_TYPES.LINESTRINGZ:\n case GEOMETRY_TYPES.LINESTRINGM:\n case GEOMETRY_TYPES.LINESTRINGZM:\n case GEOMETRY_TYPES.LINESTRING25D:\n case GEOMETRY_TYPES.LINEZ:\n case GEOMETRY_TYPES.LINEM:\n case GEOMETRY_TYPES.LINEZM:\n case GEOMETRY_TYPES.LINE25D:\n coords.forEach(c => add3DCoordinate(c));\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case GEOMETRY_TYPES.MULTILINESTRINGZ:\n case GEOMETRY_TYPES.MULTILINESTRINGM:\n case GEOMETRY_TYPES.MULTILINESTRINGZM:\n case GEOMETRY_TYPES.MULTILINESTRING25D:\n case GEOMETRY_TYPES.MULTILINEZ:\n case GEOMETRY_TYPES.MULTILINEM:\n case GEOMETRY_TYPES.MULTILINEZM:\n case GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(l => l.forEach(c => add3DCoordinate(c)));\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case GEOMETRY_TYPES.POLYGONZ:\n case GEOMETRY_TYPES.POLYGONM:\n case GEOMETRY_TYPES.POLYGONZM:\n case GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(c => add3DCoordinate(c));\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case GEOMETRY_TYPES.MULTIPOLYGONZ:\n case GEOMETRY_TYPES.MULTIPOLYGONM:\n case GEOMETRY_TYPES.MULTIPOLYGOZM:\n case GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(poly => poly[0].forEach(c => add3DCoordinate(c)));\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('invalid geometry type:', geometryType || geometry.getType());\n\n }\n\n return feature;\n}", "import { GEOMETRY_TYPES } from 'g3w-constants';\n\n/**\n * Remove Z values from geometry coordinates\n */\nexport function removeZValue({ feature } = {}) {\n\n const geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n const coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case GEOMETRY_TYPES.POINT:\n coords.splice(2);\n geometry.setCoordinates(coords);\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case GEOMETRY_TYPES.LINESTRING:\n case GEOMETRY_TYPES.LINE:\n coords.forEach(c => c.splice(2));\n geometry.setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case GEOMETRY_TYPES.MULTILINESTRING:\n case GEOMETRY_TYPES.MULTILINE:\n coords.forEach(line => line.forEach(c => c.splice(2)));\n geometry.setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(c => c.splice(2));\n geometry.setCoordinates(coords);\n break;\n\n // MULTIPOLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(poly => poly[0].forEach(c => c.splice(2)));\n geometry.setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n \n return feature;\n}", "import { GEOMETRY_TYPES } from 'g3w-constants';\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nexport function isMultiGeometry(geometryType) {\n return [\n GEOMETRY_TYPES.MULTIPOINT,\n GEOMETRY_TYPES.MULTIPOINTZ,\n GEOMETRY_TYPES.MULTIPOINTZM,\n GEOMETRY_TYPES.MULTIPOINTM,\n GEOMETRY_TYPES.MULTIPOINT25D,\n GEOMETRY_TYPES.MULTILINESTRING,\n GEOMETRY_TYPES.MULTILINESTRINGZ,\n GEOMETRY_TYPES.MULTILINESTRINGM,\n GEOMETRY_TYPES.MULTILINESTRINGZM,\n GEOMETRY_TYPES.MULTILINESTRING25D,\n GEOMETRY_TYPES.MULTILINE,\n GEOMETRY_TYPES.MULTILINEZ,\n GEOMETRY_TYPES.MULTILINEM,\n GEOMETRY_TYPES.MULTILINEZM,\n GEOMETRY_TYPES.MULTILINE25D,\n GEOMETRY_TYPES.MULTIPOLYGON,\n GEOMETRY_TYPES.MULTIPOLYGONZ,\n GEOMETRY_TYPES.MULTIPOLYGONM,\n GEOMETRY_TYPES.MULTIPOLYGONZM,\n GEOMETRY_TYPES.MULTIPOLYGON25D,\n ].includes(geometryType);\n}", "import { GEOMETRY_TYPES } from 'g3w-constants';\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nexport function isPointGeometryType(geometryType) {\n return [\n GEOMETRY_TYPES.POINT,\n GEOMETRY_TYPES.POINTZ,\n GEOMETRY_TYPES.POINTM,\n GEOMETRY_TYPES.POINTZM,\n GEOMETRY_TYPES.POINT25D,\n GEOMETRY_TYPES.MULTIPOINT,\n GEOMETRY_TYPES.MULTIPOINTZ,\n GEOMETRY_TYPES.MULTIPOINTM,\n GEOMETRY_TYPES.MULTIPOINTZM,\n GEOMETRY_TYPES.MULTIPOINT25D,\n ].includes(geometryType);\n}", "import { GEOMETRY_TYPES } from 'g3w-constants';\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nexport function isLineGeometryType(geometryType) {\n return [\n GEOMETRY_TYPES.LINESTRING,\n GEOMETRY_TYPES.LINESTRINGZ,\n GEOMETRY_TYPES.LINESTRINGM,\n GEOMETRY_TYPES.LINESTRINGZM,\n GEOMETRY_TYPES.LINESTRING25D,\n GEOMETRY_TYPES.MULTILINESTRING,\n GEOMETRY_TYPES.MULTILINESTRINGZ,\n GEOMETRY_TYPES.MULTILINESTRINGM,\n GEOMETRY_TYPES.MULTILINESTRINGZM,\n GEOMETRY_TYPES.MULTILINESTRING25D,\n GEOMETRY_TYPES.LINE,\n GEOMETRY_TYPES.LINEZ,\n GEOMETRY_TYPES.LINEM,\n GEOMETRY_TYPES.LINEZM,\n GEOMETRY_TYPES.LINE25D,\n GEOMETRY_TYPES.MULTILINE,\n GEOMETRY_TYPES.MULTILINEZ,\n GEOMETRY_TYPES.MULTILINEM,\n GEOMETRY_TYPES.MULTILINEZM,\n GEOMETRY_TYPES.MULTILINE25D,\n ].includes(geometryType);\n}", "import { GEOMETRY_TYPES } from 'g3w-constants';\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nexport function isPolygonGeometryType(geometryType) {\n return [\n GEOMETRY_TYPES.POLYGON,\n GEOMETRY_TYPES.POLYGONZ,\n GEOMETRY_TYPES.POLYGONM,\n GEOMETRY_TYPES.POLYGONZM,\n GEOMETRY_TYPES.POLYGON25D,\n GEOMETRY_TYPES.MULTIPOLYGON,\n GEOMETRY_TYPES.MULTIPOLYGONZ,\n GEOMETRY_TYPES.MULTIPOLYGONM,\n GEOMETRY_TYPES.MULTIPOLYGONZM,\n GEOMETRY_TYPES.MULTIPOLYGON25D,\n ].includes(geometryType);\n}", "/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n\n\n(c) 2009-2016 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e>2,s=(3&t)<<4|r>>4,a=1>6:64,o=2>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r= this.text.length) {\n return;\n }\n char = this.text[this.place++];\n }\n }\n switch (this.state) {\n case NEUTRAL:\n return this.neutral(char);\n case KEYWORD:\n return this.keyword(char)\n case QUOTED:\n return this.quoted(char);\n case AFTERQUOTE:\n return this.afterquote(char);\n case NUMBER:\n return this.number(char);\n case ENDED:\n return;\n }\n };\n Parser.prototype.afterquote = function(char) {\n if (char === '\"') {\n this.word += '\"';\n this.state = QUOTED;\n return;\n }\n if (endThings.test(char)) {\n this.word = this.word.trim();\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in afterquote yet, index ' + this.place);\n };\n Parser.prototype.afterItem = function(char) {\n if (char === ',') {\n if (this.word !== null) {\n this.currentObject.push(this.word);\n }\n this.word = null;\n this.state = NEUTRAL;\n return;\n }\n if (char === ']') {\n this.level--;\n if (this.word !== null) {\n this.currentObject.push(this.word);\n this.word = null;\n }\n this.state = NEUTRAL;\n this.currentObject = this.stack.pop();\n if (!this.currentObject) {\n this.state = ENDED;\n }\n\n return;\n }\n };\n Parser.prototype.number = function(char) {\n if (digets.test(char)) {\n this.word += char;\n return;\n }\n if (endThings.test(char)) {\n this.word = parseFloat(this.word);\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in number yet, index ' + this.place);\n };\n Parser.prototype.quoted = function(char) {\n if (char === '\"') {\n this.state = AFTERQUOTE;\n return;\n }\n this.word += char;\n return;\n };\n Parser.prototype.keyword = function(char) {\n if (keyword.test(char)) {\n this.word += char;\n return;\n }\n if (char === '[') {\n var newObjects = [];\n newObjects.push(this.word);\n this.level++;\n if (this.root === null) {\n this.root = newObjects;\n } else {\n this.currentObject.push(newObjects);\n }\n this.stack.push(this.currentObject);\n this.currentObject = newObjects;\n this.state = NEUTRAL;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in keyword yet, index ' + this.place);\n };\n Parser.prototype.neutral = function(char) {\n if (latin.test(char)) {\n this.word = char;\n this.state = KEYWORD;\n return;\n }\n if (char === '\"') {\n this.word = '';\n this.state = QUOTED;\n return;\n }\n if (digets.test(char)) {\n this.word = char;\n this.state = NUMBER;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in neutral yet, index ' + this.place);\n };\n Parser.prototype.output = function() {\n while (this.place < this.text.length) {\n this.readCharicter();\n }\n if (this.state === ENDED) {\n return this.root;\n }\n throw new Error('unable to parse string \"' +this.text + '\". State is ' + this.state);\n };\n\n function parseString(txt) {\n var parser = new Parser(txt);\n return parser.output();\n }\n\n function mapit(obj, key, value) {\n if (Array.isArray(key)) {\n value.unshift(key);\n key = null;\n }\n var thing = key ? {} : obj;\n\n var out = value.reduce(function(newObj, item) {\n sExpr(item, newObj);\n return newObj\n }, thing);\n if (key) {\n obj[key] = out;\n }\n }\n\n function sExpr(v, obj) {\n if (!Array.isArray(v)) {\n obj[v] = true;\n return;\n }\n var key = v.shift();\n if (key === 'PARAMETER') {\n key = v.shift();\n }\n if (v.length === 1) {\n if (Array.isArray(v[0])) {\n obj[key] = {};\n sExpr(v[0], obj[key]);\n return;\n }\n obj[key] = v[0];\n return;\n }\n if (!v.length) {\n obj[key] = true;\n return;\n }\n if (key === 'TOWGS84') {\n obj[key] = v;\n return;\n }\n if (key === 'AXIS') {\n if (!(key in obj)) {\n obj[key] = [];\n }\n obj[key].push(v);\n return;\n }\n if (!Array.isArray(key)) {\n obj[key] = {};\n }\n\n var i;\n switch (key) {\n case 'UNIT':\n case 'PRIMEM':\n case 'VERT_DATUM':\n obj[key] = {\n name: v[0].toLowerCase(),\n convert: v[1]\n };\n if (v.length === 3) {\n sExpr(v[2], obj[key]);\n }\n return;\n case 'SPHEROID':\n case 'ELLIPSOID':\n obj[key] = {\n name: v[0],\n a: v[1],\n rf: v[2]\n };\n if (v.length === 4) {\n sExpr(v[3], obj[key]);\n }\n return;\n case 'EDATUM':\n case 'ENGINEERINGDATUM':\n case 'LOCAL_DATUM':\n case 'DATUM':\n case 'VERT_CS':\n case 'VERTCRS':\n case 'VERTICALCRS':\n v[0] = ['name', v[0]];\n mapit(obj, key, v);\n return;\n case 'COMPD_CS':\n case 'COMPOUNDCRS':\n case 'FITTED_CS':\n // the followings are the crs defined in\n // https://github.com/proj4js/proj4js/blob/1da4ed0b865d0fcb51c136090569210cdcc9019e/lib/parseCode.js#L11\n case 'PROJECTEDCRS':\n case 'PROJCRS':\n case 'GEOGCS':\n case 'GEOCCS':\n case 'PROJCS':\n case 'LOCAL_CS':\n case 'GEODCRS':\n case 'GEODETICCRS':\n case 'GEODETICDATUM':\n case 'ENGCRS':\n case 'ENGINEERINGCRS':\n v[0] = ['name', v[0]];\n mapit(obj, key, v);\n obj[key].type = key;\n return;\n default:\n i = -1;\n while (++i < v.length) {\n if (!Array.isArray(v[i])) {\n return sExpr(v, obj[key]);\n }\n }\n return mapit(obj, key, v);\n }\n }\n\n var D2R$1 = 0.01745329251994329577;\n var knownTypes = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS', 'GEOCCS', 'PROJCS', 'LOCAL_CS', 'GEODCRS',\n 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS'];\n\n function rename(obj, params) {\n var outName = params[0];\n var inName = params[1];\n if (!(outName in obj) && (inName in obj)) {\n obj[outName] = obj[inName];\n if (params.length === 3) {\n obj[outName] = params[2](obj[outName]);\n }\n }\n }\n\n function d2r(input) {\n return input * D2R$1;\n }\n\n function cleanWKT(wkt) {\n var keys = Object.keys(wkt);\n for (var i = 0, ii = keys.length; i 0 ? 90 : -90);\n wkt.lat_ts = wkt.lat1;\n } else if (!wkt.lat_ts && wkt.lat0 && wkt.projName === 'Polar_Stereographic') {\n wkt.lat_ts = wkt.lat0;\n wkt.lat0 = d2r(wkt.lat0 > 0 ? 90 : -90);\n }\n }\n var wkt = function(wkt) {\n var lisp = parseString(wkt);\n var type = lisp[0];\n var obj = {};\n sExpr(lisp, obj);\n cleanWKT(obj);\n return obj[type];\n };\n\n function defs(name) {\n /*global console*/\n var that = this;\n if (arguments.length === 2) {\n var def = arguments[1];\n if (typeof def === 'string') {\n if (def.charAt(0) === '+') {\n defs[name] = parseProj(arguments[1]);\n }\n else {\n defs[name] = wkt(arguments[1]);\n }\n } else {\n defs[name] = def;\n }\n }\n else if (arguments.length === 1) {\n if (Array.isArray(name)) {\n return name.map(function(v) {\n if (Array.isArray(v)) {\n defs.apply(that, v);\n }\n else {\n defs(v);\n }\n });\n }\n else if (typeof name === 'string') {\n if (name in defs) {\n return defs[name];\n }\n }\n else if ('EPSG' in name) {\n defs['EPSG:' + name.EPSG] = name;\n }\n else if ('ESRI' in name) {\n defs['ESRI:' + name.ESRI] = name;\n }\n else if ('IAU2000' in name) {\n defs['IAU2000:' + name.IAU2000] = name;\n }\n else {\n console.log(name);\n }\n return;\n }\n\n\n }\n globals(defs);\n\n function testObj(code){\n return typeof code === 'string';\n }\n function testDef(code){\n return code in defs;\n }\n var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS'];\n function testWKT(code){\n return codeWords.some(function (word) {\n return code.indexOf(word) > -1;\n });\n }\n var codes = ['3857', '900913', '3785', '102113'];\n function checkMercator(item) {\n var auth = match(item, 'authority');\n if (!auth) {\n return;\n }\n var code = match(auth, 'epsg');\n return code && codes.indexOf(code) > -1;\n }\n function checkProjStr(item) {\n var ext = match(item, 'extension');\n if (!ext) {\n return;\n }\n return match(ext, 'proj4');\n }\n function testProj(code){\n return code[0] === '+';\n }\n function parse(code){\n if (testObj(code)) {\n //check to see if this is a WKT string\n if (testDef(code)) {\n return defs[code];\n }\n if (testWKT(code)) {\n var out = wkt(code);\n // test of spetial case, due to this being a very common and often malformed\n if (checkMercator(out)) {\n return defs['EPSG:3857'];\n }\n var maybeProjStr = checkProjStr(out);\n if (maybeProjStr) {\n return parseProj(maybeProjStr);\n }\n return out;\n }\n if (testProj(code)) {\n return parseProj(code);\n }\n }else{\n return code;\n }\n }\n\n var extend = function(destination, source) {\n destination = destination || {};\n var value, property;\n if (!source) {\n return destination;\n }\n for (property in source) {\n value = source[property];\n if (value !== undefined) {\n destination[property] = value;\n }\n }\n return destination;\n };\n\n var msfnz = function(eccent, sinphi, cosphi) {\n var con = eccent * sinphi;\n return cosphi / (Math.sqrt(1 - con * con));\n };\n\n var sign = function(x) {\n return x<0 ? -1 : 1;\n };\n\n var adjust_lon = function(x) {\n return (Math.abs(x) <= SPI) ? x : (x - (sign(x) * TWO_PI));\n };\n\n var tsfnz = function(eccent, phi, sinphi) {\n var con = eccent * sinphi;\n var com = 0.5 * eccent;\n con = Math.pow(((1 - con) / (1 + con)), com);\n return (Math.tan(0.5 * (HALF_PI - phi)) / con);\n };\n\n var phi2z = function(eccent, ts) {\n var eccnth = 0.5 * eccent;\n var con, dphi;\n var phi = HALF_PI - 2 * Math.atan(ts);\n for (var i = 0; i <= 15; i++) {\n con = eccent * Math.sin(phi);\n dphi = HALF_PI - 2 * Math.atan(ts * (Math.pow(((1 - con) / (1 + con)), eccnth))) - phi;\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n //console.log(\"phi2z has NoConvergence\");\n return -9999;\n };\n\n function init() {\n var con = this.b / this.a;\n this.es = 1 - con * con;\n if(!('x0' in this)){\n this.x0 = 0;\n }\n if(!('y0' in this)){\n this.y0 = 0;\n }\n this.e = Math.sqrt(this.es);\n if (this.lat_ts) {\n if (this.sphere) {\n this.k0 = Math.cos(this.lat_ts);\n }\n else {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n else {\n if (!this.k0) {\n if (this.k) {\n this.k0 = this.k;\n }\n else {\n this.k0 = 1;\n }\n }\n }\n }\n\n /* Mercator forward equations--mapping lat,long to x,y\n --------------------------------------------------*/\n\n function forward(p) {\n var lon = p.x;\n var lat = p.y;\n // convert to radians\n if (lat * R2D > 90 && lat * R2D < -90 && lon * R2D > 180 && lon * R2D < -180) {\n return null;\n }\n\n var x, y;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n return null;\n }\n else {\n if (this.sphere) {\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 + this.a * this.k0 * Math.log(Math.tan(FORTPI + 0.5 * lat));\n }\n else {\n var sinphi = Math.sin(lat);\n var ts = tsfnz(this.e, lat, sinphi);\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 - this.a * this.k0 * Math.log(ts);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n }\n\n /* Mercator inverse equations--mapping x,y to lat/long\n --------------------------------------------------*/\n function inverse(p) {\n\n var x = p.x - this.x0;\n var y = p.y - this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lat = HALF_PI - 2 * Math.atan(Math.exp(-y / (this.a * this.k0)));\n }\n else {\n var ts = Math.exp(-y / (this.a * this.k0));\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n lon = adjust_lon(this.long0 + x / (this.a * this.k0));\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$1 = [\"Mercator\", \"Popular Visualisation Pseudo Mercator\", \"Mercator_1SP\", \"Mercator_Auxiliary_Sphere\", \"merc\"];\n var merc = {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names$1\n };\n\n function init$1() {\n //no-op for longlat\n }\n\n function identity(pt) {\n return pt;\n }\n var names$2 = [\"longlat\", \"identity\"];\n var longlat = {\n init: init$1,\n forward: identity,\n inverse: identity,\n names: names$2\n };\n\n var projs = [merc, longlat];\n var names = {};\n var projStore = [];\n\n function add(proj, i) {\n var len = projStore.length;\n if (!proj.names) {\n console.log(i);\n return true;\n }\n projStore[len] = proj;\n proj.names.forEach(function(n) {\n names[n.toLowerCase()] = len;\n });\n return this;\n }\n\n function get(name) {\n if (!name) {\n return false;\n }\n var n = name.toLowerCase();\n if (typeof names[n] !== 'undefined' && projStore[names[n]]) {\n return projStore[names[n]];\n }\n }\n\n function start() {\n projs.forEach(add);\n }\n var projections = {\n start: start,\n add: add,\n get: get\n };\n\n var exports$2 = {};\n exports$2.MERIT = {\n a: 6378137.0,\n rf: 298.257,\n ellipseName: \"MERIT 1983\"\n };\n\n exports$2.SGS85 = {\n a: 6378136.0,\n rf: 298.257,\n ellipseName: \"Soviet Geodetic System 85\"\n };\n\n exports$2.GRS80 = {\n a: 6378137.0,\n rf: 298.257222101,\n ellipseName: \"GRS 1980(IUGG, 1980)\"\n };\n\n exports$2.IAU76 = {\n a: 6378140.0,\n rf: 298.257,\n ellipseName: \"IAU 1976\"\n };\n\n exports$2.airy = {\n a: 6377563.396,\n b: 6356256.910,\n ellipseName: \"Airy 1830\"\n };\n\n exports$2.APL4 = {\n a: 6378137,\n rf: 298.25,\n ellipseName: \"Appl. Physics. 1965\"\n };\n\n exports$2.NWL9D = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"Naval Weapons Lab., 1965\"\n };\n\n exports$2.mod_airy = {\n a: 6377340.189,\n b: 6356034.446,\n ellipseName: \"Modified Airy\"\n };\n\n exports$2.andrae = {\n a: 6377104.43,\n rf: 300.0,\n ellipseName: \"Andrae 1876 (Den., Iclnd.)\"\n };\n\n exports$2.aust_SA = {\n a: 6378160.0,\n rf: 298.25,\n ellipseName: \"Australian Natl & S. Amer. 1969\"\n };\n\n exports$2.GRS67 = {\n a: 6378160.0,\n rf: 298.2471674270,\n ellipseName: \"GRS 67(IUGG 1967)\"\n };\n\n exports$2.bessel = {\n a: 6377397.155,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841\"\n };\n\n exports$2.bess_nam = {\n a: 6377483.865,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841 (Namibia)\"\n };\n\n exports$2.clrk66 = {\n a: 6378206.4,\n b: 6356583.8,\n ellipseName: \"Clarke 1866\"\n };\n\n exports$2.clrk80 = {\n a: 6378249.145,\n rf: 293.4663,\n ellipseName: \"Clarke 1880 mod.\"\n };\n\n exports$2.clrk80ign = {\n a: 6378249.2,\n b: 6356515,\n rf: 293.4660213,\n ellipseName: \"Clarke 1880 (IGN)\"\n };\n\n exports$2.clrk58 = {\n a: 6378293.645208759,\n rf: 294.2606763692654,\n ellipseName: \"Clarke 1858\"\n };\n\n exports$2.CPM = {\n a: 6375738.7,\n rf: 334.29,\n ellipseName: \"Comm. des Poids et Mesures 1799\"\n };\n\n exports$2.delmbr = {\n a: 6376428.0,\n rf: 311.5,\n ellipseName: \"Delambre 1810 (Belgium)\"\n };\n\n exports$2.engelis = {\n a: 6378136.05,\n rf: 298.2566,\n ellipseName: \"Engelis 1985\"\n };\n\n exports$2.evrst30 = {\n a: 6377276.345,\n rf: 300.8017,\n ellipseName: \"Everest 1830\"\n };\n\n exports$2.evrst48 = {\n a: 6377304.063,\n rf: 300.8017,\n ellipseName: \"Everest 1948\"\n };\n\n exports$2.evrst56 = {\n a: 6377301.243,\n rf: 300.8017,\n ellipseName: \"Everest 1956\"\n };\n\n exports$2.evrst69 = {\n a: 6377295.664,\n rf: 300.8017,\n ellipseName: \"Everest 1969\"\n };\n\n exports$2.evrstSS = {\n a: 6377298.556,\n rf: 300.8017,\n ellipseName: \"Everest (Sabah & Sarawak)\"\n };\n\n exports$2.fschr60 = {\n a: 6378166.0,\n rf: 298.3,\n ellipseName: \"Fischer (Mercury Datum) 1960\"\n };\n\n exports$2.fschr60m = {\n a: 6378155.0,\n rf: 298.3,\n ellipseName: \"Fischer 1960\"\n };\n\n exports$2.fschr68 = {\n a: 6378150.0,\n rf: 298.3,\n ellipseName: \"Fischer 1968\"\n };\n\n exports$2.helmert = {\n a: 6378200.0,\n rf: 298.3,\n ellipseName: \"Helmert 1906\"\n };\n\n exports$2.hough = {\n a: 6378270.0,\n rf: 297.0,\n ellipseName: \"Hough\"\n };\n\n exports$2.intl = {\n a: 6378388.0,\n rf: 297.0,\n ellipseName: \"International 1909 (Hayford)\"\n };\n\n exports$2.kaula = {\n a: 6378163.0,\n rf: 298.24,\n ellipseName: \"Kaula 1961\"\n };\n\n exports$2.lerch = {\n a: 6378139.0,\n rf: 298.257,\n ellipseName: \"Lerch 1979\"\n };\n\n exports$2.mprts = {\n a: 6397300.0,\n rf: 191.0,\n ellipseName: \"Maupertius 1738\"\n };\n\n exports$2.new_intl = {\n a: 6378157.5,\n b: 6356772.2,\n ellipseName: \"New International 1967\"\n };\n\n exports$2.plessis = {\n a: 6376523.0,\n rf: 6355863.0,\n ellipseName: \"Plessis 1817 (France)\"\n };\n\n exports$2.krass = {\n a: 6378245.0,\n rf: 298.3,\n ellipseName: \"Krassovsky, 1942\"\n };\n\n exports$2.SEasia = {\n a: 6378155.0,\n b: 6356773.3205,\n ellipseName: \"Southeast Asia\"\n };\n\n exports$2.walbeck = {\n a: 6376896.0,\n b: 6355834.8467,\n ellipseName: \"Walbeck\"\n };\n\n exports$2.WGS60 = {\n a: 6378165.0,\n rf: 298.3,\n ellipseName: \"WGS 60\"\n };\n\n exports$2.WGS66 = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"WGS 66\"\n };\n\n exports$2.WGS7 = {\n a: 6378135.0,\n rf: 298.26,\n ellipseName: \"WGS 72\"\n };\n\n var WGS84 = exports$2.WGS84 = {\n a: 6378137.0,\n rf: 298.257223563,\n ellipseName: \"WGS 84\"\n };\n\n exports$2.sphere = {\n a: 6370997.0,\n b: 6370997.0,\n ellipseName: \"Normal Sphere (r=6370997)\"\n };\n\n function eccentricity(a, b, rf, R_A) {\n var a2 = a * a; // used in geocentric\n var b2 = b * b; // used in geocentric\n var es = (a2 - b2) / a2; // e ^ 2\n var e = 0;\n if (R_A) {\n a *= 1 - es * (SIXTH + es * (RA4 + es * RA6));\n a2 = a * a;\n es = 0;\n } else {\n e = Math.sqrt(es); // eccentricity\n }\n var ep2 = (a2 - b2) / b2; // used in geocentric\n return {\n es: es,\n e: e,\n ep2: ep2\n };\n }\n function sphere(a, b, rf, ellps, sphere) {\n if (!a) { // do we have an ellipsoid?\n var ellipse = match(exports$2, ellps);\n if (!ellipse) {\n ellipse = WGS84;\n }\n a = ellipse.a;\n b = ellipse.b;\n rf = ellipse.rf;\n }\n\n if (rf && !b) {\n b = (1.0 - 1.0 / rf) * a;\n }\n if (rf === 0 || Math.abs(a - b) < EPSLN) {\n sphere = true;\n b = a;\n }\n return {\n a: a,\n b: b,\n rf: rf,\n sphere: sphere\n };\n }\n\n var datums = {\n wgs84: {\n towgs84: \"0,0,0\",\n ellipse: \"WGS84\",\n datumName: \"WGS84\"\n },\n ch1903: {\n towgs84: \"674.374,15.056,405.346\",\n ellipse: \"bessel\",\n datumName: \"swiss\"\n },\n ggrs87: {\n towgs84: \"-199.87,74.79,246.62\",\n ellipse: \"GRS80\",\n datumName: \"Greek_Geodetic_Reference_System_1987\"\n },\n nad83: {\n towgs84: \"0,0,0\",\n ellipse: \"GRS80\",\n datumName: \"North_American_Datum_1983\"\n },\n nad27: {\n nadgrids: \"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",\n ellipse: \"clrk66\",\n datumName: \"North_American_Datum_1927\"\n },\n potsdam: {\n towgs84: \"598.1,73.7,418.2,0.202,0.045,-2.455,6.7\",\n ellipse: \"bessel\",\n datumName: \"Potsdam Rauenberg 1950 DHDN\"\n },\n carthage: {\n towgs84: \"-263.0,6.0,431.0\",\n ellipse: \"clark80\",\n datumName: \"Carthage 1934 Tunisia\"\n },\n hermannskogel: {\n towgs84: \"577.326,90.129,463.919,5.137,1.474,5.297,2.4232\",\n ellipse: \"bessel\",\n datumName: \"Hermannskogel\"\n },\n mgi: {\n towgs84: \"577.326,90.129,463.919,5.137,1.474,5.297,2.4232\",\n ellipse: \"bessel\",\n datumName: \"Militar-Geographische Institut\",\n },\n osni52: {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"airy\",\n datumName: \"Irish National\"\n },\n ire65: {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"mod_airy\",\n datumName: \"Ireland 1965\"\n },\n rassadiran: {\n towgs84: \"-133.63,-157.5,-158.62\",\n ellipse: \"intl\",\n datumName: \"Rassadiran\"\n },\n nzgd49: {\n towgs84: \"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",\n ellipse: \"intl\",\n datumName: \"New Zealand Geodetic Datum 1949\"\n },\n osgb36: {\n towgs84: \"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",\n ellipse: \"airy\",\n datumName: \"Ordnance Survey of Great Britain 1936\"\n },\n s_jtsk: {\n towgs84: \"589,76,480\",\n ellipse: 'bessel',\n datumName: 'S-JTSK (Ferro)'\n },\n beduaram: {\n towgs84: '-106,-87,188',\n ellipse: 'clrk80',\n datumName: 'Beduaram'\n },\n gunung_segara: {\n towgs84: '-403,684,41',\n ellipse: 'bessel',\n datumName: 'Gunung Segara Jakarta'\n },\n rnb72: {\n towgs84: \"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",\n ellipse: \"intl\",\n datumName: \"Reseau National Belge 1972\"\n }\n };\n\n for (var key in datums) {\n var datum = datums[key];\n datums[datum.datumName] = datum;\n }\n\n function datum$1(datumCode, datum_params, a, b, es, ep2, nadgrids) {\n var out = {};\n\n if (datumCode === undefined || datumCode === 'none') {\n out.datum_type = PJD_NODATUM;\n } else {\n out.datum_type = PJD_WGS84;\n }\n\n if (datum_params) {\n out.datum_params = datum_params.map(parseFloat);\n if (out.datum_params[0] !== 0 || out.datum_params[1] !== 0 || out.datum_params[2] !== 0) {\n out.datum_type = PJD_3PARAM;\n }\n if (out.datum_params.length > 3) {\n if (out.datum_params[3] !== 0 || out.datum_params[4] !== 0 || out.datum_params[5] !== 0 || out.datum_params[6] !== 0) {\n out.datum_type = PJD_7PARAM;\n out.datum_params[3] *= SEC_TO_RAD;\n out.datum_params[4] *= SEC_TO_RAD;\n out.datum_params[5] *= SEC_TO_RAD;\n out.datum_params[6] = (out.datum_params[6] / 1000000.0) + 1.0;\n }\n }\n }\n\n if (nadgrids) {\n out.datum_type = PJD_GRIDSHIFT;\n out.grids = nadgrids;\n }\n out.a = a; //datum object also uses these values\n out.b = b;\n out.es = es;\n out.ep2 = ep2;\n return out;\n }\n\n /**\n * Resources for details of NTv2 file formats:\n * - https://web.archive.org/web/20140127204822if_/http://www.mgs.gov.on.ca:80/stdprodconsume/groups/content/@mgs/@iandit/documents/resourcelist/stel02_047447.pdf\n * - http://mimaka.com/help/gs/html/004_NTV2%20Data%20Format.htm\n */\n\n var loadedNadgrids = {};\n\n /**\n * Load a binary NTv2 file (.gsb) to a key that can be used in a proj string like +nadgrids=. Pass the NTv2 file\n * as an ArrayBuffer.\n */\n function nadgrid(key, data) {\n var view = new DataView(data);\n var isLittleEndian = detectLittleEndian(view);\n var header = readHeader(view, isLittleEndian);\n var subgrids = readSubgrids(view, header, isLittleEndian);\n var nadgrid = {header: header, subgrids: subgrids};\n loadedNadgrids[key] = nadgrid;\n return nadgrid;\n }\n\n /**\n * Given a proj4 value for nadgrids, return an array of loaded grids\n */\n function getNadgrids(nadgrids) {\n // Format details: http://proj.maptools.org/gen_parms.html\n if (nadgrids === undefined) { return null; }\n var grids = nadgrids.split(',');\n return grids.map(parseNadgridString);\n }\n\n function parseNadgridString(value) {\n if (value.length === 0) {\n return null;\n }\n var optional = value[0] === '@';\n if (optional) {\n value = value.slice(1);\n }\n if (value === 'null') {\n return {name: 'null', mandatory: !optional, grid: null, isNull: true};\n }\n return {\n name: value,\n mandatory: !optional,\n grid: loadedNadgrids[value] || null,\n isNull: false\n };\n }\n\n function secondsToRadians(seconds) {\n return (seconds / 3600) * Math.PI / 180;\n }\n\n function detectLittleEndian(view) {\n var nFields = view.getInt32(8, false);\n if (nFields === 11) {\n return false;\n }\n nFields = view.getInt32(8, true);\n if (nFields !== 11) {\n console.warn('Failed to detect nadgrid endian-ness, defaulting to little-endian');\n }\n return true;\n }\n\n function readHeader(view, isLittleEndian) {\n return {\n nFields: view.getInt32(8, isLittleEndian),\n nSubgridFields: view.getInt32(24, isLittleEndian),\n nSubgrids: view.getInt32(40, isLittleEndian),\n shiftType: decodeString(view, 56, 56 + 8).trim(),\n fromSemiMajorAxis: view.getFloat64(120, isLittleEndian),\n fromSemiMinorAxis: view.getFloat64(136, isLittleEndian),\n toSemiMajorAxis: view.getFloat64(152, isLittleEndian),\n toSemiMinorAxis: view.getFloat64(168, isLittleEndian),\n };\n }\n\n function decodeString(view, start, end) {\n return String.fromCharCode.apply(null, new Uint8Array(view.buffer.slice(start, end)));\n }\n\n function readSubgrids(view, header, isLittleEndian) {\n var gridOffset = 176;\n var grids = [];\n for (var i = 0; i < header.nSubgrids; i++) {\n var subHeader = readGridHeader(view, gridOffset, isLittleEndian);\n var nodes = readGridNodes(view, gridOffset, subHeader, isLittleEndian);\n var lngColumnCount = Math.round(\n 1 + (subHeader.upperLongitude - subHeader.lowerLongitude) / subHeader.longitudeInterval);\n var latColumnCount = Math.round(\n 1 + (subHeader.upperLatitude - subHeader.lowerLatitude) / subHeader.latitudeInterval);\n // Proj4 operates on radians whereas the coordinates are in seconds in the grid\n grids.push({\n ll: [secondsToRadians(subHeader.lowerLongitude), secondsToRadians(subHeader.lowerLatitude)],\n del: [secondsToRadians(subHeader.longitudeInterval), secondsToRadians(subHeader.latitudeInterval)],\n lim: [lngColumnCount, latColumnCount],\n count: subHeader.gridNodeCount,\n cvs: mapNodes(nodes)\n });\n gridOffset += 176 + subHeader.gridNodeCount * 16;\n }\n return grids;\n }\n\n function mapNodes(nodes) {\n return nodes.map(function (r) {return [secondsToRadians(r.longitudeShift), secondsToRadians(r.latitudeShift)];});\n }\n\n function readGridHeader(view, offset, isLittleEndian) {\n return {\n name: decodeString(view, offset + 8, offset + 16).trim(),\n parent: decodeString(view, offset + 24, offset + 24 + 8).trim(),\n lowerLatitude: view.getFloat64(offset + 72, isLittleEndian),\n upperLatitude: view.getFloat64(offset + 88, isLittleEndian),\n lowerLongitude: view.getFloat64(offset + 104, isLittleEndian),\n upperLongitude: view.getFloat64(offset + 120, isLittleEndian),\n latitudeInterval: view.getFloat64(offset + 136, isLittleEndian),\n longitudeInterval: view.getFloat64(offset + 152, isLittleEndian),\n gridNodeCount: view.getInt32(offset + 168, isLittleEndian)\n };\n }\n\n function readGridNodes(view, offset, gridHeader, isLittleEndian) {\n var nodesOffset = offset + 176;\n var gridRecordLength = 16;\n var gridShiftRecords = [];\n for (var i = 0; i < gridHeader.gridNodeCount; i++) {\n var record = {\n latitudeShift: view.getFloat32(nodesOffset + i * gridRecordLength, isLittleEndian),\n longitudeShift: view.getFloat32(nodesOffset + i * gridRecordLength + 4, isLittleEndian),\n latitudeAccuracy: view.getFloat32(nodesOffset + i * gridRecordLength + 8, isLittleEndian),\n longitudeAccuracy: view.getFloat32(nodesOffset + i * gridRecordLength + 12, isLittleEndian),\n };\n gridShiftRecords.push(record);\n }\n return gridShiftRecords;\n }\n\n function Projection(srsCode,callback) {\n if (!(this instanceof Projection)) {\n return new Projection(srsCode);\n }\n callback = callback || function(error){\n if(error){\n throw error;\n }\n };\n var json = parse(srsCode);\n if(typeof json !== 'object'){\n callback('Could not parse to valid json: ' + srsCode);\n return;\n }\n var ourProj = Projection.projections.get(json.projName);\n if(!ourProj){\n callback('Could not get projection name from: ' + srsCode);\n return;\n }\n if (json.datumCode && json.datumCode !== 'none') {\n var datumDef = match(datums, json.datumCode);\n if (datumDef) {\n json.datum_params = json.datum_params || (datumDef.towgs84 ? datumDef.towgs84.split(',') : null);\n json.ellps = datumDef.ellipse;\n json.datumName = datumDef.datumName ? datumDef.datumName : json.datumCode;\n }\n }\n json.k0 = json.k0 || 1.0;\n json.axis = json.axis || 'enu';\n json.ellps = json.ellps || 'wgs84';\n json.lat1 = json.lat1 || json.lat0; // Lambert_Conformal_Conic_1SP, for example, needs this\n\n var sphere_ = sphere(json.a, json.b, json.rf, json.ellps, json.sphere);\n var ecc = eccentricity(sphere_.a, sphere_.b, sphere_.rf, json.R_A);\n var nadgrids = getNadgrids(json.nadgrids);\n var datumObj = json.datum || datum$1(json.datumCode, json.datum_params, sphere_.a, sphere_.b, ecc.es, ecc.ep2,\n nadgrids);\n\n extend(this, json); // transfer everything over from the projection because we don't know what we'll need\n extend(this, ourProj); // transfer all the methods from the projection\n\n // copy the 4 things over we calculated in deriveConstants.sphere\n this.a = sphere_.a;\n this.b = sphere_.b;\n this.rf = sphere_.rf;\n this.sphere = sphere_.sphere;\n\n // copy the 3 things we calculated in deriveConstants.eccentricity\n this.es = ecc.es;\n this.e = ecc.e;\n this.ep2 = ecc.ep2;\n\n // add in the datum object\n this.datum = datumObj;\n\n // init the projection\n this.init();\n\n // legecy callback from back in the day when it went to spatialreference.org\n callback(null, this);\n\n }\n Projection.projections = projections;\n Projection.projections.start();\n\n 'use strict';\n function compareDatums(source, dest) {\n if (source.datum_type !== dest.datum_type) {\n return false; // false, datums are not equal\n } else if (source.a !== dest.a || Math.abs(source.es - dest.es) > 0.000000000050) {\n // the tolerance for es is to ensure that GRS80 and WGS84\n // are considered identical\n return false;\n } else if (source.datum_type === PJD_3PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2]);\n } else if (source.datum_type === PJD_7PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2] && source.datum_params[3] === dest.datum_params[3] && source.datum_params[4] === dest.datum_params[4] && source.datum_params[5] === dest.datum_params[5] && source.datum_params[6] === dest.datum_params[6]);\n } else {\n return true; // datums are equal\n }\n } // cs_compare_datums()\n\n /*\n * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates\n * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),\n * according to the current ellipsoid parameters.\n *\n * Latitude : Geodetic latitude in radians (input)\n * Longitude : Geodetic longitude in radians (input)\n * Height : Geodetic height, in meters (input)\n * X : Calculated Geocentric X coordinate, in meters (output)\n * Y : Calculated Geocentric Y coordinate, in meters (output)\n * Z : Calculated Geocentric Z coordinate, in meters (output)\n *\n */\n function geodeticToGeocentric(p, es, a) {\n var Longitude = p.x;\n var Latitude = p.y;\n var Height = p.z ? p.z : 0; //Z value not always supplied\n\n var Rn; /* Earth radius at location */\n var Sin_Lat; /* Math.sin(Latitude) */\n var Sin2_Lat; /* Square of Math.sin(Latitude) */\n var Cos_Lat; /* Math.cos(Latitude) */\n\n /*\n ** Don't blow up if Latitude is just a little out of the value\n ** range as it may just be a rounding issue. Also removed longitude\n ** test, it should be wrapped by Math.cos() and Math.sin(). NFW for PROJ.4, Sep/2001.\n */\n if (Latitude < -HALF_PI && Latitude > -1.001 * HALF_PI) {\n Latitude = -HALF_PI;\n } else if (Latitude > HALF_PI && Latitude < 1.001 * HALF_PI) {\n Latitude = HALF_PI;\n } else if (Latitude < -HALF_PI) {\n /* Latitude out of range */\n //..reportError('geocent:lat out of range:' + Latitude);\n return { x: -Infinity, y: -Infinity, z: p.z };\n } else if (Latitude > HALF_PI) {\n /* Latitude out of range */\n return { x: Infinity, y: Infinity, z: p.z };\n }\n\n if (Longitude > Math.PI) {\n Longitude -= (2 * Math.PI);\n }\n Sin_Lat = Math.sin(Latitude);\n Cos_Lat = Math.cos(Latitude);\n Sin2_Lat = Sin_Lat * Sin_Lat;\n Rn = a / (Math.sqrt(1.0e0 - es * Sin2_Lat));\n return {\n x: (Rn + Height) * Cos_Lat * Math.cos(Longitude),\n y: (Rn + Height) * Cos_Lat * Math.sin(Longitude),\n z: ((Rn * (1 - es)) + Height) * Sin_Lat\n };\n } // cs_geodetic_to_geocentric()\n\n function geocentricToGeodetic(p, es, a, b) {\n /* local defintions and variables */\n /* end-criterium of loop, accuracy of sin(Latitude) */\n var genau = 1e-12;\n var genau2 = (genau * genau);\n var maxiter = 30;\n\n var P; /* distance between semi-minor axis and location */\n var RR; /* distance between center and location */\n var CT; /* sin of geocentric latitude */\n var ST; /* cos of geocentric latitude */\n var RX;\n var RK;\n var RN; /* Earth radius at location */\n var CPHI0; /* cos of start or old geodetic latitude in iterations */\n var SPHI0; /* sin of start or old geodetic latitude in iterations */\n var CPHI; /* cos of searched geodetic latitude */\n var SPHI; /* sin of searched geodetic latitude */\n var SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */\n var iter; /* # of continous iteration, max. 30 is always enough (s.a.) */\n\n var X = p.x;\n var Y = p.y;\n var Z = p.z ? p.z : 0.0; //Z value not always supplied\n var Longitude;\n var Latitude;\n var Height;\n\n P = Math.sqrt(X * X + Y * Y);\n RR = Math.sqrt(X * X + Y * Y + Z * Z);\n\n /* special cases for latitude and longitude */\n if (P / a < genau) {\n\n /* special case, if P=0. (X=0., Y=0.) */\n Longitude = 0.0;\n\n /* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis\n * of ellipsoid (=center of mass), Latitude becomes PI/2 */\n if (RR / a < genau) {\n Latitude = HALF_PI;\n Height = -b;\n return {\n x: p.x,\n y: p.y,\n z: p.z\n };\n }\n } else {\n /* ellipsoidal (geodetic) longitude\n * interval: -PI < Longitude <= +PI */\n Longitude = Math.atan2(Y, X);\n }\n\n /* --------------------------------------------------------------\n * Following iterative algorithm was developped by\n * \"Institut for Erdmessung\", University of Hannover, July 1988.\n * Internet: www.ife.uni-hannover.de\n * Iterative computation of CPHI,SPHI and Height.\n * Iteration of CPHI and SPHI to 10**-12 radian resp.\n * 2*10**-7 arcsec.\n * --------------------------------------------------------------\n */\n CT = Z / RR;\n ST = P / RR;\n RX = 1.0 / Math.sqrt(1.0 - es * (2.0 - es) * ST * ST);\n CPHI0 = ST * (1.0 - es) * RX;\n SPHI0 = CT * RX;\n iter = 0;\n\n /* loop to find sin(Latitude) resp. Latitude\n * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */\n do {\n iter++;\n RN = a / Math.sqrt(1.0 - es * SPHI0 * SPHI0);\n\n /* ellipsoidal (geodetic) height */\n Height = P * CPHI0 + Z * SPHI0 - RN * (1.0 - es * SPHI0 * SPHI0);\n\n RK = es * RN / (RN + Height);\n RX = 1.0 / Math.sqrt(1.0 - RK * (2.0 - RK) * ST * ST);\n CPHI = ST * (1.0 - RK) * RX;\n SPHI = CT * RX;\n SDPHI = SPHI * CPHI0 - CPHI * SPHI0;\n CPHI0 = CPHI;\n SPHI0 = SPHI;\n }\n while (SDPHI * SDPHI > genau2 && iter < maxiter);\n\n /* ellipsoidal (geodetic) latitude */\n Latitude = Math.atan(SPHI / Math.abs(CPHI));\n return {\n x: Longitude,\n y: Latitude,\n z: Height\n };\n } // cs_geocentric_to_geodetic()\n\n /****************************************************************/\n // pj_geocentic_to_wgs84( p )\n // p = point to transform in geocentric coordinates (x,y,z)\n\n\n /** point object, nothing fancy, just allows values to be\n passed back and forth by reference rather than by value.\n Other point classes may be used as long as they have\n x and y properties, which will get modified in the transform method.\n */\n function geocentricToWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x + datum_params[0],\n y: p.y + datum_params[1],\n z: p.z + datum_params[2],\n };\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,\n y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,\n z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF\n };\n }\n } // cs_geocentric_to_wgs84\n\n /****************************************************************/\n // pj_geocentic_from_wgs84()\n // coordinate system definition,\n // point to transform in geocentric coordinates (x,y,z)\n function geocentricFromWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n //if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x - datum_params[0],\n y: p.y - datum_params[1],\n z: p.z - datum_params[2],\n };\n\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n var x_tmp = (p.x - Dx_BF) / M_BF;\n var y_tmp = (p.y - Dy_BF) / M_BF;\n var z_tmp = (p.z - Dz_BF) / M_BF;\n //if( x[io] === HUGE_VAL )\n // continue;\n\n return {\n x: x_tmp + Rz_BF * y_tmp - Ry_BF * z_tmp,\n y: -Rz_BF * x_tmp + y_tmp + Rx_BF * z_tmp,\n z: Ry_BF * x_tmp - Rx_BF * y_tmp + z_tmp\n };\n } //cs_geocentric_from_wgs84()\n }\n\n function checkParams(type) {\n return (type === PJD_3PARAM || type === PJD_7PARAM);\n }\n\n var datum_transform = function(source, dest, point) {\n // Short cut if the datums are identical.\n if (compareDatums(source, dest)) {\n return point; // in this case, zero is sucess,\n // whereas cs_compare_datums returns 1 to indicate TRUE\n // confusing, should fix this\n }\n\n // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest\n if (source.datum_type === PJD_NODATUM || dest.datum_type === PJD_NODATUM) {\n return point;\n }\n\n // If this datum requires grid shifts, then apply it to geodetic coordinates.\n var source_a = source.a;\n var source_es = source.es;\n if (source.datum_type === PJD_GRIDSHIFT) {\n var gridShiftCode = applyGridShift(source, false, point);\n if (gridShiftCode !== 0) {\n return undefined;\n }\n source_a = SRS_WGS84_SEMIMAJOR;\n source_es = SRS_WGS84_ESQUARED;\n }\n\n var dest_a = dest.a;\n var dest_b = dest.b;\n var dest_es = dest.es;\n if (dest.datum_type === PJD_GRIDSHIFT) {\n dest_a = SRS_WGS84_SEMIMAJOR;\n dest_b = SRS_WGS84_SEMIMINOR;\n dest_es = SRS_WGS84_ESQUARED;\n }\n\n // Do we need to go through geocentric coordinates?\n if (source_es === dest_es && source_a === dest_a && !checkParams(source.datum_type) && !checkParams(dest.datum_type)) {\n return point;\n }\n\n // Convert to geocentric coordinates.\n point = geodeticToGeocentric(point, source_es, source_a);\n // Convert between datums\n if (checkParams(source.datum_type)) {\n point = geocentricToWgs84(point, source.datum_type, source.datum_params);\n }\n if (checkParams(dest.datum_type)) {\n point = geocentricFromWgs84(point, dest.datum_type, dest.datum_params);\n }\n point = geocentricToGeodetic(point, dest_es, dest_a, dest_b);\n\n if (dest.datum_type === PJD_GRIDSHIFT) {\n var destGridShiftResult = applyGridShift(dest, true, point);\n if (destGridShiftResult !== 0) {\n return undefined;\n }\n }\n\n return point;\n };\n\n function applyGridShift(source, inverse, point) {\n if (source.grids === null || source.grids.length === 0) {\n console.log('Grid shift grids not found');\n return -1;\n }\n var input = {x: -point.x, y: point.y};\n var output = {x: Number.NaN, y: Number.NaN};\n var attemptedGrids = [];\n outer:\n for (var i = 0; i < source.grids.length; i++) {\n var grid = source.grids[i];\n attemptedGrids.push(grid.name);\n if (grid.isNull) {\n output = input;\n break;\n }\n if (grid.grid === null) {\n if (grid.mandatory) {\n console.log(\"Unable to find mandatory grid '\" + grid.name + \"'\");\n return -1;\n }\n continue;\n }\n var subgrids = grid.grid.subgrids;\n for (var j = 0, jj = subgrids.length; j < jj; j++) {\n var subgrid = subgrids[j];\n // skip tables that don't match our point at all\n var epsilon = (Math.abs(subgrid.del[1]) + Math.abs(subgrid.del[0])) / 10000.0;\n var minX = subgrid.ll[0] - epsilon;\n var minY = subgrid.ll[1] - epsilon;\n var maxX = subgrid.ll[0] + (subgrid.lim[0] - 1) * subgrid.del[0] + epsilon;\n var maxY = subgrid.ll[1] + (subgrid.lim[1] - 1) * subgrid.del[1] + epsilon;\n if (minY > input.y || minX > input.x || maxY < input.y || maxX < input.x ) {\n continue;\n }\n output = applySubgridShift(input, inverse, subgrid);\n if (!isNaN(output.x)) {\n break outer;\n }\n }\n }\n if (isNaN(output.x)) {\n console.log(\"Failed to find a grid shift table for location '\"+\n -input.x * R2D + \" \" + input.y * R2D + \" tried: '\" + attemptedGrids + \"'\");\n return -1;\n }\n point.x = -output.x;\n point.y = output.y;\n return 0;\n }\n\n function applySubgridShift(pin, inverse, ct) {\n var val = {x: Number.NaN, y: Number.NaN};\n if (isNaN(pin.x)) { return val; }\n var tb = {x: pin.x, y: pin.y};\n tb.x -= ct.ll[0];\n tb.y -= ct.ll[1];\n tb.x = adjust_lon(tb.x - Math.PI) + Math.PI;\n var t = nadInterpolate(tb, ct);\n if (inverse) {\n if (isNaN(t.x)) {\n return val;\n }\n t.x = tb.x - t.x;\n t.y = tb.y - t.y;\n var i = 9, tol = 1e-12;\n var dif, del;\n do {\n del = nadInterpolate(t, ct);\n if (isNaN(del.x)) {\n console.log(\"Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.\");\n break;\n }\n dif = {x: tb.x - (del.x + t.x), y: tb.y - (del.y + t.y)};\n t.x += dif.x;\n t.y += dif.y;\n } while (i-- && Math.abs(dif.x) > tol && Math.abs(dif.y) > tol);\n if (i < 0) {\n console.log(\"Inverse grid shift iterator failed to converge.\");\n return val;\n }\n val.x = adjust_lon(t.x + ct.ll[0]);\n val.y = t.y + ct.ll[1];\n } else {\n if (!isNaN(t.x)) {\n val.x = pin.x + t.x;\n val.y = pin.y + t.y;\n }\n }\n return val;\n }\n\n function nadInterpolate(pin, ct) {\n var t = {x: pin.x / ct.del[0], y: pin.y / ct.del[1]};\n var indx = {x: Math.floor(t.x), y: Math.floor(t.y)};\n var frct = {x: t.x - 1.0 * indx.x, y: t.y - 1.0 * indx.y};\n var val= {x: Number.NaN, y: Number.NaN};\n var inx;\n if (indx.x < 0 || indx.x >= ct.lim[0]) {\n return val;\n }\n if (indx.y < 0 || indx.y >= ct.lim[1]) {\n return val;\n }\n inx = (indx.y * ct.lim[0]) + indx.x;\n var f00 = {x: ct.cvs[inx][0], y: ct.cvs[inx][1]};\n inx++;\n var f10= {x: ct.cvs[inx][0], y: ct.cvs[inx][1]};\n inx += ct.lim[0];\n var f11 = {x: ct.cvs[inx][0], y: ct.cvs[inx][1]};\n inx--;\n var f01 = {x: ct.cvs[inx][0], y: ct.cvs[inx][1]};\n var m11 = frct.x * frct.y, m10 = frct.x * (1.0 - frct.y),\n m00 = (1.0 - frct.x) * (1.0 - frct.y), m01 = (1.0 - frct.x) * frct.y;\n val.x = (m00 * f00.x + m10 * f10.x + m01 * f01.x + m11 * f11.x);\n val.y = (m00 * f00.y + m10 * f10.y + m01 * f01.y + m11 * f11.y);\n return val;\n }\n\n var adjust_axis = function(crs, denorm, point) {\n var xin = point.x,\n yin = point.y,\n zin = point.z || 0.0;\n var v, t, i;\n var out = {};\n for (i = 0; i < 3; i++) {\n if (denorm && i === 2 && point.z === undefined) {\n continue;\n }\n if (i === 0) {\n v = xin;\n if (\"ew\".indexOf(crs.axis[i]) !== -1) {\n t = 'x';\n } else {\n t = 'y';\n }\n\n }\n else if (i === 1) {\n v = yin;\n if (\"ns\".indexOf(crs.axis[i]) !== -1) {\n t = 'y';\n } else {\n t = 'x';\n }\n }\n else {\n v = zin;\n t = 'z';\n }\n switch (crs.axis[i]) {\n case 'e':\n out[t] = v;\n break;\n case 'w':\n out[t] = -v;\n break;\n case 'n':\n out[t] = v;\n break;\n case 's':\n out[t] = -v;\n break;\n case 'u':\n if (point[t] !== undefined) {\n out.z = v;\n }\n break;\n case 'd':\n if (point[t] !== undefined) {\n out.z = -v;\n }\n break;\n default:\n //console.log(\"ERROR: unknow axis (\"+crs.axis[i]+\") - check definition of \"+crs.projName);\n return null;\n }\n }\n return out;\n };\n\n var toPoint = function (array){\n var out = {\n x: array[0],\n y: array[1]\n };\n if (array.length>2) {\n out.z = array[2];\n }\n if (array.length>3) {\n out.m = array[3];\n }\n return out;\n };\n\n var checkSanity = function (point) {\n checkCoord(point.x);\n checkCoord(point.y);\n };\n function checkCoord(num) {\n if (typeof Number.isFinite === 'function') {\n if (Number.isFinite(num)) {\n return;\n }\n throw new TypeError('coordinates must be finite numbers');\n }\n if (typeof num !== 'number' || num !== num || !isFinite(num)) {\n throw new TypeError('coordinates must be finite numbers');\n }\n }\n\n function checkNotWGS(source, dest) {\n return (\n (source.datum.datum_type === PJD_3PARAM || source.datum.datum_type === PJD_7PARAM || source.datum.datum_type === PJD_GRIDSHIFT) && dest.datumCode !== 'WGS84') ||\n ((dest.datum.datum_type === PJD_3PARAM || dest.datum.datum_type === PJD_7PARAM || dest.datum.datum_type === PJD_GRIDSHIFT) && source.datumCode !== 'WGS84');\n }\n\n function transform(source, dest, point, enforceAxis) {\n var wgs84;\n if (Array.isArray(point)) {\n point = toPoint(point);\n } else {\n // Clone the point object so inputs don't get modified\n point = {\n x: point.x,\n y: point.y,\n z: point.z,\n m: point.m\n };\n }\n var hasZ = point.z !== undefined;\n checkSanity(point);\n // Workaround for datum shifts towgs84, if either source or destination projection is not wgs84\n if (source.datum && dest.datum && checkNotWGS(source, dest)) {\n wgs84 = new Projection('WGS84');\n point = transform(source, wgs84, point, enforceAxis);\n source = wgs84;\n }\n // DGR, 2010/11/12\n if (enforceAxis && source.axis !== 'enu') {\n point = adjust_axis(source, false, point);\n }\n // Transform source points to long/lat, if they aren't already.\n if (source.projName === 'longlat') {\n point = {\n x: point.x * D2R,\n y: point.y * D2R,\n z: point.z || 0\n };\n } else {\n if (source.to_meter) {\n point = {\n x: point.x * source.to_meter,\n y: point.y * source.to_meter,\n z: point.z || 0\n };\n }\n point = source.inverse(point); // Convert Cartesian to longlat\n if (!point) {\n return;\n }\n }\n // Adjust for the prime meridian if necessary\n if (source.from_greenwich) {\n point.x += source.from_greenwich;\n }\n\n // Convert datums if needed, and if possible.\n point = datum_transform(source.datum, dest.datum, point);\n if (!point) {\n return;\n }\n\n // Adjust for the prime meridian if necessary\n if (dest.from_greenwich) {\n point = {\n x: point.x - dest.from_greenwich,\n y: point.y,\n z: point.z || 0\n };\n }\n\n if (dest.projName === 'longlat') {\n // convert radians to decimal degrees\n point = {\n x: point.x * R2D,\n y: point.y * R2D,\n z: point.z || 0\n };\n } else { // else project\n point = dest.forward(point);\n if (dest.to_meter) {\n point = {\n x: point.x / dest.to_meter,\n y: point.y / dest.to_meter,\n z: point.z || 0\n };\n }\n }\n\n // DGR, 2010/11/12\n if (enforceAxis && dest.axis !== 'enu') {\n return adjust_axis(dest, true, point);\n }\n\n if (point && !hasZ) {\n delete point.z;\n }\n return point;\n }\n\n var wgs84 = Projection('WGS84');\n\n function transformer(from, to, coords, enforceAxis) {\n var transformedArray, out, keys;\n if (Array.isArray(coords)) {\n transformedArray = transform(from, to, coords, enforceAxis) || {x: NaN, y: NaN};\n if (coords.length > 2) {\n if ((typeof from.name !== 'undefined' && from.name === 'geocent') || (typeof to.name !== 'undefined' && to.name === 'geocent')) {\n if (typeof transformedArray.z === 'number') {\n return [transformedArray.x, transformedArray.y, transformedArray.z].concat(coords.slice(3));\n } else {\n return [transformedArray.x, transformedArray.y, coords[2]].concat(coords.slice(3));\n }\n } else {\n return [transformedArray.x, transformedArray.y].concat(coords.slice(2));\n }\n } else {\n return [transformedArray.x, transformedArray.y];\n }\n } else {\n out = transform(from, to, coords, enforceAxis);\n keys = Object.keys(coords);\n if (keys.length === 2) {\n return out;\n }\n keys.forEach(function (key) {\n if ((typeof from.name !== 'undefined' && from.name === 'geocent') || (typeof to.name !== 'undefined' && to.name === 'geocent')) {\n if (key === 'x' || key === 'y' || key === 'z') {\n return;\n }\n } else {\n if (key === 'x' || key === 'y') {\n return;\n }\n }\n out[key] = coords[key];\n });\n return out;\n }\n }\n\n function checkProj(item) {\n if (item instanceof Projection) {\n return item;\n }\n if (item.oProj) {\n return item.oProj;\n }\n return Projection(item);\n }\n\n function proj4$1(fromProj, toProj, coord) {\n fromProj = checkProj(fromProj);\n var single = false;\n var obj;\n if (typeof toProj === 'undefined') {\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n } else if (typeof toProj.x !== 'undefined' || Array.isArray(toProj)) {\n coord = toProj;\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n toProj = checkProj(toProj);\n if (coord) {\n return transformer(fromProj, toProj, coord);\n } else {\n obj = {\n forward: function (coords, enforceAxis) {\n return transformer(fromProj, toProj, coords, enforceAxis);\n },\n inverse: function (coords, enforceAxis) {\n return transformer(toProj, fromProj, coords, enforceAxis);\n }\n };\n if (single) {\n obj.oProj = toProj;\n }\n return obj;\n }\n }\n\n /**\n * UTM zones are grouped, and assigned to one of a group of 6\n * sets.\n *\n * {int} @private\n */\n var NUM_100K_SETS = 6;\n\n /**\n * The column letters (for easting) of the lower left value, per\n * set.\n *\n * {string} @private\n */\n var SET_ORIGIN_COLUMN_LETTERS = 'AJSAJS';\n\n /**\n * The row letters (for northing) of the lower left value, per\n * set.\n *\n * {string} @private\n */\n var SET_ORIGIN_ROW_LETTERS = 'AFAFAF';\n\n var A = 65; // A\n var I = 73; // I\n var O = 79; // O\n var V = 86; // V\n var Z = 90; // Z\n var mgrs = {\n forward: forward$1,\n inverse: inverse$1,\n toPoint: toPoint$1\n };\n /**\n * Conversion of lat/lon to MGRS.\n *\n * @param {object} ll Object literal with lat and lon properties on a\n * WGS84 ellipsoid.\n * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for\n * 100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.\n * @return {string} the MGRS string for the given location and accuracy.\n */\n function forward$1(ll, accuracy) {\n accuracy = accuracy || 5; // default accuracy 1m\n return encode(LLtoUTM({\n lat: ll[1],\n lon: ll[0]\n }), accuracy);\n }\n\n /**\n * Conversion of MGRS to lat/lon.\n *\n * @param {string} mgrs MGRS string.\n * @return {array} An array with left (longitude), bottom (latitude), right\n * (longitude) and top (latitude) values in WGS84, representing the\n * bounding box for the provided MGRS reference.\n */\n function inverse$1(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];\n }\n return [bbox.left, bbox.bottom, bbox.right, bbox.top];\n }\n\n function toPoint$1(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat];\n }\n return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];\n }\n /**\n * Conversion from degrees to radians.\n *\n * @private\n * @param {number} deg the angle in degrees.\n * @return {number} the angle in radians.\n */\n function degToRad(deg) {\n return (deg * (Math.PI / 180.0));\n }\n\n /**\n * Conversion from radians to degrees.\n *\n * @private\n * @param {number} rad the angle in radians.\n * @return {number} the angle in degrees.\n */\n function radToDeg(rad) {\n return (180.0 * (rad / Math.PI));\n }\n\n /**\n * Converts a set of Longitude and Latitude co-ordinates to UTM\n * using the WGS84 ellipsoid.\n *\n * @private\n * @param {object} ll Object literal with lat and lon properties\n * representing the WGS84 coordinate to be converted.\n * @return {object} Object literal containing the UTM value with easting,\n * northing, zoneNumber and zoneLetter properties, and an optional\n * accuracy property in digits. Returns null if the conversion failed.\n */\n function LLtoUTM(ll) {\n var Lat = ll.lat;\n var Long = ll.lon;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var k0 = 0.9996;\n var LongOrigin;\n var eccPrimeSquared;\n var N, T, C, A, M;\n var LatRad = degToRad(Lat);\n var LongRad = degToRad(Long);\n var LongOriginRad;\n var ZoneNumber;\n // (int)\n ZoneNumber = Math.floor((Long + 180) / 6) + 1;\n\n //Make sure the longitude 180.00 is in Zone 60\n if (Long === 180) {\n ZoneNumber = 60;\n }\n\n // Special zone for Norway\n if (Lat >= 56.0 && Lat < 64.0 && Long >= 3.0 && Long < 12.0) {\n ZoneNumber = 32;\n }\n\n // Special zones for Svalbard\n if (Lat >= 72.0 && Lat < 84.0) {\n if (Long >= 0.0 && Long < 9.0) {\n ZoneNumber = 31;\n }\n else if (Long >= 9.0 && Long < 21.0) {\n ZoneNumber = 33;\n }\n else if (Long >= 21.0 && Long < 33.0) {\n ZoneNumber = 35;\n }\n else if (Long >= 33.0 && Long < 42.0) {\n ZoneNumber = 37;\n }\n }\n\n LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin\n // in middle of\n // zone\n LongOriginRad = degToRad(LongOrigin);\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));\n T = Math.tan(LatRad) * Math.tan(LatRad);\n C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);\n A = Math.cos(LatRad) * (LongRad - LongOriginRad);\n\n M = a * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256) * LatRad - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(2 * LatRad) + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared * eccSquared / 3072) * Math.sin(6 * LatRad));\n\n var UTMEasting = (k0 * N * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T + 72 * C - 58 * eccPrimeSquared) * A * A * A * A * A / 120.0) + 500000.0);\n\n var UTMNorthing = (k0 * (M + N * Math.tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared) * A * A * A * A * A * A / 720.0)));\n if (Lat < 0.0) {\n UTMNorthing += 10000000.0; //10000000 meter offset for\n // southern hemisphere\n }\n\n return {\n northing: Math.round(UTMNorthing),\n easting: Math.round(UTMEasting),\n zoneNumber: ZoneNumber,\n zoneLetter: getLetterDesignator(Lat)\n };\n }\n\n /**\n * Converts UTM coords to lat/long, using the WGS84 ellipsoid. This is a convenience\n * class where the Zone can be specified as a single string eg.\"60N\" which\n * is then broken down into the ZoneNumber and ZoneLetter.\n *\n * @private\n * @param {object} utm An object literal with northing, easting, zoneNumber\n * and zoneLetter properties. If an optional accuracy property is\n * provided (in meters), a bounding box will be returned instead of\n * latitude and longitude.\n * @return {object} An object literal containing either lat and lon values\n * (if no accuracy was provided), or top, right, bottom and left values\n * for the bounding box calculated according to the provided accuracy.\n * Returns null if the conversion failed.\n */\n function UTMtoLL(utm) {\n\n var UTMNorthing = utm.northing;\n var UTMEasting = utm.easting;\n var zoneLetter = utm.zoneLetter;\n var zoneNumber = utm.zoneNumber;\n // check the ZoneNummber is valid\n if (zoneNumber < 0 || zoneNumber > 60) {\n return null;\n }\n\n var k0 = 0.9996;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var eccPrimeSquared;\n var e1 = (1 - Math.sqrt(1 - eccSquared)) / (1 + Math.sqrt(1 - eccSquared));\n var N1, T1, C1, R1, D, M;\n var LongOrigin;\n var mu, phi1Rad;\n\n // remove 500,000 meter offset for longitude\n var x = UTMEasting - 500000.0;\n var y = UTMNorthing;\n\n // We must know somehow if we are in the Northern or Southern\n // hemisphere, this is the only time we use the letter So even\n // if the Zone letter isn't exactly correct it should indicate\n // the hemisphere correctly\n if (zoneLetter < 'N') {\n y -= 10000000.0; // remove 10,000,000 meter offset used\n // for southern hemisphere\n }\n\n // There are 60 zones with zone 1 being at West -180 to -174\n LongOrigin = (zoneNumber - 1) * 6 - 180 + 3; // +3 puts origin\n // in middle of\n // zone\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n M = y / k0;\n mu = M / (a * (1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256));\n\n phi1Rad = mu + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.sin(2 * mu) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.sin(4 * mu) + (151 * e1 * e1 * e1 / 96) * Math.sin(6 * mu);\n // double phi1 = ProjMath.radToDeg(phi1Rad);\n\n N1 = a / Math.sqrt(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad));\n T1 = Math.tan(phi1Rad) * Math.tan(phi1Rad);\n C1 = eccPrimeSquared * Math.cos(phi1Rad) * Math.cos(phi1Rad);\n R1 = a * (1 - eccSquared) / Math.pow(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad), 1.5);\n D = x / (N1 * k0);\n\n var lat = phi1Rad - (N1 * Math.tan(phi1Rad) / R1) * (D * D / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1 * C1 - 9 * eccPrimeSquared) * D * D * D * D / 24 + (61 + 90 * T1 + 298 * C1 + 45 * T1 * T1 - 252 * eccPrimeSquared - 3 * C1 * C1) * D * D * D * D * D * D / 720);\n lat = radToDeg(lat);\n\n var lon = (D - (1 + 2 * T1 + C1) * D * D * D / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1 * C1 + 8 * eccPrimeSquared + 24 * T1 * T1) * D * D * D * D * D / 120) / Math.cos(phi1Rad);\n lon = LongOrigin + radToDeg(lon);\n\n var result;\n if (utm.accuracy) {\n var topRight = UTMtoLL({\n northing: utm.northing + utm.accuracy,\n easting: utm.easting + utm.accuracy,\n zoneLetter: utm.zoneLetter,\n zoneNumber: utm.zoneNumber\n });\n result = {\n top: topRight.lat,\n right: topRight.lon,\n bottom: lat,\n left: lon\n };\n }\n else {\n result = {\n lat: lat,\n lon: lon\n };\n }\n return result;\n }\n\n /**\n * Calculates the MGRS letter designator for the given latitude.\n *\n * @private\n * @param {number} lat The latitude in WGS84 to get the letter designator\n * for.\n * @return {char} The letter designator.\n */\n function getLetterDesignator(lat) {\n //This is here as an error flag to show that the Latitude is\n //outside MGRS limits\n var LetterDesignator = 'Z';\n\n if ((84 >= lat) && (lat >= 72)) {\n LetterDesignator = 'X';\n }\n else if ((72 > lat) && (lat >= 64)) {\n LetterDesignator = 'W';\n }\n else if ((64 > lat) && (lat >= 56)) {\n LetterDesignator = 'V';\n }\n else if ((56 > lat) && (lat >= 48)) {\n LetterDesignator = 'U';\n }\n else if ((48 > lat) && (lat >= 40)) {\n LetterDesignator = 'T';\n }\n else if ((40 > lat) && (lat >= 32)) {\n LetterDesignator = 'S';\n }\n else if ((32 > lat) && (lat >= 24)) {\n LetterDesignator = 'R';\n }\n else if ((24 > lat) && (lat >= 16)) {\n LetterDesignator = 'Q';\n }\n else if ((16 > lat) && (lat >= 8)) {\n LetterDesignator = 'P';\n }\n else if ((8 > lat) && (lat >= 0)) {\n LetterDesignator = 'N';\n }\n else if ((0 > lat) && (lat >= -8)) {\n LetterDesignator = 'M';\n }\n else if ((-8 > lat) && (lat >= -16)) {\n LetterDesignator = 'L';\n }\n else if ((-16 > lat) && (lat >= -24)) {\n LetterDesignator = 'K';\n }\n else if ((-24 > lat) && (lat >= -32)) {\n LetterDesignator = 'J';\n }\n else if ((-32 > lat) && (lat >= -40)) {\n LetterDesignator = 'H';\n }\n else if ((-40 > lat) && (lat >= -48)) {\n LetterDesignator = 'G';\n }\n else if ((-48 > lat) && (lat >= -56)) {\n LetterDesignator = 'F';\n }\n else if ((-56 > lat) && (lat >= -64)) {\n LetterDesignator = 'E';\n }\n else if ((-64 > lat) && (lat >= -72)) {\n LetterDesignator = 'D';\n }\n else if ((-72 > lat) && (lat >= -80)) {\n LetterDesignator = 'C';\n }\n return LetterDesignator;\n }\n\n /**\n * Encodes a UTM location as MGRS string.\n *\n * @private\n * @param {object} utm An object literal with easting, northing,\n * zoneLetter, zoneNumber\n * @param {number} accuracy Accuracy in digits (1-5).\n * @return {string} MGRS string for the given UTM location.\n */\n function encode(utm, accuracy) {\n // prepend with leading zeroes\n var seasting = \"00000\" + utm.easting,\n snorthing = \"00000\" + utm.northing;\n\n return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) + snorthing.substr(snorthing.length - 5, accuracy);\n }\n\n /**\n * Get the two letter 100k designator for a given UTM easting,\n * northing and zone number value.\n *\n * @private\n * @param {number} easting\n * @param {number} northing\n * @param {number} zoneNumber\n * @return the two letter 100k designator for the given UTM location.\n */\n function get100kID(easting, northing, zoneNumber) {\n var setParm = get100kSetForZone(zoneNumber);\n var setColumn = Math.floor(easting / 100000);\n var setRow = Math.floor(northing / 100000) % 20;\n return getLetter100kID(setColumn, setRow, setParm);\n }\n\n /**\n * Given a UTM zone number, figure out the MGRS 100K set it is in.\n *\n * @private\n * @param {number} i An UTM zone number.\n * @return {number} the 100k set the UTM zone is in.\n */\n function get100kSetForZone(i) {\n var setParm = i % NUM_100K_SETS;\n if (setParm === 0) {\n setParm = NUM_100K_SETS;\n }\n\n return setParm;\n }\n\n /**\n * Get the two-letter MGRS 100k designator given information\n * translated from the UTM northing, easting and zone number.\n *\n * @private\n * @param {number} column the column index as it relates to the MGRS\n * 100k set spreadsheet, created from the UTM easting.\n * Values are 1-8.\n * @param {number} row the row index as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM northing value. Values\n * are from 0-19.\n * @param {number} parm the set block, as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM zone. Values are from\n * 1-60.\n * @return two letter MGRS 100k code.\n */\n function getLetter100kID(column, row, parm) {\n // colOrigin and rowOrigin are the letters at the origin of the set\n var index = parm - 1;\n var colOrigin = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(index);\n var rowOrigin = SET_ORIGIN_ROW_LETTERS.charCodeAt(index);\n\n // colInt and rowInt are the letters to build to return\n var colInt = colOrigin + column - 1;\n var rowInt = rowOrigin + row;\n var rollover = false;\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n rollover = true;\n }\n\n if (colInt === I || (colOrigin < I && colInt > I) || ((colInt > I || colOrigin < I) && rollover)) {\n colInt++;\n }\n\n if (colInt === O || (colOrigin < O && colInt > O) || ((colInt > O || colOrigin < O) && rollover)) {\n colInt++;\n\n if (colInt === I) {\n colInt++;\n }\n }\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n rollover = true;\n }\n else {\n rollover = false;\n }\n\n if (((rowInt === I) || ((rowOrigin < I) && (rowInt > I))) || (((rowInt > I) || (rowOrigin < I)) && rollover)) {\n rowInt++;\n }\n\n if (((rowInt === O) || ((rowOrigin < O) && (rowInt > O))) || (((rowInt > O) || (rowOrigin < O)) && rollover)) {\n rowInt++;\n\n if (rowInt === I) {\n rowInt++;\n }\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n }\n\n var twoLetter = String.fromCharCode(colInt) + String.fromCharCode(rowInt);\n return twoLetter;\n }\n\n /**\n * Decode the UTM parameters from a MGRS string.\n *\n * @private\n * @param {string} mgrsString an UPPERCASE coordinate string is expected.\n * @return {object} An object literal with easting, northing, zoneLetter,\n * zoneNumber and accuracy (in meters) properties.\n */\n function decode(mgrsString) {\n\n if (mgrsString && mgrsString.length === 0) {\n throw (\"MGRSPoint coverting from nothing\");\n }\n\n var length = mgrsString.length;\n\n var hunK = null;\n var sb = \"\";\n var testChar;\n var i = 0;\n\n // get Zone number\n while (!(/[A-Z]/).test(testChar = mgrsString.charAt(i))) {\n if (i >= 2) {\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n sb += testChar;\n i++;\n }\n\n var zoneNumber = parseInt(sb, 10);\n\n if (i === 0 || i + 3 > length) {\n // A good MGRS string has to be 4-5 digits long,\n // ##AAA/#AAA at least.\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n\n var zoneLetter = mgrsString.charAt(i++);\n\n // Should we check the zone letter here? Why not.\n if (zoneLetter <= 'A' || zoneLetter === 'B' || zoneLetter === 'Y' || zoneLetter >= 'Z' || zoneLetter === 'I' || zoneLetter === 'O') {\n throw (\"MGRSPoint zone letter \" + zoneLetter + \" not handled: \" + mgrsString);\n }\n\n hunK = mgrsString.substring(i, i += 2);\n\n var set = get100kSetForZone(zoneNumber);\n\n var east100k = getEastingFromChar(hunK.charAt(0), set);\n var north100k = getNorthingFromChar(hunK.charAt(1), set);\n\n // We have a bug where the northing may be 2000000 too low.\n // How\n // do we know when to roll over?\n\n while (north100k < getMinNorthing(zoneLetter)) {\n north100k += 2000000;\n }\n\n // calculate the char index for easting/northing separator\n var remainder = length - i;\n\n if (remainder % 2 !== 0) {\n throw (\"MGRSPoint has to have an even number \\nof digits after the zone letter and two 100km letters - front \\nhalf for easting meters, second half for \\nnorthing meters\" + mgrsString);\n }\n\n var sep = remainder / 2;\n\n var sepEasting = 0.0;\n var sepNorthing = 0.0;\n var accuracyBonus, sepEastingString, sepNorthingString, easting, northing;\n if (sep > 0) {\n accuracyBonus = 100000.0 / Math.pow(10, sep);\n sepEastingString = mgrsString.substring(i, i + sep);\n sepEasting = parseFloat(sepEastingString) * accuracyBonus;\n sepNorthingString = mgrsString.substring(i + sep);\n sepNorthing = parseFloat(sepNorthingString) * accuracyBonus;\n }\n\n easting = sepEasting + east100k;\n northing = sepNorthing + north100k;\n\n return {\n easting: easting,\n northing: northing,\n zoneLetter: zoneLetter,\n zoneNumber: zoneNumber,\n accuracy: accuracyBonus\n };\n }\n\n /**\n * Given the first letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the easting value that\n * should be added to the other, secondary easting value.\n *\n * @private\n * @param {char} e The first letter from a two-letter MGRS 100\u00B4k zone.\n * @param {number} set The MGRS table set for the zone number.\n * @return {number} The easting value for the given letter and set.\n */\n function getEastingFromChar(e, set) {\n // colOrigin is the letter at the origin of the set for the\n // column\n var curCol = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(set - 1);\n var eastingValue = 100000.0;\n var rewindMarker = false;\n\n while (curCol !== e.charCodeAt(0)) {\n curCol++;\n if (curCol === I) {\n curCol++;\n }\n if (curCol === O) {\n curCol++;\n }\n if (curCol > Z) {\n if (rewindMarker) {\n throw (\"Bad character: \" + e);\n }\n curCol = A;\n rewindMarker = true;\n }\n eastingValue += 100000.0;\n }\n\n return eastingValue;\n }\n\n /**\n * Given the second letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the northing value that\n * should be added to the other, secondary northing value. You have to\n * remember that Northings are determined from the equator, and the vertical\n * cycle of letters mean a 2000000 additional northing meters. This happens\n * approx. every 18 degrees of latitude. This method does *NOT* count any\n * additional northings. You have to figure out how many 2000000 meters need\n * to be added for the zone letter of the MGRS coordinate.\n *\n * @private\n * @param {char} n Second letter of the MGRS 100k zone\n * @param {number} set The MGRS table set number, which is dependent on the\n * UTM zone number.\n * @return {number} The northing value for the given letter and set.\n */\n function getNorthingFromChar(n, set) {\n\n if (n > 'V') {\n throw (\"MGRSPoint given invalid Northing \" + n);\n }\n\n // rowOrigin is the letter at the origin of the set for the\n // column\n var curRow = SET_ORIGIN_ROW_LETTERS.charCodeAt(set - 1);\n var northingValue = 0.0;\n var rewindMarker = false;\n\n while (curRow !== n.charCodeAt(0)) {\n curRow++;\n if (curRow === I) {\n curRow++;\n }\n if (curRow === O) {\n curRow++;\n }\n // fixing a bug making whole application hang in this loop\n // when 'n' is a wrong character\n if (curRow > V) {\n if (rewindMarker) { // making sure that this loop ends\n throw (\"Bad character: \" + n);\n }\n curRow = A;\n rewindMarker = true;\n }\n northingValue += 100000.0;\n }\n\n return northingValue;\n }\n\n /**\n * The function getMinNorthing returns the minimum northing value of a MGRS\n * zone.\n *\n * Ported from Geotrans' c Lattitude_Band_Value structure table.\n *\n * @private\n * @param {char} zoneLetter The MGRS zone to get the min northing for.\n * @return {number}\n */\n function getMinNorthing(zoneLetter) {\n var northing;\n switch (zoneLetter) {\n case 'C':\n northing = 1100000.0;\n break;\n case 'D':\n northing = 2000000.0;\n break;\n case 'E':\n northing = 2800000.0;\n break;\n case 'F':\n northing = 3700000.0;\n break;\n case 'G':\n northing = 4600000.0;\n break;\n case 'H':\n northing = 5500000.0;\n break;\n case 'J':\n northing = 6400000.0;\n break;\n case 'K':\n northing = 7300000.0;\n break;\n case 'L':\n northing = 8200000.0;\n break;\n case 'M':\n northing = 9100000.0;\n break;\n case 'N':\n northing = 0.0;\n break;\n case 'P':\n northing = 800000.0;\n break;\n case 'Q':\n northing = 1700000.0;\n break;\n case 'R':\n northing = 2600000.0;\n break;\n case 'S':\n northing = 3500000.0;\n break;\n case 'T':\n northing = 4400000.0;\n break;\n case 'U':\n northing = 5300000.0;\n break;\n case 'V':\n northing = 6200000.0;\n break;\n case 'W':\n northing = 7000000.0;\n break;\n case 'X':\n northing = 7900000.0;\n break;\n default:\n northing = -1.0;\n }\n if (northing >= 0.0) {\n return northing;\n }\n else {\n throw (\"Invalid zone letter: \" + zoneLetter);\n }\n\n }\n\n function Point(x, y, z) {\n if (!(this instanceof Point)) {\n return new Point(x, y, z);\n }\n if (Array.isArray(x)) {\n this.x = x[0];\n this.y = x[1];\n this.z = x[2] || 0.0;\n } else if(typeof x === 'object') {\n this.x = x.x;\n this.y = x.y;\n this.z = x.z || 0.0;\n } else if (typeof x === 'string' && typeof y === 'undefined') {\n var coords = x.split(',');\n this.x = parseFloat(coords[0], 10);\n this.y = parseFloat(coords[1], 10);\n this.z = parseFloat(coords[2], 10) || 0.0;\n } else {\n this.x = x;\n this.y = y;\n this.z = z || 0.0;\n }\n console.warn('proj4.Point will be removed in version 3, use proj4.toPoint');\n }\n\n Point.fromMGRS = function(mgrsStr) {\n return new Point(toPoint$1(mgrsStr));\n };\n Point.prototype.toMGRS = function(accuracy) {\n return forward$1([this.x, this.y], accuracy);\n };\n\n var C00 = 1;\n var C02 = 0.25;\n var C04 = 0.046875;\n var C06 = 0.01953125;\n var C08 = 0.01068115234375;\n var C22 = 0.75;\n var C44 = 0.46875;\n var C46 = 0.01302083333333333333;\n var C48 = 0.00712076822916666666;\n var C66 = 0.36458333333333333333;\n var C68 = 0.00569661458333333333;\n var C88 = 0.3076171875;\n\n var pj_enfn = function(es) {\n var en = [];\n en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));\n en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));\n var t = es * es;\n en[2] = t * (C44 - es * (C46 + es * C48));\n t *= es;\n en[3] = t * (C66 - es * C68);\n en[4] = t * es * C88;\n return en;\n };\n\n var pj_mlfn = function(phi, sphi, cphi, en) {\n cphi *= sphi;\n sphi *= sphi;\n return (en[0] * phi - cphi * (en[1] + sphi * (en[2] + sphi * (en[3] + sphi * en[4]))));\n };\n\n var MAX_ITER = 20;\n\n var pj_inv_mlfn = function(arg, es, en) {\n var k = 1 / (1 - es);\n var phi = arg;\n for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */\n var s = Math.sin(phi);\n var t = 1 - es * s * s;\n //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;\n //phi -= t * (t * Math.sqrt(t)) * k;\n t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;\n phi -= t;\n if (Math.abs(t) < EPSLN) {\n return phi;\n }\n }\n //..reportError(\"cass:pj_inv_mlfn: Convergence error\");\n return phi;\n };\n\n // Heavily based on this tmerc projection implementation\n // https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/tmerc.js\n\n function init$2() {\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n if (this.es) {\n this.en = pj_enfn(this.es);\n this.ml0 = pj_mlfn(this.lat0, Math.sin(this.lat0), Math.cos(this.lat0), this.en);\n }\n }\n\n /**\n Transverse Mercator Forward - long/lat to x/y\n long/lat in radians\n */\n function forward$2(p) {\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var con;\n var x, y;\n var sin_phi = Math.sin(lat);\n var cos_phi = Math.cos(lat);\n\n if (!this.es) {\n var b = cos_phi * Math.sin(delta_lon);\n\n if ((Math.abs(Math.abs(b) - 1)) < EPSLN) {\n return (93);\n }\n else {\n x = 0.5 * this.a * this.k0 * Math.log((1 + b) / (1 - b)) + this.x0;\n y = cos_phi * Math.cos(delta_lon) / Math.sqrt(1 - Math.pow(b, 2));\n b = Math.abs(y);\n\n if (b >= 1) {\n if ((b - 1) > EPSLN) {\n return (93);\n }\n else {\n y = 0;\n }\n }\n else {\n y = Math.acos(y);\n }\n\n if (lat < 0) {\n y = -y;\n }\n\n y = this.a * this.k0 * (y - this.lat0) + this.y0;\n }\n }\n else {\n var al = cos_phi * delta_lon;\n var als = Math.pow(al, 2);\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var tq = Math.abs(cos_phi) > EPSLN ? Math.tan(lat) : 0;\n var t = Math.pow(tq, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n al = al / Math.sqrt(con);\n var ml = pj_mlfn(lat, sin_phi, cos_phi, this.en);\n\n x = this.a * (this.k0 * al * (1 +\n als / 6 * (1 - t + c +\n als / 20 * (5 - 18 * t + ts + 14 * c - 58 * t * c +\n als / 42 * (61 + 179 * ts - ts * t - 479 * t))))) +\n this.x0;\n\n y = this.a * (this.k0 * (ml - this.ml0 +\n sin_phi * delta_lon * al / 2 * (1 +\n als / 12 * (5 - t + 9 * c + 4 * cs +\n als / 30 * (61 + ts - 58 * t + 270 * c - 330 * t * c +\n als / 56 * (1385 + 543 * ts - ts * t - 3111 * t)))))) +\n this.y0;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n }\n\n /**\n Transverse Mercator Inverse - x/y to long/lat\n */\n function inverse$2(p) {\n var con, phi;\n var lat, lon;\n var x = (p.x - this.x0) * (1 / this.a);\n var y = (p.y - this.y0) * (1 / this.a);\n\n if (!this.es) {\n var f = Math.exp(x / this.k0);\n var g = 0.5 * (f - 1 / f);\n var temp = this.lat0 + y / this.k0;\n var h = Math.cos(temp);\n con = Math.sqrt((1 - Math.pow(h, 2)) / (1 + Math.pow(g, 2)));\n lat = Math.asin(con);\n\n if (y < 0) {\n lat = -lat;\n }\n\n if ((g === 0) && (h === 0)) {\n lon = 0;\n }\n else {\n lon = adjust_lon(Math.atan2(g, h) + this.long0);\n }\n }\n else { // ellipsoidal form\n con = this.ml0 + y / this.k0;\n phi = pj_inv_mlfn(con, this.es, this.en);\n\n if (Math.abs(phi) < HALF_PI) {\n var sin_phi = Math.sin(phi);\n var cos_phi = Math.cos(phi);\n var tan_phi = Math.abs(cos_phi) > EPSLN ? Math.tan(phi) : 0;\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var t = Math.pow(tan_phi, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n var d = x * Math.sqrt(con) / this.k0;\n var ds = Math.pow(d, 2);\n con = con * tan_phi;\n\n lat = phi - (con * ds / (1 - this.es)) * 0.5 * (1 -\n ds / 12 * (5 + 3 * t - 9 * c * t + c - 4 * cs -\n ds / 30 * (61 + 90 * t - 252 * c * t + 45 * ts + 46 * c -\n ds / 56 * (1385 + 3633 * t + 4095 * ts + 1574 * ts * t))));\n\n lon = adjust_lon(this.long0 + (d * (1 -\n ds / 6 * (1 + 2 * t + c -\n ds / 20 * (5 + 28 * t + 24 * ts + 8 * c * t + 6 * c -\n ds / 42 * (61 + 662 * t + 1320 * ts + 720 * ts * t)))) / cos_phi));\n }\n else {\n lat = HALF_PI * sign(y);\n lon = 0;\n }\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n }\n\n var names$3 = [\"Fast_Transverse_Mercator\", \"Fast Transverse Mercator\"];\n var tmerc = {\n init: init$2,\n forward: forward$2,\n inverse: inverse$2,\n names: names$3\n };\n\n var sinh = function(x) {\n var r = Math.exp(x);\n r = (r - 1 / r) / 2;\n return r;\n };\n\n var hypot = function(x, y) {\n x = Math.abs(x);\n y = Math.abs(y);\n var a = Math.max(x, y);\n var b = Math.min(x, y) / (a ? a : 1);\n\n return a * Math.sqrt(1 + Math.pow(b, 2));\n };\n\n var log1py = function(x) {\n var y = 1 + x;\n var z = y - 1;\n\n return z === 0 ? x : x * Math.log(y) / z;\n };\n\n var asinhy = function(x) {\n var y = Math.abs(x);\n y = log1py(y * (1 + y / (hypot(1, y) + 1)));\n\n return x < 0 ? -y : y;\n };\n\n var gatg = function(pp, B) {\n var cos_2B = 2 * Math.cos(2 * B);\n var i = pp.length - 1;\n var h1 = pp[i];\n var h2 = 0;\n var h;\n\n while (--i >= 0) {\n h = -h2 + cos_2B * h1 + pp[i];\n h2 = h1;\n h1 = h;\n }\n\n return (B + h * Math.sin(2 * B));\n };\n\n var clens = function(pp, arg_r) {\n var r = 2 * Math.cos(arg_r);\n var i = pp.length - 1;\n var hr1 = pp[i];\n var hr2 = 0;\n var hr;\n\n while (--i >= 0) {\n hr = -hr2 + r * hr1 + pp[i];\n hr2 = hr1;\n hr1 = hr;\n }\n\n return Math.sin(arg_r) * hr;\n };\n\n var cosh = function(x) {\n var r = Math.exp(x);\n r = (r + 1 / r) / 2;\n return r;\n };\n\n var clens_cmplx = function(pp, arg_r, arg_i) {\n var sin_arg_r = Math.sin(arg_r);\n var cos_arg_r = Math.cos(arg_r);\n var sinh_arg_i = sinh(arg_i);\n var cosh_arg_i = cosh(arg_i);\n var r = 2 * cos_arg_r * cosh_arg_i;\n var i = -2 * sin_arg_r * sinh_arg_i;\n var j = pp.length - 1;\n var hr = pp[j];\n var hi1 = 0;\n var hr1 = 0;\n var hi = 0;\n var hr2;\n var hi2;\n\n while (--j >= 0) {\n hr2 = hr1;\n hi2 = hi1;\n hr1 = hr;\n hi1 = hi;\n hr = -hr2 + r * hr1 - i * hi1 + pp[j];\n hi = -hi2 + i * hr1 + r * hi1;\n }\n\n r = sin_arg_r * cosh_arg_i;\n i = cos_arg_r * sinh_arg_i;\n\n return [r * hr - i * hi, r * hi + i * hr];\n };\n\n // Heavily based on this etmerc projection implementation\n // https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/etmerc.js\n\n function init$3() {\n if (!this.approx && (isNaN(this.es) || this.es <= 0)) {\n throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION[\"Fast_Transverse_Mercator\"] in the WKT.');\n }\n if (this.approx) {\n // When '+approx' is set, use tmerc instead\n tmerc.init.apply(this);\n this.forward = tmerc.forward;\n this.inverse = tmerc.inverse;\n }\n\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n this.cgb = [];\n this.cbg = [];\n this.utg = [];\n this.gtu = [];\n\n var f = this.es / (1 + Math.sqrt(1 - this.es));\n var n = f / (2 - f);\n var np = n;\n\n this.cgb[0] = n * (2 + n * (-2 / 3 + n * (-2 + n * (116 / 45 + n * (26 / 45 + n * (-2854 / 675 ))))));\n this.cbg[0] = n * (-2 + n * ( 2 / 3 + n * ( 4 / 3 + n * (-82 / 45 + n * (32 / 45 + n * (4642 / 4725))))));\n\n np = np * n;\n this.cgb[1] = np * (7 / 3 + n * (-8 / 5 + n * (-227 / 45 + n * (2704 / 315 + n * (2323 / 945)))));\n this.cbg[1] = np * (5 / 3 + n * (-16 / 15 + n * ( -13 / 9 + n * (904 / 315 + n * (-1522 / 945)))));\n\n np = np * n;\n this.cgb[2] = np * (56 / 15 + n * (-136 / 35 + n * (-1262 / 105 + n * (73814 / 2835))));\n this.cbg[2] = np * (-26 / 15 + n * (34 / 21 + n * (8 / 5 + n * (-12686 / 2835))));\n\n np = np * n;\n this.cgb[3] = np * (4279 / 630 + n * (-332 / 35 + n * (-399572 / 14175)));\n this.cbg[3] = np * (1237 / 630 + n * (-12 / 5 + n * ( -24832 / 14175)));\n\n np = np * n;\n this.cgb[4] = np * (4174 / 315 + n * (-144838 / 6237));\n this.cbg[4] = np * (-734 / 315 + n * (109598 / 31185));\n\n np = np * n;\n this.cgb[5] = np * (601676 / 22275);\n this.cbg[5] = np * (444337 / 155925);\n\n np = Math.pow(n, 2);\n this.Qn = this.k0 / (1 + n) * (1 + np * (1 / 4 + np * (1 / 64 + np / 256)));\n\n this.utg[0] = n * (-0.5 + n * ( 2 / 3 + n * (-37 / 96 + n * ( 1 / 360 + n * (81 / 512 + n * (-96199 / 604800))))));\n this.gtu[0] = n * (0.5 + n * (-2 / 3 + n * (5 / 16 + n * (41 / 180 + n * (-127 / 288 + n * (7891 / 37800))))));\n\n this.utg[1] = np * (-1 / 48 + n * (-1 / 15 + n * (437 / 1440 + n * (-46 / 105 + n * (1118711 / 3870720)))));\n this.gtu[1] = np * (13 / 48 + n * (-3 / 5 + n * (557 / 1440 + n * (281 / 630 + n * (-1983433 / 1935360)))));\n\n np = np * n;\n this.utg[2] = np * (-17 / 480 + n * (37 / 840 + n * (209 / 4480 + n * (-5569 / 90720 ))));\n this.gtu[2] = np * (61 / 240 + n * (-103 / 140 + n * (15061 / 26880 + n * (167603 / 181440))));\n\n np = np * n;\n this.utg[3] = np * (-4397 / 161280 + n * (11 / 504 + n * (830251 / 7257600)));\n this.gtu[3] = np * (49561 / 161280 + n * (-179 / 168 + n * (6601661 / 7257600)));\n\n np = np * n;\n this.utg[4] = np * (-4583 / 161280 + n * (108847 / 3991680));\n this.gtu[4] = np * (34729 / 80640 + n * (-3418889 / 1995840));\n\n np = np * n;\n this.utg[5] = np * (-20648693 / 638668800);\n this.gtu[5] = np * (212378941 / 319334400);\n\n var Z = gatg(this.cbg, this.lat0);\n this.Zb = -this.Qn * (Z + clens(this.gtu, 2 * Z));\n }\n\n function forward$3(p) {\n var Ce = adjust_lon(p.x - this.long0);\n var Cn = p.y;\n\n Cn = gatg(this.cbg, Cn);\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn, cos_Ce * cos_Cn);\n Ce = Math.atan2(sin_Ce * cos_Cn, hypot(sin_Cn, cos_Cn * cos_Ce));\n Ce = asinhy(Math.tan(Ce));\n\n var tmp = clens_cmplx(this.gtu, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n\n var x;\n var y;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n x = this.a * (this.Qn * Ce) + this.x0;\n y = this.a * (this.Qn * Cn + this.Zb) + this.y0;\n }\n else {\n x = Infinity;\n y = Infinity;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n }\n\n function inverse$3(p) {\n var Ce = (p.x - this.x0) * (1 / this.a);\n var Cn = (p.y - this.y0) * (1 / this.a);\n\n Cn = (Cn - this.Zb) / this.Qn;\n Ce = Ce / this.Qn;\n\n var lon;\n var lat;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n var tmp = clens_cmplx(this.utg, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n Ce = Math.atan(sinh(Ce));\n\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn * cos_Ce, hypot(sin_Ce, cos_Ce * cos_Cn));\n Ce = Math.atan2(sin_Ce, cos_Ce * cos_Cn);\n\n lon = adjust_lon(Ce + this.long0);\n lat = gatg(this.cgb, Cn);\n }\n else {\n lon = Infinity;\n lat = Infinity;\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n }\n\n var names$4 = [\"Extended_Transverse_Mercator\", \"Extended Transverse Mercator\", \"etmerc\", \"Transverse_Mercator\", \"Transverse Mercator\", \"Gauss Kruger\", \"Gauss_Kruger\", \"tmerc\"];\n var etmerc = {\n init: init$3,\n forward: forward$3,\n inverse: inverse$3,\n names: names$4\n };\n\n var adjust_zone = function(zone, lon) {\n if (zone === undefined) {\n zone = Math.floor((adjust_lon(lon) + Math.PI) * 30 / Math.PI) + 1;\n\n if (zone < 0) {\n return 0;\n } else if (zone > 60) {\n return 60;\n }\n }\n return zone;\n };\n\n var dependsOn = 'etmerc';\n function init$4() {\n var zone = adjust_zone(this.zone, this.long0);\n if (zone === undefined) {\n throw new Error('unknown utm zone');\n }\n this.lat0 = 0;\n this.long0 = ((6 * Math.abs(zone)) - 183) * D2R;\n this.x0 = 500000;\n this.y0 = this.utmSouth ? 10000000 : 0;\n this.k0 = 0.9996;\n\n etmerc.init.apply(this);\n this.forward = etmerc.forward;\n this.inverse = etmerc.inverse;\n }\n\n var names$5 = [\"Universal Transverse Mercator System\", \"utm\"];\n var utm = {\n init: init$4,\n names: names$5,\n dependsOn: dependsOn\n };\n\n var srat = function(esinp, exp) {\n return (Math.pow((1 - esinp) / (1 + esinp), exp));\n };\n\n var MAX_ITER$1 = 20;\n function init$6() {\n var sphi = Math.sin(this.lat0);\n var cphi = Math.cos(this.lat0);\n cphi *= cphi;\n this.rc = Math.sqrt(1 - this.es) / (1 - this.es * sphi * sphi);\n this.C = Math.sqrt(1 + this.es * cphi * cphi / (1 - this.es));\n this.phic0 = Math.asin(sphi / this.C);\n this.ratexp = 0.5 * this.C * this.e;\n this.K = Math.tan(0.5 * this.phic0 + FORTPI) / (Math.pow(Math.tan(0.5 * this.lat0 + FORTPI), this.C) * srat(this.e * sphi, this.ratexp));\n }\n\n function forward$5(p) {\n var lon = p.x;\n var lat = p.y;\n\n p.y = 2 * Math.atan(this.K * Math.pow(Math.tan(0.5 * lat + FORTPI), this.C) * srat(this.e * Math.sin(lat), this.ratexp)) - HALF_PI;\n p.x = this.C * lon;\n return p;\n }\n\n function inverse$5(p) {\n var DEL_TOL = 1e-14;\n var lon = p.x / this.C;\n var lat = p.y;\n var num = Math.pow(Math.tan(0.5 * lat + FORTPI) / this.K, 1 / this.C);\n for (var i = MAX_ITER$1; i > 0; --i) {\n lat = 2 * Math.atan(num * srat(this.e * Math.sin(p.y), - 0.5 * this.e)) - HALF_PI;\n if (Math.abs(lat - p.y) < DEL_TOL) {\n break;\n }\n p.y = lat;\n }\n /* convergence failed */\n if (!i) {\n return null;\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$7 = [\"gauss\"];\n var gauss = {\n init: init$6,\n forward: forward$5,\n inverse: inverse$5,\n names: names$7\n };\n\n function init$5() {\n gauss.init.apply(this);\n if (!this.rc) {\n return;\n }\n this.sinc0 = Math.sin(this.phic0);\n this.cosc0 = Math.cos(this.phic0);\n this.R2 = 2 * this.rc;\n if (!this.title) {\n this.title = \"Oblique Stereographic Alternative\";\n }\n }\n\n function forward$4(p) {\n var sinc, cosc, cosl, k;\n p.x = adjust_lon(p.x - this.long0);\n gauss.forward.apply(this, [p]);\n sinc = Math.sin(p.y);\n cosc = Math.cos(p.y);\n cosl = Math.cos(p.x);\n k = this.k0 * this.R2 / (1 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);\n p.x = k * cosc * Math.sin(p.x);\n p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n }\n\n function inverse$4(p) {\n var sinc, cosc, lon, lat, rho;\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n if ((rho = hypot(p.x, p.y))) {\n var c = 2 * Math.atan2(rho, this.R2);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);\n lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n gauss.inverse.apply(this, [p]);\n p.x = adjust_lon(p.x + this.long0);\n return p;\n }\n\n var names$6 = [\"Stereographic_North_Pole\", \"Oblique_Stereographic\", \"sterea\",\"Oblique Stereographic Alternative\",\"Double_Stereographic\"];\n var sterea = {\n init: init$5,\n forward: forward$4,\n inverse: inverse$4,\n names: names$6\n };\n\n function ssfn_(phit, sinphi, eccen) {\n sinphi *= eccen;\n return (Math.tan(0.5 * (HALF_PI + phit)) * Math.pow((1 - sinphi) / (1 + sinphi), 0.5 * eccen));\n }\n\n function init$7() {\n\n // setting default parameters\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n\n this.coslat0 = Math.cos(this.lat0);\n this.sinlat0 = Math.sin(this.lat0);\n if (this.sphere) {\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * (1 + sign(this.lat0) * Math.sin(this.lat_ts));\n }\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (this.lat0 > 0) {\n //North pole\n //trace('stere:north pole');\n this.con = 1;\n }\n else {\n //South pole\n //trace('stere:south pole');\n this.con = -1;\n }\n }\n this.cons = Math.sqrt(Math.pow(1 + this.e, 1 + this.e) * Math.pow(1 - this.e, 1 - this.e));\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN && Math.abs(Math.cos(this.lat_ts)) > EPSLN) {\n // When k0 is 1 (default value) and lat_ts is a vaild number and lat0 is at a pole and lat_ts is not at a pole\n // Recalculate k0 using formula 21-35 from p161 of Snyder, 1987\n this.k0 = 0.5 * this.cons * msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts)) / tsfnz(this.e, this.con * this.lat_ts, this.con * Math.sin(this.lat_ts));\n }\n this.ms1 = msfnz(this.e, this.sinlat0, this.coslat0);\n this.X0 = 2 * Math.atan(this.ssfn_(this.lat0, this.sinlat0, this.e)) - HALF_PI;\n this.cosX0 = Math.cos(this.X0);\n this.sinX0 = Math.sin(this.X0);\n }\n }\n\n // Stereographic forward equations--mapping lat,long to x,y\n function forward$6(p) {\n var lon = p.x;\n var lat = p.y;\n var sinlat = Math.sin(lat);\n var coslat = Math.cos(lat);\n var A, X, sinX, cosX, ts, rh;\n var dlon = adjust_lon(lon - this.long0);\n\n if (Math.abs(Math.abs(lon - this.long0) - Math.PI) <= EPSLN && Math.abs(lat + this.lat0) <= EPSLN) {\n //case of the origine point\n //trace('stere:this is the origin point');\n p.x = NaN;\n p.y = NaN;\n return p;\n }\n if (this.sphere) {\n //trace('stere:sphere case');\n A = 2 * this.k0 / (1 + this.sinlat0 * sinlat + this.coslat0 * coslat * Math.cos(dlon));\n p.x = this.a * A * coslat * Math.sin(dlon) + this.x0;\n p.y = this.a * A * (this.coslat0 * sinlat - this.sinlat0 * coslat * Math.cos(dlon)) + this.y0;\n return p;\n }\n else {\n X = 2 * Math.atan(this.ssfn_(lat, sinlat, this.e)) - HALF_PI;\n cosX = Math.cos(X);\n sinX = Math.sin(X);\n if (Math.abs(this.coslat0) <= EPSLN) {\n ts = tsfnz(this.e, lat * this.con, this.con * sinlat);\n rh = 2 * this.a * this.k0 * ts / this.cons;\n p.x = this.x0 + rh * Math.sin(lon - this.long0);\n p.y = this.y0 - this.con * rh * Math.cos(lon - this.long0);\n //trace(p.toString());\n return p;\n }\n else if (Math.abs(this.sinlat0) < EPSLN) {\n //Eq\n //trace('stere:equateur');\n A = 2 * this.a * this.k0 / (1 + cosX * Math.cos(dlon));\n p.y = A * sinX;\n }\n else {\n //other case\n //trace('stere:normal case');\n A = 2 * this.a * this.k0 * this.ms1 / (this.cosX0 * (1 + this.sinX0 * sinX + this.cosX0 * cosX * Math.cos(dlon)));\n p.y = A * (this.cosX0 * sinX - this.sinX0 * cosX * Math.cos(dlon)) + this.y0;\n }\n p.x = A * cosX * Math.sin(dlon) + this.x0;\n }\n //trace(p.toString());\n return p;\n }\n\n //* Stereographic inverse equations--mapping x,y to lat/long\n function inverse$6(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat, ts, ce, Chi;\n var rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (this.sphere) {\n var c = 2 * Math.atan(rh / (2 * this.a * this.k0));\n lon = this.long0;\n lat = this.lat0;\n if (rh <= EPSLN) {\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Math.asin(Math.cos(c) * this.sinlat0 + p.y * Math.sin(c) * this.coslat0 / rh);\n if (Math.abs(this.coslat0) < EPSLN) {\n if (this.lat0 > 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n }\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(c), rh * this.coslat0 * Math.cos(c) - p.y * this.sinlat0 * Math.sin(c)));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (rh <= EPSLN) {\n lat = this.lat0;\n lon = this.long0;\n p.x = lon;\n p.y = lat;\n //trace(p.toString());\n return p;\n }\n p.x *= this.con;\n p.y *= this.con;\n ts = rh * this.cons / (2 * this.a * this.k0);\n lat = this.con * phi2z(this.e, ts);\n lon = this.con * adjust_lon(this.con * this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n ce = 2 * Math.atan(rh * this.cosX0 / (2 * this.a * this.k0 * this.ms1));\n lon = this.long0;\n if (rh <= EPSLN) {\n Chi = this.X0;\n }\n else {\n Chi = Math.asin(Math.cos(ce) * this.sinX0 + p.y * Math.sin(ce) * this.cosX0 / rh);\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(ce), rh * this.cosX0 * Math.cos(ce) - p.y * this.sinX0 * Math.sin(ce)));\n }\n lat = -1 * phi2z(this.e, Math.tan(0.5 * (HALF_PI + Chi)));\n }\n }\n p.x = lon;\n p.y = lat;\n\n //trace(p.toString());\n return p;\n\n }\n\n var names$8 = [\"stere\", \"Stereographic_South_Pole\", \"Polar Stereographic (variant B)\", \"Polar_Stereographic\"];\n var stere = {\n init: init$7,\n forward: forward$6,\n inverse: inverse$6,\n names: names$8,\n ssfn_: ssfn_\n };\n\n /*\n references:\n Formules et constantes pour le Calcul pour la\n projection cylindrique conforme \u00E0 axe oblique et pour la transformation entre\n des syst\u00E8mes de r\u00E9f\u00E9rence.\n http://www.swisstopo.admin.ch/internet/swisstopo/fr/home/topics/survey/sys/refsys/switzerland.parsysrelated1.31216.downloadList.77004.DownloadFile.tmp/swissprojectionfr.pdf\n */\n\n function init$8() {\n var phy0 = this.lat0;\n this.lambda0 = this.long0;\n var sinPhy0 = Math.sin(phy0);\n var semiMajorAxis = this.a;\n var invF = this.rf;\n var flattening = 1 / invF;\n var e2 = 2 * flattening - Math.pow(flattening, 2);\n var e = this.e = Math.sqrt(e2);\n this.R = this.k0 * semiMajorAxis * Math.sqrt(1 - e2) / (1 - e2 * Math.pow(sinPhy0, 2));\n this.alpha = Math.sqrt(1 + e2 / (1 - e2) * Math.pow(Math.cos(phy0), 4));\n this.b0 = Math.asin(sinPhy0 / this.alpha);\n var k1 = Math.log(Math.tan(Math.PI / 4 + this.b0 / 2));\n var k2 = Math.log(Math.tan(Math.PI / 4 + phy0 / 2));\n var k3 = Math.log((1 + e * sinPhy0) / (1 - e * sinPhy0));\n this.K = k1 - this.alpha * k2 + this.alpha * e / 2 * k3;\n }\n\n function forward$7(p) {\n var Sa1 = Math.log(Math.tan(Math.PI / 4 - p.y / 2));\n var Sa2 = this.e / 2 * Math.log((1 + this.e * Math.sin(p.y)) / (1 - this.e * Math.sin(p.y)));\n var S = -this.alpha * (Sa1 + Sa2) + this.K;\n\n // spheric latitude\n var b = 2 * (Math.atan(Math.exp(S)) - Math.PI / 4);\n\n // spheric longitude\n var I = this.alpha * (p.x - this.lambda0);\n\n // psoeudo equatorial rotation\n var rotI = Math.atan(Math.sin(I) / (Math.sin(this.b0) * Math.tan(b) + Math.cos(this.b0) * Math.cos(I)));\n\n var rotB = Math.asin(Math.cos(this.b0) * Math.sin(b) - Math.sin(this.b0) * Math.cos(b) * Math.cos(I));\n\n p.y = this.R / 2 * Math.log((1 + Math.sin(rotB)) / (1 - Math.sin(rotB))) + this.y0;\n p.x = this.R * rotI + this.x0;\n return p;\n }\n\n function inverse$7(p) {\n var Y = p.x - this.x0;\n var X = p.y - this.y0;\n\n var rotI = Y / this.R;\n var rotB = 2 * (Math.atan(Math.exp(X / this.R)) - Math.PI / 4);\n\n var b = Math.asin(Math.cos(this.b0) * Math.sin(rotB) + Math.sin(this.b0) * Math.cos(rotB) * Math.cos(rotI));\n var I = Math.atan(Math.sin(rotI) / (Math.cos(this.b0) * Math.cos(rotI) - Math.sin(this.b0) * Math.tan(rotB)));\n\n var lambda = this.lambda0 + I / this.alpha;\n\n var S = 0;\n var phy = b;\n var prevPhy = -1000;\n var iteration = 0;\n while (Math.abs(phy - prevPhy) > 0.0000001) {\n if (++iteration > 20) {\n //...reportError(\"omercFwdInfinity\");\n return;\n }\n //S = Math.log(Math.tan(Math.PI / 4 + phy / 2));\n S = 1 / this.alpha * (Math.log(Math.tan(Math.PI / 4 + b / 2)) - this.K) + this.e * Math.log(Math.tan(Math.PI / 4 + Math.asin(this.e * Math.sin(phy)) / 2));\n prevPhy = phy;\n phy = 2 * Math.atan(Math.exp(S)) - Math.PI / 2;\n }\n\n p.x = lambda;\n p.y = phy;\n return p;\n }\n\n var names$9 = [\"somerc\"];\n var somerc = {\n init: init$8,\n forward: forward$7,\n inverse: inverse$7,\n names: names$9\n };\n\n var TOL = 1e-7;\n\n function isTypeA(P) {\n var typeAProjections = ['Hotine_Oblique_Mercator','Hotine_Oblique_Mercator_Azimuth_Natural_Origin'];\n var projectionName = typeof P.PROJECTION === \"object\" ? Object.keys(P.PROJECTION)[0] : P.PROJECTION;\n \n return 'no_uoff' in P || 'no_off' in P || typeAProjections.indexOf(projectionName) !== -1;\n }\n\n\n /* Initialize the Oblique Mercator projection\n ------------------------------------------*/\n function init$9() { \n var con, com, cosph0, D, F, H, L, sinph0, p, J, gamma = 0,\n gamma0, lamc = 0, lam1 = 0, lam2 = 0, phi1 = 0, phi2 = 0, alpha_c = 0;\n \n // only Type A uses the no_off or no_uoff property\n // https://github.com/OSGeo/proj.4/issues/104\n this.no_off = isTypeA(this);\n this.no_rot = 'no_rot' in this;\n \n var alp = false;\n if (\"alpha\" in this) {\n alp = true;\n }\n\n var gam = false;\n if (\"rectified_grid_angle\" in this) {\n gam = true;\n }\n\n if (alp) {\n alpha_c = this.alpha;\n }\n \n if (gam) {\n gamma = (this.rectified_grid_angle * D2R);\n }\n \n if (alp || gam) {\n lamc = this.longc;\n } else {\n lam1 = this.long1;\n phi1 = this.lat1;\n lam2 = this.long2;\n phi2 = this.lat2;\n \n if (Math.abs(phi1 - phi2) <= TOL || (con = Math.abs(phi1)) <= TOL ||\n Math.abs(con - HALF_PI) <= TOL || Math.abs(Math.abs(this.lat0) - HALF_PI) <= TOL ||\n Math.abs(Math.abs(phi2) - HALF_PI) <= TOL) {\n throw new Error();\n }\n }\n \n var one_es = 1.0 - this.es;\n com = Math.sqrt(one_es);\n \n if (Math.abs(this.lat0) > EPSLN) {\n sinph0 = Math.sin(this.lat0);\n cosph0 = Math.cos(this.lat0);\n con = 1 - this.es * sinph0 * sinph0;\n this.B = cosph0 * cosph0;\n this.B = Math.sqrt(1 + this.es * this.B * this.B / one_es);\n this.A = this.B * this.k0 * com / con;\n D = this.B * com / (cosph0 * Math.sqrt(con));\n F = D * D -1;\n \n if (F <= 0) {\n F = 0;\n } else {\n F = Math.sqrt(F);\n if (this.lat0 < 0) {\n F = -F;\n }\n }\n \n this.E = F += D;\n this.E *= Math.pow(tsfnz(this.e, this.lat0, sinph0), this.B);\n } else {\n this.B = 1 / com;\n this.A = this.k0;\n this.E = D = F = 1;\n }\n \n if (alp || gam) {\n if (alp) {\n gamma0 = Math.asin(Math.sin(alpha_c) / D);\n if (!gam) {\n gamma = alpha_c;\n }\n } else {\n gamma0 = gamma;\n alpha_c = Math.asin(D * Math.sin(gamma0));\n }\n this.lam0 = lamc - Math.asin(0.5 * (F - 1 / F) * Math.tan(gamma0)) / this.B;\n } else {\n H = Math.pow(tsfnz(this.e, phi1, Math.sin(phi1)), this.B);\n L = Math.pow(tsfnz(this.e, phi2, Math.sin(phi2)), this.B);\n F = this.E / H;\n p = (L - H) / (L + H);\n J = this.E * this.E;\n J = (J - L * H) / (J + L * H);\n con = lam1 - lam2;\n \n if (con < -Math.pi) {\n lam2 -=TWO_PI;\n } else if (con > Math.pi) {\n lam2 += TWO_PI;\n }\n \n this.lam0 = adjust_lon(0.5 * (lam1 + lam2) - Math.atan(J * Math.tan(0.5 * this.B * (lam1 - lam2)) / p) / this.B);\n gamma0 = Math.atan(2 * Math.sin(this.B * adjust_lon(lam1 - this.lam0)) / (F - 1 / F));\n gamma = alpha_c = Math.asin(D * Math.sin(gamma0));\n }\n \n this.singam = Math.sin(gamma0);\n this.cosgam = Math.cos(gamma0);\n this.sinrot = Math.sin(gamma);\n this.cosrot = Math.cos(gamma);\n \n this.rB = 1 / this.B;\n this.ArB = this.A * this.rB;\n this.BrA = 1 / this.ArB;\n if (this.no_off) {\n this.u_0 = 0;\n } else {\n this.u_0 = Math.abs(this.ArB * Math.atan(Math.sqrt(D * D - 1) / Math.cos(alpha_c)));\n \n if (this.lat0 < 0) {\n this.u_0 = - this.u_0;\n } \n }\n \n F = 0.5 * gamma0;\n this.v_pole_n = this.ArB * Math.log(Math.tan(FORTPI - F));\n this.v_pole_s = this.ArB * Math.log(Math.tan(FORTPI + F));\n }\n\n\n /* Oblique Mercator forward equations--mapping lat,long to x,y\n ----------------------------------------------------------*/\n function forward$8(p) {\n var coords = {};\n var S, T, U, V, W, temp, u, v;\n p.x = p.x - this.lam0;\n \n if (Math.abs(Math.abs(p.y) - HALF_PI) > EPSLN) {\n W = this.E / Math.pow(tsfnz(this.e, p.y, Math.sin(p.y)), this.B);\n \n temp = 1 / W;\n S = 0.5 * (W - temp);\n T = 0.5 * (W + temp);\n V = Math.sin(this.B * p.x);\n U = (S * this.singam - V * this.cosgam) / T;\n \n if (Math.abs(Math.abs(U) - 1.0) < EPSLN) {\n throw new Error();\n }\n \n v = 0.5 * this.ArB * Math.log((1 - U)/(1 + U));\n temp = Math.cos(this.B * p.x);\n \n if (Math.abs(temp) < TOL) {\n u = this.A * p.x;\n } else {\n u = this.ArB * Math.atan2((S * this.cosgam + V * this.singam), temp);\n } \n } else {\n v = p.y > 0 ? this.v_pole_n : this.v_pole_s;\n u = this.ArB * p.y;\n }\n \n if (this.no_rot) {\n coords.x = u;\n coords.y = v;\n } else {\n u -= this.u_0;\n coords.x = v * this.cosrot + u * this.sinrot;\n coords.y = u * this.cosrot - v * this.sinrot;\n }\n \n coords.x = (this.a * coords.x + this.x0);\n coords.y = (this.a * coords.y + this.y0);\n \n return coords;\n }\n\n function inverse$8(p) {\n var u, v, Qp, Sp, Tp, Vp, Up;\n var coords = {};\n \n p.x = (p.x - this.x0) * (1.0 / this.a);\n p.y = (p.y - this.y0) * (1.0 / this.a);\n\n if (this.no_rot) {\n v = p.y;\n u = p.x;\n } else {\n v = p.x * this.cosrot - p.y * this.sinrot;\n u = p.y * this.cosrot + p.x * this.sinrot + this.u_0;\n }\n \n Qp = Math.exp(-this.BrA * v);\n Sp = 0.5 * (Qp - 1 / Qp);\n Tp = 0.5 * (Qp + 1 / Qp);\n Vp = Math.sin(this.BrA * u);\n Up = (Vp * this.cosgam + Sp * this.singam) / Tp;\n \n if (Math.abs(Math.abs(Up) - 1) < EPSLN) {\n coords.x = 0;\n coords.y = Up < 0 ? -HALF_PI : HALF_PI;\n } else {\n coords.y = this.E / Math.sqrt((1 + Up) / (1 - Up));\n coords.y = phi2z(this.e, Math.pow(coords.y, 1 / this.B));\n \n if (coords.y === Infinity) {\n throw new Error();\n }\n \n coords.x = -this.rB * Math.atan2((Sp * this.cosgam - Vp * this.singam), Math.cos(this.BrA * u));\n }\n \n coords.x += this.lam0;\n \n return coords;\n }\n\n var names$10 = [\"Hotine_Oblique_Mercator\", \"Hotine Oblique Mercator\", \"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\", \"Hotine_Oblique_Mercator_Two_Point_Natural_Origin\", \"Hotine_Oblique_Mercator_Azimuth_Center\", \"Oblique_Mercator\", \"omerc\"];\n var omerc = {\n init: init$9,\n forward: forward$8,\n inverse: inverse$8,\n names: names$10\n };\n\n function init$10() {\n \n //double lat0; /* the reference latitude */\n //double long0; /* the reference longitude */\n //double lat1; /* first standard parallel */\n //double lat2; /* second standard parallel */\n //double r_maj; /* major axis */\n //double r_min; /* minor axis */\n //double false_east; /* x offset in meters */\n //double false_north; /* y offset in meters */\n \n //the above value can be set with proj4.defs\n //example: proj4.defs(\"EPSG:2154\",\"+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs\");\n\n if (!this.lat2) {\n this.lat2 = this.lat1;\n } //if lat2 is not defined\n if (!this.k0) {\n this.k0 = 1;\n }\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n\n var temp = this.b / this.a;\n this.e = Math.sqrt(1 - temp * temp);\n\n var sin1 = Math.sin(this.lat1);\n var cos1 = Math.cos(this.lat1);\n var ms1 = msfnz(this.e, sin1, cos1);\n var ts1 = tsfnz(this.e, this.lat1, sin1);\n\n var sin2 = Math.sin(this.lat2);\n var cos2 = Math.cos(this.lat2);\n var ms2 = msfnz(this.e, sin2, cos2);\n var ts2 = tsfnz(this.e, this.lat2, sin2);\n\n var ts0 = tsfnz(this.e, this.lat0, Math.sin(this.lat0));\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns = Math.log(ms1 / ms2) / Math.log(ts1 / ts2);\n }\n else {\n this.ns = sin1;\n }\n if (isNaN(this.ns)) {\n this.ns = sin1;\n }\n this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));\n this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);\n if (!this.title) {\n this.title = \"Lambert Conformal Conic\";\n }\n }\n\n // Lambert Conformal conic forward equations--mapping lat,long to x,y\n // -----------------------------------------------------------------\n function forward$9(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n // singular cases :\n if (Math.abs(2 * Math.abs(lat) - Math.PI) <= EPSLN) {\n lat = sign(lat) * (HALF_PI - 2 * EPSLN);\n }\n\n var con = Math.abs(Math.abs(lat) - HALF_PI);\n var ts, rh1;\n if (con > EPSLN) {\n ts = tsfnz(this.e, lat, Math.sin(lat));\n rh1 = this.a * this.f0 * Math.pow(ts, this.ns);\n }\n else {\n con = lat * this.ns;\n if (con <= 0) {\n return null;\n }\n rh1 = 0;\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;\n p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;\n\n return p;\n }\n\n // Lambert Conformal Conic inverse equations--mapping x,y to lat/long\n // -----------------------------------------------------------------\n function inverse$9(p) {\n\n var rh1, con, ts;\n var lat, lon;\n var x = (p.x - this.x0) / this.k0;\n var y = (this.rh - (p.y - this.y0) / this.k0);\n if (this.ns > 0) {\n rh1 = Math.sqrt(x * x + y * y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(x * x + y * y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2((con * x), (con * y));\n }\n if ((rh1 !== 0) || (this.ns > 0)) {\n con = 1 / this.ns;\n ts = Math.pow((rh1 / (this.a * this.f0)), con);\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n else {\n lat = -HALF_PI;\n }\n lon = adjust_lon(theta / this.ns + this.long0);\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$11 = [\n \"Lambert Tangential Conformal Conic Projection\",\n \"Lambert_Conformal_Conic\",\n \"Lambert_Conformal_Conic_1SP\",\n \"Lambert_Conformal_Conic_2SP\",\n \"lcc\",\n \"Lambert Conic Conformal (1SP)\",\n \"Lambert Conic Conformal (2SP)\"\n ];\n\n var lcc = {\n init: init$10,\n forward: forward$9,\n inverse: inverse$9,\n names: names$11\n };\n\n function init$11() {\n this.a = 6377397.155;\n this.es = 0.006674372230614;\n this.e = Math.sqrt(this.es);\n if (!this.lat0) {\n this.lat0 = 0.863937979737193;\n }\n if (!this.long0) {\n this.long0 = 0.7417649320975901 - 0.308341501185665;\n }\n /* if scale not set default to 0.9999 */\n if (!this.k0) {\n this.k0 = 0.9999;\n }\n this.s45 = 0.785398163397448; /* 45 */\n this.s90 = 2 * this.s45;\n this.fi0 = this.lat0;\n this.e2 = this.es;\n this.e = Math.sqrt(this.e2);\n this.alfa = Math.sqrt(1 + (this.e2 * Math.pow(Math.cos(this.fi0), 4)) / (1 - this.e2));\n this.uq = 1.04216856380474;\n this.u0 = Math.asin(Math.sin(this.fi0) / this.alfa);\n this.g = Math.pow((1 + this.e * Math.sin(this.fi0)) / (1 - this.e * Math.sin(this.fi0)), this.alfa * this.e / 2);\n this.k = Math.tan(this.u0 / 2 + this.s45) / Math.pow(Math.tan(this.fi0 / 2 + this.s45), this.alfa) * this.g;\n this.k1 = this.k0;\n this.n0 = this.a * Math.sqrt(1 - this.e2) / (1 - this.e2 * Math.pow(Math.sin(this.fi0), 2));\n this.s0 = 1.37008346281555;\n this.n = Math.sin(this.s0);\n this.ro0 = this.k1 * this.n0 / Math.tan(this.s0);\n this.ad = this.s90 - this.uq;\n }\n\n /* ellipsoid */\n /* calculate xy from lat/lon */\n /* Constants, identical to inverse transform function */\n function forward$10(p) {\n var gfi, u, deltav, s, d, eps, ro;\n var lon = p.x;\n var lat = p.y;\n var delta_lon = adjust_lon(lon - this.long0);\n /* Transformation */\n gfi = Math.pow(((1 + this.e * Math.sin(lat)) / (1 - this.e * Math.sin(lat))), (this.alfa * this.e / 2));\n u = 2 * (Math.atan(this.k * Math.pow(Math.tan(lat / 2 + this.s45), this.alfa) / gfi) - this.s45);\n deltav = -delta_lon * this.alfa;\n s = Math.asin(Math.cos(this.ad) * Math.sin(u) + Math.sin(this.ad) * Math.cos(u) * Math.cos(deltav));\n d = Math.asin(Math.cos(u) * Math.sin(deltav) / Math.cos(s));\n eps = this.n * d;\n ro = this.ro0 * Math.pow(Math.tan(this.s0 / 2 + this.s45), this.n) / Math.pow(Math.tan(s / 2 + this.s45), this.n);\n p.y = ro * Math.cos(eps) / 1;\n p.x = ro * Math.sin(eps) / 1;\n\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n return (p);\n }\n\n /* calculate lat/lon from xy */\n function inverse$10(p) {\n var u, deltav, s, d, eps, ro, fi1;\n var ok;\n\n /* Transformation */\n /* revert y, x*/\n var tmp = p.x;\n p.x = p.y;\n p.y = tmp;\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n ro = Math.sqrt(p.x * p.x + p.y * p.y);\n eps = Math.atan2(p.y, p.x);\n d = eps / Math.sin(this.s0);\n s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);\n u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));\n deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));\n p.x = this.long0 - deltav / this.alfa;\n fi1 = u;\n ok = 0;\n var iter = 0;\n do {\n p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);\n if (Math.abs(fi1 - p.y) < 0.0000000001) {\n ok = 1;\n }\n fi1 = p.y;\n iter += 1;\n } while (ok === 0 && iter < 15);\n if (iter >= 15) {\n return null;\n }\n\n return (p);\n }\n\n var names$12 = [\"Krovak\", \"krovak\"];\n var krovak = {\n init: init$11,\n forward: forward$10,\n inverse: inverse$10,\n names: names$12\n };\n\n var mlfn = function(e0, e1, e2, e3, phi) {\n return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));\n };\n\n var e0fn = function(x) {\n return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));\n };\n\n var e1fn = function(x) {\n return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));\n };\n\n var e2fn = function(x) {\n return (0.05859375 * x * x * (1 + 0.75 * x));\n };\n\n var e3fn = function(x) {\n return (x * x * x * (35 / 3072));\n };\n\n var gN = function(a, e, sinphi) {\n var temp = e * sinphi;\n return a / Math.sqrt(1 - temp * temp);\n };\n\n var adjust_lat = function(x) {\n return (Math.abs(x) < HALF_PI) ? x : (x - (sign(x) * Math.PI));\n };\n\n var imlfn = function(ml, e0, e1, e2, e3) {\n var phi;\n var dphi;\n\n phi = ml / e0;\n for (var i = 0; i < 15; i++) {\n dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //..reportError(\"IMLFN-CONV:Latitude failed to converge after 15 iterations\");\n return NaN;\n };\n\n function init$12() {\n if (!this.sphere) {\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n }\n }\n\n /* Cassini forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\n function forward$11(p) {\n\n /* Forward equations\n -----------------*/\n var x, y;\n var lam = p.x;\n var phi = p.y;\n lam = adjust_lon(lam - this.long0);\n\n if (this.sphere) {\n x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));\n y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);\n }\n else {\n //ellipsoid\n var sinphi = Math.sin(phi);\n var cosphi = Math.cos(phi);\n var nl = gN(this.a, this.e, sinphi);\n var tl = Math.tan(phi) * Math.tan(phi);\n var al = lam * Math.cos(phi);\n var asq = al * al;\n var cl = this.es * cosphi * cosphi / (1 - this.es);\n var ml = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n\n x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));\n y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);\n\n\n }\n\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n }\n\n /* Inverse equations\n -----------------*/\n function inverse$11(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var phi, lam;\n\n if (this.sphere) {\n var dd = y + this.lat0;\n phi = Math.asin(Math.sin(dd) * Math.cos(x));\n lam = Math.atan2(Math.tan(x), Math.cos(dd));\n }\n else {\n /* ellipsoid */\n var ml1 = this.ml0 / this.a + y;\n var phi1 = imlfn(ml1, this.e0, this.e1, this.e2, this.e3);\n if (Math.abs(Math.abs(phi1) - HALF_PI) <= EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n if (y < 0) {\n p.y *= -1;\n }\n return p;\n }\n var nl1 = gN(this.a, this.e, Math.sin(phi1));\n\n var rl1 = nl1 * nl1 * nl1 / this.a / this.a * (1 - this.es);\n var tl1 = Math.pow(Math.tan(phi1), 2);\n var dl = x * this.a / nl1;\n var dsq = dl * dl;\n phi = phi1 - nl1 * Math.tan(phi1) / rl1 * dl * dl * (0.5 - (1 + 3 * tl1) * dl * dl / 24);\n lam = dl * (1 - dsq * (tl1 / 3 + (1 + 3 * tl1) * tl1 * dsq / 15)) / Math.cos(phi1);\n\n }\n\n p.x = adjust_lon(lam + this.long0);\n p.y = adjust_lat(phi);\n return p;\n\n }\n\n var names$13 = [\"Cassini\", \"Cassini_Soldner\", \"cass\"];\n var cass = {\n init: init$12,\n forward: forward$11,\n inverse: inverse$11,\n names: names$13\n };\n\n var qsfnz = function(eccent, sinphi) {\n var con;\n if (eccent > 1.0e-7) {\n con = eccent * sinphi;\n return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));\n }\n else {\n return (2 * sinphi);\n }\n };\n\n /*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n var S_POLE = 1;\n\n var N_POLE = 2;\n var EQUIT = 3;\n var OBLIQ = 4;\n\n /* Initialize the Lambert Azimuthal Equal Area projection\n ------------------------------------------------------*/\n function init$13() {\n var t = Math.abs(this.lat0);\n if (Math.abs(t - HALF_PI) < EPSLN) {\n this.mode = this.lat0 < 0 ? this.S_POLE : this.N_POLE;\n }\n else if (Math.abs(t) < EPSLN) {\n this.mode = this.EQUIT;\n }\n else {\n this.mode = this.OBLIQ;\n }\n if (this.es > 0) {\n var sinphi;\n\n this.qp = qsfnz(this.e, 1);\n this.mmf = 0.5 / (1 - this.es);\n this.apa = authset(this.es);\n switch (this.mode) {\n case this.N_POLE:\n this.dd = 1;\n break;\n case this.S_POLE:\n this.dd = 1;\n break;\n case this.EQUIT:\n this.rq = Math.sqrt(0.5 * this.qp);\n this.dd = 1 / this.rq;\n this.xmf = 1;\n this.ymf = 0.5 * this.qp;\n break;\n case this.OBLIQ:\n this.rq = Math.sqrt(0.5 * this.qp);\n sinphi = Math.sin(this.lat0);\n this.sinb1 = qsfnz(this.e, sinphi) / this.qp;\n this.cosb1 = Math.sqrt(1 - this.sinb1 * this.sinb1);\n this.dd = Math.cos(this.lat0) / (Math.sqrt(1 - this.es * sinphi * sinphi) * this.rq * this.cosb1);\n this.ymf = (this.xmf = this.rq) / this.dd;\n this.xmf *= this.dd;\n break;\n }\n }\n else {\n if (this.mode === this.OBLIQ) {\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n }\n }\n\n /* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\n function forward$12(p) {\n\n /* Forward equations\n -----------------*/\n var x, y, coslam, sinlam, sinphi, q, sinb, cosb, b, cosphi;\n var lam = p.x;\n var phi = p.y;\n\n lam = adjust_lon(lam - this.long0);\n if (this.sphere) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n coslam = Math.cos(lam);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n y = (this.mode === this.EQUIT) ? 1 + cosphi * coslam : 1 + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n if (y <= EPSLN) {\n return null;\n }\n y = Math.sqrt(2 / y);\n x = y * cosphi * Math.sin(lam);\n y *= (this.mode === this.EQUIT) ? sinphi : this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n coslam = -coslam;\n }\n if (Math.abs(phi + this.lat0) < EPSLN) {\n return null;\n }\n y = FORTPI - phi * 0.5;\n y = 2 * ((this.mode === this.S_POLE) ? Math.cos(y) : Math.sin(y));\n x = y * Math.sin(lam);\n y *= coslam;\n }\n }\n else {\n sinb = 0;\n cosb = 0;\n b = 0;\n coslam = Math.cos(lam);\n sinlam = Math.sin(lam);\n sinphi = Math.sin(phi);\n q = qsfnz(this.e, sinphi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinb = q / this.qp;\n cosb = Math.sqrt(1 - sinb * sinb);\n }\n switch (this.mode) {\n case this.OBLIQ:\n b = 1 + this.sinb1 * sinb + this.cosb1 * cosb * coslam;\n break;\n case this.EQUIT:\n b = 1 + cosb * coslam;\n break;\n case this.N_POLE:\n b = HALF_PI + phi;\n q = this.qp - q;\n break;\n case this.S_POLE:\n b = phi - HALF_PI;\n q = this.qp + q;\n break;\n }\n if (Math.abs(b) < EPSLN) {\n return null;\n }\n switch (this.mode) {\n case this.OBLIQ:\n case this.EQUIT:\n b = Math.sqrt(2 / b);\n if (this.mode === this.OBLIQ) {\n y = this.ymf * b * (this.cosb1 * sinb - this.sinb1 * cosb * coslam);\n }\n else {\n y = (b = Math.sqrt(2 / (1 + cosb * coslam))) * sinb * this.ymf;\n }\n x = this.xmf * b * cosb * sinlam;\n break;\n case this.N_POLE:\n case this.S_POLE:\n if (q >= 0) {\n x = (b = Math.sqrt(q)) * sinlam;\n y = coslam * ((this.mode === this.S_POLE) ? b : -b);\n }\n else {\n x = y = 0;\n }\n break;\n }\n }\n\n p.x = this.a * x + this.x0;\n p.y = this.a * y + this.y0;\n return p;\n }\n\n /* Inverse equations\n -----------------*/\n function inverse$12(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var lam, phi, cCe, sCe, q, rho, ab;\n if (this.sphere) {\n var cosz = 0,\n rh, sinz = 0;\n\n rh = Math.sqrt(x * x + y * y);\n phi = rh * 0.5;\n if (phi > 1) {\n return null;\n }\n phi = 2 * Math.asin(phi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinz = Math.sin(phi);\n cosz = Math.cos(phi);\n }\n switch (this.mode) {\n case this.EQUIT:\n phi = (Math.abs(rh) <= EPSLN) ? 0 : Math.asin(y * sinz / rh);\n x *= sinz;\n y = cosz * rh;\n break;\n case this.OBLIQ:\n phi = (Math.abs(rh) <= EPSLN) ? this.lat0 : Math.asin(cosz * this.sinph0 + y * sinz * this.cosph0 / rh);\n x *= sinz * this.cosph0;\n y = (cosz - Math.sin(phi) * this.sinph0) * rh;\n break;\n case this.N_POLE:\n y = -y;\n phi = HALF_PI - phi;\n break;\n case this.S_POLE:\n phi -= HALF_PI;\n break;\n }\n lam = (y === 0 && (this.mode === this.EQUIT || this.mode === this.OBLIQ)) ? 0 : Math.atan2(x, y);\n }\n else {\n ab = 0;\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n x /= this.dd;\n y *= this.dd;\n rho = Math.sqrt(x * x + y * y);\n if (rho < EPSLN) {\n p.x = this.long0;\n p.y = this.lat0;\n return p;\n }\n sCe = 2 * Math.asin(0.5 * rho / this.rq);\n cCe = Math.cos(sCe);\n x *= (sCe = Math.sin(sCe));\n if (this.mode === this.OBLIQ) {\n ab = cCe * this.sinb1 + y * sCe * this.cosb1 / rho;\n q = this.qp * ab;\n y = rho * this.cosb1 * cCe - y * this.sinb1 * sCe;\n }\n else {\n ab = y * sCe / rho;\n q = this.qp * ab;\n y = rho * cCe;\n }\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n y = -y;\n }\n q = (x * x + y * y);\n if (!q) {\n p.x = this.long0;\n p.y = this.lat0;\n return p;\n }\n ab = 1 - q / this.qp;\n if (this.mode === this.S_POLE) {\n ab = -ab;\n }\n }\n lam = Math.atan2(x, y);\n phi = authlat(Math.asin(ab), this.apa);\n }\n\n p.x = adjust_lon(this.long0 + lam);\n p.y = phi;\n return p;\n }\n\n /* determine latitude from authalic latitude */\n var P00 = 0.33333333333333333333;\n\n var P01 = 0.17222222222222222222;\n var P02 = 0.10257936507936507936;\n var P10 = 0.06388888888888888888;\n var P11 = 0.06640211640211640211;\n var P20 = 0.01641501294219154443;\n\n function authset(es) {\n var t;\n var APA = [];\n APA[0] = es * P00;\n t = es * es;\n APA[0] += t * P01;\n APA[1] = t * P10;\n t *= es;\n APA[0] += t * P02;\n APA[1] += t * P11;\n APA[2] = t * P20;\n return APA;\n }\n\n function authlat(beta, APA) {\n var t = beta + beta;\n return (beta + APA[0] * Math.sin(t) + APA[1] * Math.sin(t + t) + APA[2] * Math.sin(t + t + t));\n }\n\n var names$14 = [\"Lambert Azimuthal Equal Area\", \"Lambert_Azimuthal_Equal_Area\", \"laea\"];\n var laea = {\n init: init$13,\n forward: forward$12,\n inverse: inverse$12,\n names: names$14,\n S_POLE: S_POLE,\n N_POLE: N_POLE,\n EQUIT: EQUIT,\n OBLIQ: OBLIQ\n };\n\n var asinz = function(x) {\n if (Math.abs(x) > 1) {\n x = (x > 1) ? 1 : -1;\n }\n return Math.asin(x);\n };\n\n function init$14() {\n\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e3 = Math.sqrt(this.es);\n\n this.sin_po = Math.sin(this.lat1);\n this.cos_po = Math.cos(this.lat1);\n this.t1 = this.sin_po;\n this.con = this.sin_po;\n this.ms1 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs1 = qsfnz(this.e3, this.sin_po);\n\n this.sin_po = Math.sin(this.lat2);\n this.cos_po = Math.cos(this.lat2);\n this.t2 = this.sin_po;\n this.ms2 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs2 = qsfnz(this.e3, this.sin_po);\n\n this.sin_po = Math.sin(this.lat0);\n this.cos_po = Math.cos(this.lat0);\n this.t3 = this.sin_po;\n this.qs0 = qsfnz(this.e3, this.sin_po);\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns0 = (this.ms1 * this.ms1 - this.ms2 * this.ms2) / (this.qs2 - this.qs1);\n }\n else {\n this.ns0 = this.con;\n }\n this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;\n this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0) / this.ns0;\n }\n\n /* Albers Conical Equal Area forward equations--mapping lat,long to x,y\n -------------------------------------------------------------------*/\n function forward$13(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n this.sin_phi = Math.sin(lat);\n this.cos_phi = Math.cos(lat);\n\n var qs = qsfnz(this.e3, this.sin_phi);\n var rh1 = this.a * Math.sqrt(this.c - this.ns0 * qs) / this.ns0;\n var theta = this.ns0 * adjust_lon(lon - this.long0);\n var x = rh1 * Math.sin(theta) + this.x0;\n var y = this.rh - rh1 * Math.cos(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n }\n\n function inverse$13(p) {\n var rh1, qs, con, theta, lon, lat;\n\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n if (this.ns0 >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n con = rh1 * this.ns0 / this.a;\n if (this.sphere) {\n lat = Math.asin((this.c - con * con) / (2 * this.ns0));\n }\n else {\n qs = (this.c - con * con) / this.ns0;\n lat = this.phi1z(this.e3, qs);\n }\n\n lon = adjust_lon(theta / this.ns0 + this.long0);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n /* Function to compute phi1, the latitude for the inverse of the\n Albers Conical Equal-Area projection.\n -------------------------------------------*/\n function phi1z(eccent, qs) {\n var sinphi, cosphi, con, com, dphi;\n var phi = asinz(0.5 * qs);\n if (eccent < EPSLN) {\n return phi;\n }\n\n var eccnts = eccent * eccent;\n for (var i = 1; i <= 25; i++) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n con = eccent * sinphi;\n com = 1 - con * con;\n dphi = 0.5 * com * com / cosphi * (qs / (1 - eccnts) - sinphi / com + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi = phi + dphi;\n if (Math.abs(dphi) <= 1e-7) {\n return phi;\n }\n }\n return null;\n }\n\n var names$15 = [\"Albers_Conic_Equal_Area\", \"Albers\", \"aea\"];\n var aea = {\n init: init$14,\n forward: forward$13,\n inverse: inverse$13,\n names: names$15,\n phi1z: phi1z\n };\n\n /*\n reference:\n Wolfram Mathworld \"Gnomonic Projection\"\n http://mathworld.wolfram.com/GnomonicProjection.html\n Accessed: 12th November 2009\n */\n function init$15() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n // Approximation for projecting points to the horizon (infinity)\n this.infinity_dist = 1000 * this.a;\n this.rc = 1;\n }\n\n /* Gnomonic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\n function forward$14(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g;\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon) / g;\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon) / g;\n }\n else {\n\n // Point is in the opposing hemisphere and is unprojectable\n // We still need to return a reasonable point, so we project\n // to infinity, on a bearing\n // equivalent to the northern hemisphere equivalent\n // This is a reasonable approximation for short shapes and lines that\n // straddle the horizon.\n\n x = this.x0 + this.infinity_dist * cosphi * Math.sin(dlon);\n y = this.y0 + this.infinity_dist * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n\n }\n p.x = x;\n p.y = y;\n return p;\n }\n\n function inverse$14(p) {\n var rh; /* Rho */\n var sinc, cosc;\n var c;\n var lon, lat;\n\n /* Inverse equations\n -----------------*/\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n\n if ((rh = Math.sqrt(p.x * p.x + p.y * p.y))) {\n c = Math.atan2(rh, this.rc);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n\n lat = asinz(cosc * this.sin_p14 + (p.y * sinc * this.cos_p14) / rh);\n lon = Math.atan2(p.x * sinc, rh * this.cos_p14 * cosc - p.y * this.sin_p14 * sinc);\n lon = adjust_lon(this.long0 + lon);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$16 = [\"gnom\"];\n var gnom = {\n init: init$15,\n forward: forward$14,\n inverse: inverse$14,\n names: names$16\n };\n\n var iqsfnz = function(eccent, q) {\n var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));\n if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {\n if (q < 0) {\n return (-1 * HALF_PI);\n }\n else {\n return HALF_PI;\n }\n }\n //var phi = 0.5* q/(1-eccent*eccent);\n var phi = Math.asin(0.5 * q);\n var dphi;\n var sin_phi;\n var cos_phi;\n var con;\n for (var i = 0; i < 30; i++) {\n sin_phi = Math.sin(phi);\n cos_phi = Math.cos(phi);\n con = eccent * sin_phi;\n dphi = Math.pow(1 - con * con, 2) / (2 * cos_phi) * (q / (1 - eccent * eccent) - sin_phi / (1 - con * con) + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //console.log(\"IQSFN-CONV:Latitude failed to converge after 30 iterations\");\n return NaN;\n };\n\n /*\n reference:\n \"Cartographic Projection Procedures for the UNIX Environment-\n A User's Manual\" by Gerald I. Evenden,\n USGS Open File Report 90-284and Release 4 Interim Reports (2003)\n */\n function init$16() {\n //no-op\n if (!this.sphere) {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n\n /* Cylindrical Equal Area forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\n function forward$15(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n if (this.sphere) {\n x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);\n y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);\n }\n else {\n var qs = qsfnz(this.e, Math.sin(lat));\n x = this.x0 + this.a * this.k0 * dlon;\n y = this.y0 + this.a * qs * 0.5 / this.k0;\n }\n\n p.x = x;\n p.y = y;\n return p;\n }\n\n /* Cylindrical Equal Area inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\n function inverse$15(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));\n lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));\n }\n else {\n lat = iqsfnz(this.e, 2 * p.y * this.k0 / this.a);\n lon = adjust_lon(this.long0 + p.x / (this.a * this.k0));\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$17 = [\"cea\"];\n var cea = {\n init: init$16,\n forward: forward$15,\n inverse: inverse$15,\n names: names$17\n };\n\n function init$17() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Equidistant Cylindrical (Plate Carre)\";\n\n this.rc = Math.cos(this.lat_ts);\n }\n\n // forward equations--mapping lat,long to x,y\n // -----------------------------------------------------------------\n function forward$16(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n var dlon = adjust_lon(lon - this.long0);\n var dlat = adjust_lat(lat - this.lat0);\n p.x = this.x0 + (this.a * dlon * this.rc);\n p.y = this.y0 + (this.a * dlat);\n return p;\n }\n\n // inverse equations--mapping x,y to lat/long\n // -----------------------------------------------------------------\n function inverse$16(p) {\n\n var x = p.x;\n var y = p.y;\n\n p.x = adjust_lon(this.long0 + ((x - this.x0) / (this.a * this.rc)));\n p.y = adjust_lat(this.lat0 + ((y - this.y0) / (this.a)));\n return p;\n }\n\n var names$18 = [\"Equirectangular\", \"Equidistant_Cylindrical\", \"eqc\"];\n var eqc = {\n init: init$17,\n forward: forward$16,\n inverse: inverse$16,\n names: names$18\n };\n\n var MAX_ITER$2 = 20;\n\n function init$18() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2); // devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0); //si que des zeros le calcul ne se fait pas\n }\n\n /* Polyconic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\n function forward$17(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y, el;\n var dlon = adjust_lon(lon - this.long0);\n el = dlon * Math.sin(lat);\n if (this.sphere) {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.a * this.lat0;\n }\n else {\n x = this.a * Math.sin(el) / Math.tan(lat);\n y = this.a * (adjust_lat(lat - this.lat0) + (1 - Math.cos(el)) / Math.tan(lat));\n }\n }\n else {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.ml0;\n }\n else {\n var nl = gN(this.a, this.e, Math.sin(lat)) / Math.tan(lat);\n x = nl * Math.sin(el);\n y = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, lat) - this.ml0 + nl * (1 - Math.cos(el));\n }\n\n }\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n }\n\n /* Inverse equations\n -----------------*/\n function inverse$17(p) {\n var lon, lat, x, y, i;\n var al, bl;\n var phi, dphi;\n x = p.x - this.x0;\n y = p.y - this.y0;\n\n if (this.sphere) {\n if (Math.abs(y + this.a * this.lat0) <= EPSLN) {\n lon = adjust_lon(x / this.a + this.long0);\n lat = 0;\n }\n else {\n al = this.lat0 + y / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var tanphi;\n for (i = MAX_ITER$2; i; --i) {\n tanphi = Math.tan(phi);\n dphi = -1 * (al * (phi * tanphi + 1) - phi - 0.5 * (phi * phi + bl) * tanphi) / ((phi - al) / tanphi - 1);\n phi += dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n lon = adjust_lon(this.long0 + (Math.asin(x * Math.tan(phi) / this.a)) / Math.sin(lat));\n }\n }\n else {\n if (Math.abs(y + this.ml0) <= EPSLN) {\n lat = 0;\n lon = adjust_lon(this.long0 + x / this.a);\n }\n else {\n\n al = (this.ml0 + y) / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var cl, mln, mlnp, ma;\n var con;\n for (i = MAX_ITER$2; i; --i) {\n con = this.e * Math.sin(phi);\n cl = Math.sqrt(1 - con * con) * Math.tan(phi);\n mln = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n mlnp = this.e0 - 2 * this.e1 * Math.cos(2 * phi) + 4 * this.e2 * Math.cos(4 * phi) - 6 * this.e3 * Math.cos(6 * phi);\n ma = mln / this.a;\n dphi = (al * (cl * ma + 1) - ma - 0.5 * cl * (ma * ma + bl)) / (this.es * Math.sin(2 * phi) * (ma * ma + bl - 2 * al * ma) / (4 * cl) + (al - ma) * (cl * mlnp - 2 / Math.sin(2 * phi)) - mlnp);\n phi -= dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n\n //lat=phi4z(this.e,this.e0,this.e1,this.e2,this.e3,al,bl,0,0);\n cl = Math.sqrt(1 - this.es * Math.pow(Math.sin(lat), 2)) * Math.tan(lat);\n lon = adjust_lon(this.long0 + Math.asin(x * cl / this.a) / Math.sin(lat));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$19 = [\"Polyconic\", \"poly\"];\n var poly = {\n init: init$18,\n forward: forward$17,\n inverse: inverse$17,\n names: names$19\n };\n\n /*\n reference\n Department of Land and Survey Technical Circular 1973/32\n http://www.linz.govt.nz/docs/miscellaneous/nz-map-definition.pdf\n OSG Technical Report 4.1\n http://www.linz.govt.nz/docs/miscellaneous/nzmg.pdf\n */\n\n /**\n * iterations: Number of iterations to refine inverse transform.\n * 0 -> km accuracy\n * 1 -> m accuracy -- suitable for most mapping applications\n * 2 -> mm accuracy\n */\n\n\n function init$19() {\n this.A = [];\n this.A[1] = 0.6399175073;\n this.A[2] = -0.1358797613;\n this.A[3] = 0.063294409;\n this.A[4] = -0.02526853;\n this.A[5] = 0.0117879;\n this.A[6] = -0.0055161;\n this.A[7] = 0.0026906;\n this.A[8] = -0.001333;\n this.A[9] = 0.00067;\n this.A[10] = -0.00034;\n\n this.B_re = [];\n this.B_im = [];\n this.B_re[1] = 0.7557853228;\n this.B_im[1] = 0;\n this.B_re[2] = 0.249204646;\n this.B_im[2] = 0.003371507;\n this.B_re[3] = -0.001541739;\n this.B_im[3] = 0.041058560;\n this.B_re[4] = -0.10162907;\n this.B_im[4] = 0.01727609;\n this.B_re[5] = -0.26623489;\n this.B_im[5] = -0.36249218;\n this.B_re[6] = -0.6870983;\n this.B_im[6] = -1.1651967;\n\n this.C_re = [];\n this.C_im = [];\n this.C_re[1] = 1.3231270439;\n this.C_im[1] = 0;\n this.C_re[2] = -0.577245789;\n this.C_im[2] = -0.007809598;\n this.C_re[3] = 0.508307513;\n this.C_im[3] = -0.112208952;\n this.C_re[4] = -0.15094762;\n this.C_im[4] = 0.18200602;\n this.C_re[5] = 1.01418179;\n this.C_im[5] = 1.64497696;\n this.C_re[6] = 1.9660549;\n this.C_im[6] = 2.5127645;\n\n this.D = [];\n this.D[1] = 1.5627014243;\n this.D[2] = 0.5185406398;\n this.D[3] = -0.03333098;\n this.D[4] = -0.1052906;\n this.D[5] = -0.0368594;\n this.D[6] = 0.007317;\n this.D[7] = 0.01220;\n this.D[8] = 0.00394;\n this.D[9] = -0.0013;\n }\n\n /**\n New Zealand Map Grid Forward - long/lat to x/y\n long/lat in radians\n */\n function forward$18(p) {\n var n;\n var lon = p.x;\n var lat = p.y;\n\n var delta_lat = lat - this.lat0;\n var delta_lon = lon - this.long0;\n\n // 1. Calculate d_phi and d_psi ... // and d_lambda\n // For this algorithm, delta_latitude is in seconds of arc x 10-5, so we need to scale to those units. Longitude is radians.\n var d_phi = delta_lat / SEC_TO_RAD * 1E-5;\n var d_lambda = delta_lon;\n var d_phi_n = 1; // d_phi^0\n\n var d_psi = 0;\n for (n = 1; n <= 10; n++) {\n d_phi_n = d_phi_n * d_phi;\n d_psi = d_psi + this.A[n] * d_phi_n;\n }\n\n // 2. Calculate theta\n var th_re = d_psi;\n var th_im = d_lambda;\n\n // 3. Calculate z\n var th_n_re = 1;\n var th_n_im = 0; // theta^0\n var th_n_re1;\n var th_n_im1;\n\n var z_re = 0;\n var z_im = 0;\n for (n = 1; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n z_re = z_re + this.B_re[n] * th_n_re - this.B_im[n] * th_n_im;\n z_im = z_im + this.B_im[n] * th_n_re + this.B_re[n] * th_n_im;\n }\n\n // 4. Calculate easting and northing\n p.x = (z_im * this.a) + this.x0;\n p.y = (z_re * this.a) + this.y0;\n\n return p;\n }\n\n /**\n New Zealand Map Grid Inverse - x/y to long/lat\n */\n function inverse$18(p) {\n var n;\n var x = p.x;\n var y = p.y;\n\n var delta_x = x - this.x0;\n var delta_y = y - this.y0;\n\n // 1. Calculate z\n var z_re = delta_y / this.a;\n var z_im = delta_x / this.a;\n\n // 2a. Calculate theta - first approximation gives km accuracy\n var z_n_re = 1;\n var z_n_im = 0; // z^0\n var z_n_re1;\n var z_n_im1;\n\n var th_re = 0;\n var th_im = 0;\n for (n = 1; n <= 6; n++) {\n z_n_re1 = z_n_re * z_re - z_n_im * z_im;\n z_n_im1 = z_n_im * z_re + z_n_re * z_im;\n z_n_re = z_n_re1;\n z_n_im = z_n_im1;\n th_re = th_re + this.C_re[n] * z_n_re - this.C_im[n] * z_n_im;\n th_im = th_im + this.C_im[n] * z_n_re + this.C_re[n] * z_n_im;\n }\n\n // 2b. Iterate to refine the accuracy of the calculation\n // 0 iterations gives km accuracy\n // 1 iteration gives m accuracy -- good enough for most mapping applications\n // 2 iterations bives mm accuracy\n for (var i = 0; i < this.iterations; i++) {\n var th_n_re = th_re;\n var th_n_im = th_im;\n var th_n_re1;\n var th_n_im1;\n\n var num_re = z_re;\n var num_im = z_im;\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n num_re = num_re + (n - 1) * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n num_im = num_im + (n - 1) * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n th_n_re = 1;\n th_n_im = 0;\n var den_re = this.B_re[1];\n var den_im = this.B_im[1];\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n den_re = den_re + n * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n den_im = den_im + n * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n // Complex division\n var den2 = den_re * den_re + den_im * den_im;\n th_re = (num_re * den_re + num_im * den_im) / den2;\n th_im = (num_im * den_re - num_re * den_im) / den2;\n }\n\n // 3. Calculate d_phi ... // and d_lambda\n var d_psi = th_re;\n var d_lambda = th_im;\n var d_psi_n = 1; // d_psi^0\n\n var d_phi = 0;\n for (n = 1; n <= 9; n++) {\n d_psi_n = d_psi_n * d_psi;\n d_phi = d_phi + this.D[n] * d_psi_n;\n }\n\n // 4. Calculate latitude and longitude\n // d_phi is calcuated in second of arc * 10^-5, so we need to scale back to radians. d_lambda is in radians.\n var lat = this.lat0 + (d_phi * SEC_TO_RAD * 1E5);\n var lon = this.long0 + d_lambda;\n\n p.x = lon;\n p.y = lat;\n\n return p;\n }\n\n var names$20 = [\"New_Zealand_Map_Grid\", \"nzmg\"];\n var nzmg = {\n init: init$19,\n forward: forward$18,\n inverse: inverse$18,\n names: names$20\n };\n\n /*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n\n /* Initialize the Miller Cylindrical projection\n -------------------------------------------*/\n function init$20() {\n //no-op\n }\n\n /* Miller Cylindrical forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\n function forward$19(p) {\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x = this.x0 + this.a * dlon;\n var y = this.y0 + this.a * Math.log(Math.tan((Math.PI / 4) + (lat / 2.5))) * 1.25;\n\n p.x = x;\n p.y = y;\n return p;\n }\n\n /* Miller Cylindrical inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\n function inverse$19(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n\n var lon = adjust_lon(this.long0 + p.x / this.a);\n var lat = 2.5 * (Math.atan(Math.exp(0.8 * p.y / this.a)) - Math.PI / 4);\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$21 = [\"Miller_Cylindrical\", \"mill\"];\n var mill = {\n init: init$20,\n forward: forward$19,\n inverse: inverse$19,\n names: names$21\n };\n\n var MAX_ITER$3 = 20;\n function init$21() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n\n\n if (!this.sphere) {\n this.en = pj_enfn(this.es);\n }\n else {\n this.n = 1;\n this.m = 0;\n this.es = 0;\n this.C_y = Math.sqrt((this.m + 1) / this.n);\n this.C_x = this.C_y / (this.m + 1);\n }\n\n }\n\n /* Sinusoidal forward equations--mapping lat,long to x,y\n -----------------------------------------------------*/\n function forward$20(p) {\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n lon = adjust_lon(lon - this.long0);\n\n if (this.sphere) {\n if (!this.m) {\n lat = this.n !== 1 ? Math.asin(this.n * Math.sin(lat)) : lat;\n }\n else {\n var k = this.n * Math.sin(lat);\n for (var i = MAX_ITER$3; i; --i) {\n var V = (this.m * lat + Math.sin(lat) - k) / (this.m + Math.cos(lat));\n lat -= V;\n if (Math.abs(V) < EPSLN) {\n break;\n }\n }\n }\n x = this.a * this.C_x * lon * (this.m + Math.cos(lat));\n y = this.a * this.C_y * lat;\n\n }\n else {\n\n var s = Math.sin(lat);\n var c = Math.cos(lat);\n y = this.a * pj_mlfn(lat, s, c, this.en);\n x = this.a * lon * c / Math.sqrt(1 - this.es * s * s);\n }\n\n p.x = x;\n p.y = y;\n return p;\n }\n\n function inverse$20(p) {\n var lat, temp, lon, s;\n\n p.x -= this.x0;\n lon = p.x / this.a;\n p.y -= this.y0;\n lat = p.y / this.a;\n\n if (this.sphere) {\n lat /= this.C_y;\n lon = lon / (this.C_x * (this.m + Math.cos(lat)));\n if (this.m) {\n lat = asinz((this.m * lat + Math.sin(lat)) / this.n);\n }\n else if (this.n !== 1) {\n lat = asinz(Math.sin(lat) / this.n);\n }\n lon = adjust_lon(lon + this.long0);\n lat = adjust_lat(lat);\n }\n else {\n lat = pj_inv_mlfn(p.y / this.a, this.es, this.en);\n s = Math.abs(lat);\n if (s < HALF_PI) {\n s = Math.sin(lat);\n temp = this.long0 + p.x * Math.sqrt(1 - this.es * s * s) / (this.a * Math.cos(lat));\n //temp = this.long0 + p.x / (this.a * Math.cos(lat));\n lon = adjust_lon(temp);\n }\n else if ((s - EPSLN) < HALF_PI) {\n lon = this.long0;\n }\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$22 = [\"Sinusoidal\", \"sinu\"];\n var sinu = {\n init: init$21,\n forward: forward$20,\n inverse: inverse$20,\n names: names$22\n };\n\n function init$22() {}\n /* Mollweide forward equations--mapping lat,long to x,y\n ----------------------------------------------------*/\n function forward$21(p) {\n\n /* Forward equations\n -----------------*/\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var theta = lat;\n var con = Math.PI * Math.sin(lat);\n\n /* Iterate using the Newton-Raphson method to find theta\n -----------------------------------------------------*/\n while (true) {\n var delta_theta = -(theta + Math.sin(theta) - con) / (1 + Math.cos(theta));\n theta += delta_theta;\n if (Math.abs(delta_theta) < EPSLN) {\n break;\n }\n }\n theta /= 2;\n\n /* If the latitude is 90 deg, force the x coordinate to be \"0 + false easting\"\n this is done here because of precision problems with \"cos(theta)\"\n --------------------------------------------------------------------------*/\n if (Math.PI / 2 - Math.abs(lat) < EPSLN) {\n delta_lon = 0;\n }\n var x = 0.900316316158 * this.a * delta_lon * Math.cos(theta) + this.x0;\n var y = 1.4142135623731 * this.a * Math.sin(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n }\n\n function inverse$21(p) {\n var theta;\n var arg;\n\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n arg = p.y / (1.4142135623731 * this.a);\n\n /* Because of division by zero problems, 'arg' can not be 1. Therefore\n a number very close to one is used instead.\n -------------------------------------------------------------------*/\n if (Math.abs(arg) > 0.999999999999) {\n arg = 0.999999999999;\n }\n theta = Math.asin(arg);\n var lon = adjust_lon(this.long0 + (p.x / (0.900316316158 * this.a * Math.cos(theta))));\n if (lon < (-Math.PI)) {\n lon = -Math.PI;\n }\n if (lon > Math.PI) {\n lon = Math.PI;\n }\n arg = (2 * theta + Math.sin(2 * theta)) / Math.PI;\n if (Math.abs(arg) > 1) {\n arg = 1;\n }\n var lat = Math.asin(arg);\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$23 = [\"Mollweide\", \"moll\"];\n var moll = {\n init: init$22,\n forward: forward$21,\n inverse: inverse$21,\n names: names$23\n };\n\n function init$23() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.lat2 = this.lat2 || this.lat1;\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n\n this.sinphi = Math.sin(this.lat1);\n this.cosphi = Math.cos(this.lat1);\n\n this.ms1 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml1 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat1);\n\n if (Math.abs(this.lat1 - this.lat2) < EPSLN) {\n this.ns = this.sinphi;\n }\n else {\n this.sinphi = Math.sin(this.lat2);\n this.cosphi = Math.cos(this.lat2);\n this.ms2 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml2 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat2);\n this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);\n }\n this.g = this.ml1 + this.ms1 / this.ns;\n this.ml0 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n this.rh = this.a * (this.g - this.ml0);\n }\n\n /* Equidistant Conic forward equations--mapping lat,long to x,y\n -----------------------------------------------------------*/\n function forward$22(p) {\n var lon = p.x;\n var lat = p.y;\n var rh1;\n\n /* Forward equations\n -----------------*/\n if (this.sphere) {\n rh1 = this.a * (this.g - lat);\n }\n else {\n var ml = mlfn(this.e0, this.e1, this.e2, this.e3, lat);\n rh1 = this.a * (this.g - ml);\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n var x = this.x0 + rh1 * Math.sin(theta);\n var y = this.y0 + this.rh - rh1 * Math.cos(theta);\n p.x = x;\n p.y = y;\n return p;\n }\n\n /* Inverse equations\n -----------------*/\n function inverse$22(p) {\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n var con, rh1, lat, lon;\n if (this.ns >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + theta / this.ns);\n lat = adjust_lat(this.g - rh1 / this.a);\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n var ml = this.g - rh1 / this.a;\n lat = imlfn(ml, this.e0, this.e1, this.e2, this.e3);\n lon = adjust_lon(this.long0 + theta / this.ns);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n }\n\n var names$24 = [\"Equidistant_Conic\", \"eqdc\"];\n var eqdc = {\n init: init$23,\n forward: forward$22,\n inverse: inverse$22,\n names: names$24\n };\n\n /* Initialize the Van Der Grinten projection\n ----------------------------------------*/\n function init$24() {\n //this.R = 6370997; //Radius of earth\n this.R = this.a;\n }\n\n function forward$23(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x, y;\n\n if (Math.abs(lat) <= EPSLN) {\n x = this.x0 + this.R * dlon;\n y = this.y0;\n }\n var theta = asinz(2 * Math.abs(lat / Math.PI));\n if ((Math.abs(dlon) <= EPSLN) || (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN)) {\n x = this.x0;\n if (lat >= 0) {\n y = this.y0 + Math.PI * this.R * Math.tan(0.5 * theta);\n }\n else {\n y = this.y0 + Math.PI * this.R * -Math.tan(0.5 * theta);\n }\n // return(OK);\n }\n var al = 0.5 * Math.abs((Math.PI / dlon) - (dlon / Math.PI));\n var asq = al * al;\n var sinth = Math.sin(theta);\n var costh = Math.cos(theta);\n\n var g = costh / (sinth + costh - 1);\n var gsq = g * g;\n var m = g * (2 / sinth - 1);\n var msq = m * m;\n var con = Math.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);\n if (dlon < 0) {\n con = -con;\n }\n x = this.x0 + con;\n //con = Math.abs(con / (Math.PI * this.R));\n var q = asq + g;\n con = Math.PI * this.R * (m * q - al * Math.sqrt((msq + asq) * (asq + 1) - q * q)) / (msq + asq);\n if (lat >= 0) {\n //y = this.y0 + Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 + con;\n }\n else {\n //y = this.y0 - Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 - con;\n }\n p.x = x;\n p.y = y;\n return p;\n }\n\n /* Van Der Grinten inverse equations--mapping x,y to lat/long\n ---------------------------------------------------------*/\n function inverse$23(p) {\n var lon, lat;\n var xx, yy, xys, c1, c2, c3;\n var a1;\n var m1;\n var con;\n var th1;\n var d;\n\n /* inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n con = Math.PI * this.R;\n xx = p.x / con;\n yy = p.y / con;\n xys = xx * xx + yy * yy;\n c1 = -Math.abs(yy) * (1 + xys);\n c2 = c1 - 2 * yy * yy + xx * xx;\n c3 = -2 * c1 + 1 + 2 * yy * yy + xys * xys;\n d = yy * yy / c3 + (2 * c2 * c2 * c2 / c3 / c3 / c3 - 9 * c1 * c2 / c3 / c3) / 27;\n a1 = (c1 - c2 * c2 / 3 / c3) / c3;\n m1 = 2 * Math.sqrt(-a1 / 3);\n con = ((3 * d) / a1) / m1;\n if (Math.abs(con) > 1) {\n if (con >= 0) {\n con = 1;\n }\n else {\n con = -1;\n }\n }\n th1 = Math.acos(con) / 3;\n if (p.y >= 0) {\n lat = (-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n else {\n lat = -(-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n\n if (Math.abs(xx) < EPSLN) {\n lon = this.long0;\n }\n else {\n lon = adjust_lon(this.long0 + Math.PI * (xys - 1 + Math.sqrt(1 + 2 * (xx * xx - yy * yy) + xys * xys)) / 2 / xx);\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$25 = [\"Van_der_Grinten_I\", \"VanDerGrinten\", \"vandg\"];\n var vandg = {\n init: init$24,\n forward: forward$23,\n inverse: inverse$23,\n names: names$25\n };\n\n function init$25() {\n this.sin_p12 = Math.sin(this.lat0);\n this.cos_p12 = Math.cos(this.lat0);\n }\n\n function forward$24(p) {\n var lon = p.x;\n var lat = p.y;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var dlon = adjust_lon(lon - this.long0);\n var e0, e1, e2, e3, Mlp, Ml, tanphi, Nl1, Nl, psi, Az, G, H, GH, Hs, c, kp, cos_c, s, s2, s3, s4, s5;\n if (this.sphere) {\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n p.x = this.x0 + this.a * (HALF_PI - lat) * Math.sin(dlon);\n p.y = this.y0 - this.a * (HALF_PI - lat) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n p.x = this.x0 + this.a * (HALF_PI + lat) * Math.sin(dlon);\n p.y = this.y0 + this.a * (HALF_PI + lat) * Math.cos(dlon);\n return p;\n }\n else {\n //default case\n cos_c = this.sin_p12 * sinphi + this.cos_p12 * cosphi * Math.cos(dlon);\n c = Math.acos(cos_c);\n kp = c ? c / Math.sin(c) : 1;\n p.x = this.x0 + this.a * kp * cosphi * Math.sin(dlon);\n p.y = this.y0 + this.a * kp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * Math.cos(dlon));\n return p;\n }\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp - Ml) * Math.sin(dlon);\n p.y = this.y0 - (Mlp - Ml) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp + Ml) * Math.sin(dlon);\n p.y = this.y0 + (Mlp + Ml) * Math.cos(dlon);\n return p;\n }\n else {\n //Default case\n tanphi = sinphi / cosphi;\n Nl1 = gN(this.a, this.e, this.sin_p12);\n Nl = gN(this.a, this.e, sinphi);\n psi = Math.atan((1 - this.es) * tanphi + this.es * Nl1 * this.sin_p12 / (Nl * cosphi));\n Az = Math.atan2(Math.sin(dlon), this.cos_p12 * Math.tan(psi) - this.sin_p12 * Math.cos(dlon));\n if (Az === 0) {\n s = Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else if (Math.abs(Math.abs(Az) - Math.PI) <= EPSLN) {\n s = -Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else {\n s = Math.asin(Math.sin(dlon) * Math.cos(psi) / Math.sin(Az));\n }\n G = this.e * this.sin_p12 / Math.sqrt(1 - this.es);\n H = this.e * this.cos_p12 * Math.cos(Az) / Math.sqrt(1 - this.es);\n GH = G * H;\n Hs = H * H;\n s2 = s * s;\n s3 = s2 * s;\n s4 = s3 * s;\n s5 = s4 * s;\n c = Nl1 * s * (1 - s2 * Hs * (1 - Hs) / 6 + s3 / 8 * GH * (1 - 2 * Hs) + s4 / 120 * (Hs * (4 - 7 * Hs) - 3 * G * G * (1 - 7 * Hs)) - s5 / 48 * GH);\n p.x = this.x0 + c * Math.sin(Az);\n p.y = this.y0 + c * Math.cos(Az);\n return p;\n }\n }\n\n\n }\n\n function inverse$24(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var rh, z, sinz, cosz, lon, lat, con, e0, e1, e2, e3, Mlp, M, N1, psi, Az, cosAz, tmp, A, B, D, Ee, F, sinpsi;\n if (this.sphere) {\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (rh > (2 * HALF_PI * this.a)) {\n return;\n }\n z = rh / this.a;\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n }\n else {\n lat = asinz(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n }\n else {\n /*con = cosz - this.sin_p12 * Math.sin(lat);\n if ((Math.abs(con) < EPSLN) && (Math.abs(p.x) < EPSLN)) {\n //no-op, just keep the lon value as is\n } else {\n var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));\n }*/\n lon = adjust_lon(this.long0 + Math.atan2(p.x * sinz, rh * this.cos_p12 * cosz - p.y * this.sin_p12 * sinz));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = Mlp - rh;\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = rh - Mlp;\n\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n //default case\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n Az = Math.atan2(p.x, p.y);\n N1 = gN(this.a, this.e, this.sin_p12);\n cosAz = Math.cos(Az);\n tmp = this.e * this.cos_p12 * cosAz;\n A = -tmp * tmp / (1 - this.es);\n B = 3 * this.es * (1 - A) * this.sin_p12 * this.cos_p12 * cosAz / (1 - this.es);\n D = rh / N1;\n Ee = D - A * (1 + A) * Math.pow(D, 3) / 6 - B * (1 + 3 * A) * Math.pow(D, 4) / 24;\n F = 1 - A * Ee * Ee / 2 - D * Ee * Ee * Ee / 6;\n psi = Math.asin(this.sin_p12 * Math.cos(Ee) + this.cos_p12 * Math.sin(Ee) * cosAz);\n lon = adjust_lon(this.long0 + Math.asin(Math.sin(Az) * Math.sin(Ee) / Math.cos(psi)));\n sinpsi = Math.sin(psi);\n lat = Math.atan2((sinpsi - this.es * F * this.sin_p12) * Math.tan(psi), sinpsi * (1 - this.es));\n p.x = lon;\n p.y = lat;\n return p;\n }\n }\n\n }\n\n var names$26 = [\"Azimuthal_Equidistant\", \"aeqd\"];\n var aeqd = {\n init: init$25,\n forward: forward$24,\n inverse: inverse$24,\n names: names$26\n };\n\n function init$26() {\n //double temp; /* temporary variable */\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n }\n\n /* Orthographic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\n function forward$25(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g, x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.a * ksp * cosphi * Math.sin(dlon);\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n\n function inverse$25(p) {\n var rh; /* height above ellipsoid */\n var z; /* angle */\n var sinz, cosz; /* sin of z and cos of z */\n var con;\n var lon, lat;\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n z = asinz(rh / this.a);\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = asinz(cosz * this.sin_p14 + (p.y * sinz * this.cos_p14) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz), rh * this.cos_p14 * cosz - p.y * this.sin_p14 * sinz));\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n var names$27 = [\"ortho\"];\n var ortho = {\n init: init$26,\n forward: forward$25,\n inverse: inverse$25,\n names: names$27\n };\n\n // QSC projection rewritten from the original PROJ4\n // https://github.com/OSGeo/proj.4/blob/master/src/PJ_qsc.c\n\n /* constants */\n var FACE_ENUM = {\n FRONT: 1,\n RIGHT: 2,\n BACK: 3,\n LEFT: 4,\n TOP: 5,\n BOTTOM: 6\n };\n\n var AREA_ENUM = {\n AREA_0: 1,\n AREA_1: 2,\n AREA_2: 3,\n AREA_3: 4\n };\n\n function init$27() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Quadrilateralized Spherical Cube\";\n\n /* Determine the cube face from the center of projection. */\n if (this.lat0 >= HALF_PI - FORTPI / 2.0) {\n this.face = FACE_ENUM.TOP;\n } else if (this.lat0 <= -(HALF_PI - FORTPI / 2.0)) {\n this.face = FACE_ENUM.BOTTOM;\n } else if (Math.abs(this.long0) <= FORTPI) {\n this.face = FACE_ENUM.FRONT;\n } else if (Math.abs(this.long0) <= HALF_PI + FORTPI) {\n this.face = this.long0 > 0.0 ? FACE_ENUM.RIGHT : FACE_ENUM.LEFT;\n } else {\n this.face = FACE_ENUM.BACK;\n }\n\n /* Fill in useful values for the ellipsoid <-> sphere shift\n * described in [LK12]. */\n if (this.es !== 0) {\n this.one_minus_f = 1 - (this.a - this.b) / this.a;\n this.one_minus_f_squared = this.one_minus_f * this.one_minus_f;\n }\n }\n\n // QSC forward equations--mapping lat,long to x,y\n // -----------------------------------------------------------------\n function forward$26(p) {\n var xy = {x: 0, y: 0};\n var lat, lon;\n var theta, phi;\n var t, mu;\n /* nu; */\n var area = {value: 0};\n\n // move lon according to projection's lon\n p.x -= this.long0;\n\n /* Convert the geodetic latitude to a geocentric latitude.\n * This corresponds to the shift from the ellipsoid to the sphere\n * described in [LK12]. */\n if (this.es !== 0) {//if (P->es != 0) {\n lat = Math.atan(this.one_minus_f_squared * Math.tan(p.y));\n } else {\n lat = p.y;\n }\n\n /* Convert the input lat, lon into theta, phi as used by QSC.\n * This depends on the cube face and the area on it.\n * For the top and bottom face, we can compute theta and phi\n * directly from phi, lam. For the other faces, we must use\n * unit sphere cartesian coordinates as an intermediate step. */\n lon = p.x; //lon = lp.lam;\n if (this.face === FACE_ENUM.TOP) {\n phi = HALF_PI - lat;\n if (lon >= FORTPI && lon <= HALF_PI + FORTPI) {\n area.value = AREA_ENUM.AREA_0;\n theta = lon - HALF_PI;\n } else if (lon > HALF_PI + FORTPI || lon <= -(HALF_PI + FORTPI)) {\n area.value = AREA_ENUM.AREA_1;\n theta = (lon > 0.0 ? lon - SPI : lon + SPI);\n } else if (lon > -(HALF_PI + FORTPI) && lon <= -FORTPI) {\n area.value = AREA_ENUM.AREA_2;\n theta = lon + HALF_PI;\n } else {\n area.value = AREA_ENUM.AREA_3;\n theta = lon;\n }\n } else if (this.face === FACE_ENUM.BOTTOM) {\n phi = HALF_PI + lat;\n if (lon >= FORTPI && lon <= HALF_PI + FORTPI) {\n area.value = AREA_ENUM.AREA_0;\n theta = -lon + HALF_PI;\n } else if (lon < FORTPI && lon >= -FORTPI) {\n area.value = AREA_ENUM.AREA_1;\n theta = -lon;\n } else if (lon < -FORTPI && lon >= -(HALF_PI + FORTPI)) {\n area.value = AREA_ENUM.AREA_2;\n theta = -lon - HALF_PI;\n } else {\n area.value = AREA_ENUM.AREA_3;\n theta = (lon > 0.0 ? -lon + SPI : -lon - SPI);\n }\n } else {\n var q, r, s;\n var sinlat, coslat;\n var sinlon, coslon;\n\n if (this.face === FACE_ENUM.RIGHT) {\n lon = qsc_shift_lon_origin(lon, +HALF_PI);\n } else if (this.face === FACE_ENUM.BACK) {\n lon = qsc_shift_lon_origin(lon, +SPI);\n } else if (this.face === FACE_ENUM.LEFT) {\n lon = qsc_shift_lon_origin(lon, -HALF_PI);\n }\n sinlat = Math.sin(lat);\n coslat = Math.cos(lat);\n sinlon = Math.sin(lon);\n coslon = Math.cos(lon);\n q = coslat * coslon;\n r = coslat * sinlon;\n s = sinlat;\n\n if (this.face === FACE_ENUM.FRONT) {\n phi = Math.acos(q);\n theta = qsc_fwd_equat_face_theta(phi, s, r, area);\n } else if (this.face === FACE_ENUM.RIGHT) {\n phi = Math.acos(r);\n theta = qsc_fwd_equat_face_theta(phi, s, -q, area);\n } else if (this.face === FACE_ENUM.BACK) {\n phi = Math.acos(-q);\n theta = qsc_fwd_equat_face_theta(phi, s, -r, area);\n } else if (this.face === FACE_ENUM.LEFT) {\n phi = Math.acos(-r);\n theta = qsc_fwd_equat_face_theta(phi, s, q, area);\n } else {\n /* Impossible */\n phi = theta = 0;\n area.value = AREA_ENUM.AREA_0;\n }\n }\n\n /* Compute mu and nu for the area of definition.\n * For mu, see Eq. (3-21) in [OL76], but note the typos:\n * compare with Eq. (3-14). For nu, see Eq. (3-38). */\n mu = Math.atan((12 / SPI) * (theta + Math.acos(Math.sin(theta) * Math.cos(FORTPI)) - HALF_PI));\n t = Math.sqrt((1 - Math.cos(phi)) / (Math.cos(mu) * Math.cos(mu)) / (1 - Math.cos(Math.atan(1 / Math.cos(theta)))));\n\n /* Apply the result to the real area. */\n if (area.value === AREA_ENUM.AREA_1) {\n mu += HALF_PI;\n } else if (area.value === AREA_ENUM.AREA_2) {\n mu += SPI;\n } else if (area.value === AREA_ENUM.AREA_3) {\n mu += 1.5 * SPI;\n }\n\n /* Now compute x, y from mu and nu */\n xy.x = t * Math.cos(mu);\n xy.y = t * Math.sin(mu);\n xy.x = xy.x * this.a + this.x0;\n xy.y = xy.y * this.a + this.y0;\n\n p.x = xy.x;\n p.y = xy.y;\n return p;\n }\n\n // QSC inverse equations--mapping x,y to lat/long\n // -----------------------------------------------------------------\n function inverse$26(p) {\n var lp = {lam: 0, phi: 0};\n var mu, nu, cosmu, tannu;\n var tantheta, theta, cosphi, phi;\n var t;\n var area = {value: 0};\n\n /* de-offset */\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n /* Convert the input x, y to the mu and nu angles as used by QSC.\n * This depends on the area of the cube face. */\n nu = Math.atan(Math.sqrt(p.x * p.x + p.y * p.y));\n mu = Math.atan2(p.y, p.x);\n if (p.x >= 0.0 && p.x >= Math.abs(p.y)) {\n area.value = AREA_ENUM.AREA_0;\n } else if (p.y >= 0.0 && p.y >= Math.abs(p.x)) {\n area.value = AREA_ENUM.AREA_1;\n mu -= HALF_PI;\n } else if (p.x < 0.0 && -p.x >= Math.abs(p.y)) {\n area.value = AREA_ENUM.AREA_2;\n mu = (mu < 0.0 ? mu + SPI : mu - SPI);\n } else {\n area.value = AREA_ENUM.AREA_3;\n mu += HALF_PI;\n }\n\n /* Compute phi and theta for the area of definition.\n * The inverse projection is not described in the original paper, but some\n * good hints can be found here (as of 2011-12-14):\n * http://fits.gsfc.nasa.gov/fitsbits/saf.93/saf.9302\n * (search for \"Message-Id: <9302181759.AA25477 at fits.cv.nrao.edu>\") */\n t = (SPI / 12) * Math.tan(mu);\n tantheta = Math.sin(t) / (Math.cos(t) - (1 / Math.sqrt(2)));\n theta = Math.atan(tantheta);\n cosmu = Math.cos(mu);\n tannu = Math.tan(nu);\n cosphi = 1 - cosmu * cosmu * tannu * tannu * (1 - Math.cos(Math.atan(1 / Math.cos(theta))));\n if (cosphi < -1) {\n cosphi = -1;\n } else if (cosphi > +1) {\n cosphi = +1;\n }\n\n /* Apply the result to the real area on the cube face.\n * For the top and bottom face, we can compute phi and lam directly.\n * For the other faces, we must use unit sphere cartesian coordinates\n * as an intermediate step. */\n if (this.face === FACE_ENUM.TOP) {\n phi = Math.acos(cosphi);\n lp.phi = HALF_PI - phi;\n if (area.value === AREA_ENUM.AREA_0) {\n lp.lam = theta + HALF_PI;\n } else if (area.value === AREA_ENUM.AREA_1) {\n lp.lam = (theta < 0.0 ? theta + SPI : theta - SPI);\n } else if (area.value === AREA_ENUM.AREA_2) {\n lp.lam = theta - HALF_PI;\n } else /* area.value == AREA_ENUM.AREA_3 */ {\n lp.lam = theta;\n }\n } else if (this.face === FACE_ENUM.BOTTOM) {\n phi = Math.acos(cosphi);\n lp.phi = phi - HALF_PI;\n if (area.value === AREA_ENUM.AREA_0) {\n lp.lam = -theta + HALF_PI;\n } else if (area.value === AREA_ENUM.AREA_1) {\n lp.lam = -theta;\n } else if (area.value === AREA_ENUM.AREA_2) {\n lp.lam = -theta - HALF_PI;\n } else /* area.value == AREA_ENUM.AREA_3 */ {\n lp.lam = (theta < 0.0 ? -theta - SPI : -theta + SPI);\n }\n } else {\n /* Compute phi and lam via cartesian unit sphere coordinates. */\n var q, r, s;\n q = cosphi;\n t = q * q;\n if (t >= 1) {\n s = 0;\n } else {\n s = Math.sqrt(1 - t) * Math.sin(theta);\n }\n t += s * s;\n if (t >= 1) {\n r = 0;\n } else {\n r = Math.sqrt(1 - t);\n }\n /* Rotate q,r,s into the correct area. */\n if (area.value === AREA_ENUM.AREA_1) {\n t = r;\n r = -s;\n s = t;\n } else if (area.value === AREA_ENUM.AREA_2) {\n r = -r;\n s = -s;\n } else if (area.value === AREA_ENUM.AREA_3) {\n t = r;\n r = s;\n s = -t;\n }\n /* Rotate q,r,s into the correct cube face. */\n if (this.face === FACE_ENUM.RIGHT) {\n t = q;\n q = -r;\n r = t;\n } else if (this.face === FACE_ENUM.BACK) {\n q = -q;\n r = -r;\n } else if (this.face === FACE_ENUM.LEFT) {\n t = q;\n q = r;\n r = -t;\n }\n /* Now compute phi and lam from the unit sphere coordinates. */\n lp.phi = Math.acos(-s) - HALF_PI;\n lp.lam = Math.atan2(r, q);\n if (this.face === FACE_ENUM.RIGHT) {\n lp.lam = qsc_shift_lon_origin(lp.lam, -HALF_PI);\n } else if (this.face === FACE_ENUM.BACK) {\n lp.lam = qsc_shift_lon_origin(lp.lam, -SPI);\n } else if (this.face === FACE_ENUM.LEFT) {\n lp.lam = qsc_shift_lon_origin(lp.lam, +HALF_PI);\n }\n }\n\n /* Apply the shift from the sphere to the ellipsoid as described\n * in [LK12]. */\n if (this.es !== 0) {\n var invert_sign;\n var tanphi, xa;\n invert_sign = (lp.phi < 0 ? 1 : 0);\n tanphi = Math.tan(lp.phi);\n xa = this.b / Math.sqrt(tanphi * tanphi + this.one_minus_f_squared);\n lp.phi = Math.atan(Math.sqrt(this.a * this.a - xa * xa) / (this.one_minus_f * xa));\n if (invert_sign) {\n lp.phi = -lp.phi;\n }\n }\n\n lp.lam += this.long0;\n p.x = lp.lam;\n p.y = lp.phi;\n return p;\n }\n\n /* Helper function for forward projection: compute the theta angle\n * and determine the area number. */\n function qsc_fwd_equat_face_theta(phi, y, x, area) {\n var theta;\n if (phi < EPSLN) {\n area.value = AREA_ENUM.AREA_0;\n theta = 0.0;\n } else {\n theta = Math.atan2(y, x);\n if (Math.abs(theta) <= FORTPI) {\n area.value = AREA_ENUM.AREA_0;\n } else if (theta > FORTPI && theta <= HALF_PI + FORTPI) {\n area.value = AREA_ENUM.AREA_1;\n theta -= HALF_PI;\n } else if (theta > HALF_PI + FORTPI || theta <= -(HALF_PI + FORTPI)) {\n area.value = AREA_ENUM.AREA_2;\n theta = (theta >= 0.0 ? theta - SPI : theta + SPI);\n } else {\n area.value = AREA_ENUM.AREA_3;\n theta += HALF_PI;\n }\n }\n return theta;\n }\n\n /* Helper function: shift the longitude. */\n function qsc_shift_lon_origin(lon, offset) {\n var slon = lon + offset;\n if (slon < -SPI) {\n slon += TWO_PI;\n } else if (slon > +SPI) {\n slon -= TWO_PI;\n }\n return slon;\n }\n\n var names$28 = [\"Quadrilateralized Spherical Cube\", \"Quadrilateralized_Spherical_Cube\", \"qsc\"];\n var qsc = {\n init: init$27,\n forward: forward$26,\n inverse: inverse$26,\n names: names$28\n };\n\n // Robinson projection\n // Based on https://github.com/OSGeo/proj.4/blob/master/src/PJ_robin.c\n // Polynomial coeficients from http://article.gmane.org/gmane.comp.gis.proj-4.devel/6039\n\n var COEFS_X = [\n [1.0000, 2.2199e-17, -7.15515e-05, 3.1103e-06],\n [0.9986, -0.000482243, -2.4897e-05, -1.3309e-06],\n [0.9954, -0.00083103, -4.48605e-05, -9.86701e-07],\n [0.9900, -0.00135364, -5.9661e-05, 3.6777e-06],\n [0.9822, -0.00167442, -4.49547e-06, -5.72411e-06],\n [0.9730, -0.00214868, -9.03571e-05, 1.8736e-08],\n [0.9600, -0.00305085, -9.00761e-05, 1.64917e-06],\n [0.9427, -0.00382792, -6.53386e-05, -2.6154e-06],\n [0.9216, -0.00467746, -0.00010457, 4.81243e-06],\n [0.8962, -0.00536223, -3.23831e-05, -5.43432e-06],\n [0.8679, -0.00609363, -0.000113898, 3.32484e-06],\n [0.8350, -0.00698325, -6.40253e-05, 9.34959e-07],\n [0.7986, -0.00755338, -5.00009e-05, 9.35324e-07],\n [0.7597, -0.00798324, -3.5971e-05, -2.27626e-06],\n [0.7186, -0.00851367, -7.01149e-05, -8.6303e-06],\n [0.6732, -0.00986209, -0.000199569, 1.91974e-05],\n [0.6213, -0.010418, 8.83923e-05, 6.24051e-06],\n [0.5722, -0.00906601, 0.000182, 6.24051e-06],\n [0.5322, -0.00677797, 0.000275608, 6.24051e-06]\n ];\n\n var COEFS_Y = [\n [-5.20417e-18, 0.0124, 1.21431e-18, -8.45284e-11],\n [0.0620, 0.0124, -1.26793e-09, 4.22642e-10],\n [0.1240, 0.0124, 5.07171e-09, -1.60604e-09],\n [0.1860, 0.0123999, -1.90189e-08, 6.00152e-09],\n [0.2480, 0.0124002, 7.10039e-08, -2.24e-08],\n [0.3100, 0.0123992, -2.64997e-07, 8.35986e-08],\n [0.3720, 0.0124029, 9.88983e-07, -3.11994e-07],\n [0.4340, 0.0123893, -3.69093e-06, -4.35621e-07],\n [0.4958, 0.0123198, -1.02252e-05, -3.45523e-07],\n [0.5571, 0.0121916, -1.54081e-05, -5.82288e-07],\n [0.6176, 0.0119938, -2.41424e-05, -5.25327e-07],\n [0.6769, 0.011713, -3.20223e-05, -5.16405e-07],\n [0.7346, 0.0113541, -3.97684e-05, -6.09052e-07],\n [0.7903, 0.0109107, -4.89042e-05, -1.04739e-06],\n [0.8435, 0.0103431, -6.4615e-05, -1.40374e-09],\n [0.8936, 0.00969686, -6.4636e-05, -8.547e-06],\n [0.9394, 0.00840947, -0.000192841, -4.2106e-06],\n [0.9761, 0.00616527, -0.000256, -4.2106e-06],\n [1.0000, 0.00328947, -0.000319159, -4.2106e-06]\n ];\n\n var FXC = 0.8487;\n var FYC = 1.3523;\n var C1 = R2D/5; // rad to 5-degree interval\n var RC1 = 1/C1;\n var NODES = 18;\n\n var poly3_val = function(coefs, x) {\n return coefs[0] + x * (coefs[1] + x * (coefs[2] + x * coefs[3]));\n };\n\n var poly3_der = function(coefs, x) {\n return coefs[1] + x * (2 * coefs[2] + x * 3 * coefs[3]);\n };\n\n function newton_rapshon(f_df, start, max_err, iters) {\n var x = start;\n for (; iters; --iters) {\n var upd = f_df(x);\n x -= upd;\n if (Math.abs(upd) < max_err) {\n break;\n }\n }\n return x;\n }\n\n function init$28() {\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.long0 = this.long0 || 0;\n this.es = 0;\n this.title = this.title || \"Robinson\";\n }\n\n function forward$27(ll) {\n var lon = adjust_lon(ll.x - this.long0);\n\n var dphi = Math.abs(ll.y);\n var i = Math.floor(dphi * C1);\n if (i < 0) {\n i = 0;\n } else if (i >= NODES) {\n i = NODES - 1;\n }\n dphi = R2D * (dphi - RC1 * i);\n var xy = {\n x: poly3_val(COEFS_X[i], dphi) * lon,\n y: poly3_val(COEFS_Y[i], dphi)\n };\n if (ll.y < 0) {\n xy.y = -xy.y;\n }\n\n xy.x = xy.x * this.a * FXC + this.x0;\n xy.y = xy.y * this.a * FYC + this.y0;\n return xy;\n }\n\n function inverse$27(xy) {\n var ll = {\n x: (xy.x - this.x0) / (this.a * FXC),\n y: Math.abs(xy.y - this.y0) / (this.a * FYC)\n };\n\n if (ll.y >= 1) { // pathologic case\n ll.x /= COEFS_X[NODES][0];\n ll.y = xy.y < 0 ? -HALF_PI : HALF_PI;\n } else {\n // find table interval\n var i = Math.floor(ll.y * NODES);\n if (i < 0) {\n i = 0;\n } else if (i >= NODES) {\n i = NODES - 1;\n }\n for (;;) {\n if (COEFS_Y[i][0] > ll.y) {\n --i;\n } else if (COEFS_Y[i+1][0] <= ll.y) {\n ++i;\n } else {\n break;\n }\n }\n // linear interpolation in 5 degree interval\n var coefs = COEFS_Y[i];\n var t = 5 * (ll.y - coefs[0]) / (COEFS_Y[i+1][0] - coefs[0]);\n // find t so that poly3_val(coefs, t) = ll.y\n t = newton_rapshon(function(x) {\n return (poly3_val(coefs, x) - ll.y) / poly3_der(coefs, x);\n }, t, EPSLN, 100);\n\n ll.x /= poly3_val(COEFS_X[i], t);\n ll.y = (5 * i + t) * D2R;\n if (xy.y < 0) {\n ll.y = -ll.y;\n }\n }\n\n ll.x = adjust_lon(ll.x + this.long0);\n return ll;\n }\n\n var names$29 = [\"Robinson\", \"robin\"];\n var robin = {\n init: init$28,\n forward: forward$27,\n inverse: inverse$27,\n names: names$29\n };\n\n function init$29() {\n this.name = 'geocent';\n\n }\n\n function forward$28(p) {\n var point = geodeticToGeocentric(p, this.es, this.a);\n return point;\n }\n\n function inverse$28(p) {\n var point = geocentricToGeodetic(p, this.es, this.a, this.b);\n return point;\n }\n\n var names$30 = [\"Geocentric\", 'geocentric', \"geocent\", \"Geocent\"];\n var geocent = {\n init: init$29,\n forward: forward$28,\n inverse: inverse$28,\n names: names$30\n };\n\n var mode = {\n N_POLE: 0,\n S_POLE: 1,\n EQUIT: 2,\n OBLIQ: 3\n };\n\n var params = {\n h: { def: 100000, num: true }, // default is Karman line, no default in PROJ.7\n azi: { def: 0, num: true, degrees: true }, // default is North\n tilt: { def: 0, num: true, degrees: true }, // default is Nadir\n long0: { def: 0, num: true }, // default is Greenwich, conversion to rad is automatic\n lat0: { def: 0, num: true } // default is Equator, conversion to rad is automatic\n };\n\n function init$30() {\n Object.keys(params).forEach(function (p) {\n if (typeof this[p] === \"undefined\") {\n this[p] = params[p].def;\n } else if (params[p].num && isNaN(this[p])) {\n throw new Error(\"Invalid parameter value, must be numeric \" + p + \" = \" + this[p]);\n } else if (params[p].num) {\n this[p] = parseFloat(this[p]);\n }\n if (params[p].degrees) {\n this[p] = this[p] * D2R;\n }\n }.bind(this));\n\n if (Math.abs((Math.abs(this.lat0) - HALF_PI)) < EPSLN) {\n this.mode = this.lat0 < 0 ? mode.S_POLE : mode.N_POLE;\n } else if (Math.abs(this.lat0) < EPSLN) {\n this.mode = mode.EQUIT;\n } else {\n this.mode = mode.OBLIQ;\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n\n this.pn1 = this.h / this.a; // Normalize relative to the Earth's radius\n\n if (this.pn1 <= 0 || this.pn1 > 1e10) {\n throw new Error(\"Invalid height\");\n }\n \n this.p = 1 + this.pn1;\n this.rp = 1 / this.p;\n this.h1 = 1 / this.pn1;\n this.pfact = (this.p + 1) * this.h1;\n this.es = 0;\n\n var omega = this.tilt;\n var gamma = this.azi;\n this.cg = Math.cos(gamma);\n this.sg = Math.sin(gamma);\n this.cw = Math.cos(omega);\n this.sw = Math.sin(omega);\n }\n\n function forward$29(p) {\n p.x -= this.long0;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var coslam = Math.cos(p.x);\n var x, y;\n switch (this.mode) {\n case mode.OBLIQ:\n y = this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n break;\n case mode.EQUIT:\n y = cosphi * coslam;\n break;\n case mode.S_POLE:\n y = -sinphi;\n break;\n case mode.N_POLE:\n y = sinphi;\n break;\n }\n y = this.pn1 / (this.p - y);\n x = y * cosphi * Math.sin(p.x);\n\n switch (this.mode) {\n case mode.OBLIQ:\n y *= this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n break;\n case mode.EQUIT:\n y *= sinphi;\n break;\n case mode.N_POLE:\n y *= -(cosphi * coslam);\n break;\n case mode.S_POLE:\n y *= cosphi * coslam;\n break;\n }\n\n // Tilt \n var yt, ba;\n yt = y * this.cg + x * this.sg;\n ba = 1 / (yt * this.sw * this.h1 + this.cw);\n x = (x * this.cg - y * this.sg) * this.cw * ba;\n y = yt * ba;\n\n p.x = x * this.a;\n p.y = y * this.a;\n return p;\n }\n\n function inverse$29(p) {\n p.x /= this.a;\n p.y /= this.a;\n var r = { x: p.x, y: p.y };\n\n // Un-Tilt\n var bm, bq, yt;\n yt = 1 / (this.pn1 - p.y * this.sw);\n bm = this.pn1 * p.x * yt;\n bq = this.pn1 * p.y * this.cw * yt;\n p.x = bm * this.cg + bq * this.sg;\n p.y = bq * this.cg - bm * this.sg;\n\n var rh = hypot(p.x, p.y);\n if (Math.abs(rh) < EPSLN) {\n r.x = 0;\n r.y = p.y;\n } else {\n var cosz, sinz;\n sinz = 1 - rh * rh * this.pfact;\n sinz = (this.p - Math.sqrt(sinz)) / (this.pn1 / rh + rh / this.pn1);\n cosz = Math.sqrt(1 - sinz * sinz);\n switch (this.mode) {\n case mode.OBLIQ:\n r.y = Math.asin(cosz * this.sinph0 + p.y * sinz * this.cosph0 / rh);\n p.y = (cosz - this.sinph0 * Math.sin(r.y)) * rh;\n p.x *= sinz * this.cosph0;\n break;\n case mode.EQUIT:\n r.y = Math.asin(p.y * sinz / rh);\n p.y = cosz * rh;\n p.x *= sinz;\n break;\n case mode.N_POLE:\n r.y = Math.asin(cosz);\n p.y = -p.y;\n break;\n case mode.S_POLE:\n r.y = -Math.asin(cosz);\n break;\n }\n r.x = Math.atan2(p.x, p.y);\n }\n\n p.x = r.x + this.long0;\n p.y = r.y;\n return p;\n }\n\n var names$31 = [\"Tilted_Perspective\", \"tpers\"];\n var tpers = {\n init: init$30,\n forward: forward$29,\n inverse: inverse$29,\n names: names$31\n };\n\n function init$31() {\n this.flip_axis = (this.sweep === 'x' ? 1 : 0);\n this.h = Number(this.h);\n this.radius_g_1 = this.h / this.a;\n\n if (this.radius_g_1 <= 0 || this.radius_g_1 > 1e10) {\n throw new Error();\n }\n\n this.radius_g = 1.0 + this.radius_g_1;\n this.C = this.radius_g * this.radius_g - 1.0;\n\n if (this.es !== 0.0) {\n var one_es = 1.0 - this.es;\n var rone_es = 1 / one_es;\n\n this.radius_p = Math.sqrt(one_es);\n this.radius_p2 = one_es;\n this.radius_p_inv2 = rone_es;\n\n this.shape = 'ellipse'; // Use as a condition in the forward and inverse functions.\n } else {\n this.radius_p = 1.0;\n this.radius_p2 = 1.0;\n this.radius_p_inv2 = 1.0;\n\n this.shape = 'sphere'; // Use as a condition in the forward and inverse functions.\n }\n\n if (!this.title) {\n this.title = \"Geostationary Satellite View\";\n }\n }\n\n function forward$30(p) {\n var lon = p.x;\n var lat = p.y;\n var tmp, v_x, v_y, v_z;\n lon = lon - this.long0;\n\n if (this.shape === 'ellipse') {\n lat = Math.atan(this.radius_p2 * Math.tan(lat));\n var r = this.radius_p / hypot(this.radius_p * Math.cos(lat), Math.sin(lat));\n\n v_x = r * Math.cos(lon) * Math.cos(lat);\n v_y = r * Math.sin(lon) * Math.cos(lat);\n v_z = r * Math.sin(lat);\n\n if (((this.radius_g - v_x) * v_x - v_y * v_y - v_z * v_z * this.radius_p_inv2) < 0.0) {\n p.x = Number.NaN;\n p.y = Number.NaN;\n return p;\n }\n\n tmp = this.radius_g - v_x;\n if (this.flip_axis) {\n p.x = this.radius_g_1 * Math.atan(v_y / hypot(v_z, tmp));\n p.y = this.radius_g_1 * Math.atan(v_z / tmp);\n } else {\n p.x = this.radius_g_1 * Math.atan(v_y / tmp);\n p.y = this.radius_g_1 * Math.atan(v_z / hypot(v_y, tmp));\n }\n } else if (this.shape === 'sphere') {\n tmp = Math.cos(lat);\n v_x = Math.cos(lon) * tmp;\n v_y = Math.sin(lon) * tmp;\n v_z = Math.sin(lat);\n tmp = this.radius_g - v_x;\n\n if (this.flip_axis) {\n p.x = this.radius_g_1 * Math.atan(v_y / hypot(v_z, tmp));\n p.y = this.radius_g_1 * Math.atan(v_z / tmp);\n } else {\n p.x = this.radius_g_1 * Math.atan(v_y / tmp);\n p.y = this.radius_g_1 * Math.atan(v_z / hypot(v_y, tmp));\n }\n }\n p.x = p.x * this.a;\n p.y = p.y * this.a;\n return p;\n }\n\n function inverse$30(p) {\n var v_x = -1.0;\n var v_y = 0.0;\n var v_z = 0.0;\n var a, b, det, k;\n\n p.x = p.x / this.a;\n p.y = p.y / this.a;\n\n if (this.shape === 'ellipse') {\n if (this.flip_axis) {\n v_z = Math.tan(p.y / this.radius_g_1);\n v_y = Math.tan(p.x / this.radius_g_1) * hypot(1.0, v_z);\n } else {\n v_y = Math.tan(p.x / this.radius_g_1);\n v_z = Math.tan(p.y / this.radius_g_1) * hypot(1.0, v_y);\n }\n\n var v_zp = v_z / this.radius_p;\n a = v_y * v_y + v_zp * v_zp + v_x * v_x;\n b = 2 * this.radius_g * v_x;\n det = (b * b) - 4 * a * this.C;\n\n if (det < 0.0) {\n p.x = Number.NaN;\n p.y = Number.NaN;\n return p;\n }\n\n k = (-b - Math.sqrt(det)) / (2.0 * a);\n v_x = this.radius_g + k * v_x;\n v_y *= k;\n v_z *= k;\n\n p.x = Math.atan2(v_y, v_x);\n p.y = Math.atan(v_z * Math.cos(p.x) / v_x);\n p.y = Math.atan(this.radius_p_inv2 * Math.tan(p.y));\n } else if (this.shape === 'sphere') {\n if (this.flip_axis) {\n v_z = Math.tan(p.y / this.radius_g_1);\n v_y = Math.tan(p.x / this.radius_g_1) * Math.sqrt(1.0 + v_z * v_z);\n } else {\n v_y = Math.tan(p.x / this.radius_g_1);\n v_z = Math.tan(p.y / this.radius_g_1) * Math.sqrt(1.0 + v_y * v_y);\n }\n\n a = v_y * v_y + v_z * v_z + v_x * v_x;\n b = 2 * this.radius_g * v_x;\n det = (b * b) - 4 * a * this.C;\n if (det < 0.0) {\n p.x = Number.NaN;\n p.y = Number.NaN;\n return p;\n }\n\n k = (-b - Math.sqrt(det)) / (2.0 * a);\n v_x = this.radius_g + k * v_x;\n v_y *= k;\n v_z *= k;\n\n p.x = Math.atan2(v_y, v_x);\n p.y = Math.atan(v_z * Math.cos(p.x) / v_x);\n }\n p.x = p.x + this.long0;\n return p;\n }\n\n var names$32 = [\"Geostationary Satellite View\", \"Geostationary_Satellite\", \"geos\"];\n var geos = {\n init: init$31,\n forward: forward$30,\n inverse: inverse$30,\n names: names$32,\n };\n\n /**\n * Copyright 2018 Bernie Jenny, Monash University, Melbourne, Australia.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Equal Earth is a projection inspired by the Robinson projection, but unlike\n * the Robinson projection retains the relative size of areas. The projection\n * was designed in 2018 by Bojan Savric, Tom Patterson and Bernhard Jenny.\n *\n * Publication:\n * Bojan Savric, Tom Patterson & Bernhard Jenny (2018). The Equal Earth map\n * projection, International Journal of Geographical Information Science,\n * DOI: 10.1080/13658816.2018.1504949\n *\n * Code released August 2018\n * Ported to JavaScript and adapted for mapshaper-proj by Matthew Bloch August 2018\n * Modified for proj4js by Andreas Hocevar by Andreas Hocevar March 2024\n */\n\n var A1 = 1.340264;\n var A2 = -0.081106;\n var A3 = 0.000893;\n var A4 = 0.003796;\n var M = Math.sqrt(3) / 2.0;\n\n function init$32() {\n this.es = 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n }\n\n function forward$31(p) {\n var lam = adjust_lon(p.x - this.long0);\n var phi = p.y;\n var paramLat = Math.asin(M * Math.sin(phi)),\n paramLatSq = paramLat * paramLat,\n paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;\n p.x = lam * Math.cos(paramLat) /\n (M * (A1 + 3 * A2 * paramLatSq + paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq)));\n p.y = paramLat * (A1 + A2 * paramLatSq + paramLatPow6 * (A3 + A4 * paramLatSq));\n\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n }\n\n function inverse$31(p) {\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n var EPS = 1e-9,\n NITER = 12,\n paramLat = p.y,\n paramLatSq, paramLatPow6, fy, fpy, dlat, i;\n\n for (i = 0; i < NITER; ++i) {\n paramLatSq = paramLat * paramLat;\n paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;\n fy = paramLat * (A1 + A2 * paramLatSq + paramLatPow6 * (A3 + A4 * paramLatSq)) - p.y;\n fpy = A1 + 3 * A2 * paramLatSq + paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq);\n paramLat -= dlat = fy / fpy;\n if (Math.abs(dlat) < EPS) {\n break;\n }\n }\n paramLatSq = paramLat * paramLat;\n paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;\n p.x = M * p.x * (A1 + 3 * A2 * paramLatSq + paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq)) /\n Math.cos(paramLat);\n p.y = Math.asin(Math.sin(paramLat) / M);\n\n p.x = adjust_lon(p.x + this.long0);\n return p;\n }\n\n var names$33 = [\"eqearth\", \"Equal Earth\", \"Equal_Earth\"];\n var eqearth = {\n init: init$32,\n forward: forward$31,\n inverse: inverse$31,\n names: names$33\n };\n\n var EPS10 = 1e-10;\n\n function init$33() {\n var c;\n\n this.phi1 = this.lat1;\n if (Math.abs(this.phi1) < EPS10) {\n throw new Error();\n }\n if (this.es) {\n this.en = pj_enfn(this.es);\n this.m1 = pj_mlfn(this.phi1, this.am1 = Math.sin(this.phi1),\n c = Math.cos(this.phi1), this.en);\n this.am1 = c / (Math.sqrt(1 - this.es * this.am1 * this.am1) * this.am1);\n this.inverse = e_inv;\n this.forward = e_fwd;\n } else {\n if (Math.abs(this.phi1) + EPS10 >= HALF_PI) {\n this.cphi1 = 0;\n }\n else {\n this.cphi1 = 1 / Math.tan(this.phi1);\n }\n this.inverse = s_inv;\n this.forward = s_fwd;\n }\n }\n\n function e_fwd(p) {\n var lam = adjust_lon(p.x - (this.long0 || 0));\n var phi = p.y;\n var rh, E, c;\n rh = this.am1 + this.m1 - pj_mlfn(phi, E = Math.sin(phi), c = Math.cos(phi), this.en);\n E = c * lam / (rh * Math.sqrt(1 - this.es * E * E));\n p.x = rh * Math.sin(E);\n p.y = this.am1 - rh * Math.cos(E);\n\n p.x = this.a * p.x + (this.x0 || 0);\n p.y = this.a * p.y + (this.y0 || 0);\n return p;\n }\n\n function e_inv(p) {\n p.x = (p.x - (this.x0 || 0)) / this.a;\n p.y = (p.y - (this.y0 || 0)) / this.a;\n\n var s, rh, lam, phi;\n rh = hypot(p.x, p.y = this.am1 - p.y);\n phi = pj_inv_mlfn(this.am1 + this.m1 - rh, this.es, this.en);\n if ((s = Math.abs(phi)) < HALF_PI) {\n s = Math.sin(phi);\n lam = rh * Math.atan2(p.x, p.y) * Math.sqrt(1 - this.es * s * s) / Math.cos(phi);\n } else if (Math.abs(s - HALF_PI) <= EPS10) {\n lam = 0;\n }\n else {\n throw new Error();\n }\n p.x = adjust_lon(lam + (this.long0 || 0));\n p.y = adjust_lat(phi);\n return p;\n }\n\n function s_fwd(p) {\n var lam = adjust_lon(p.x - (this.long0 || 0));\n var phi = p.y;\n var E, rh;\n rh = this.cphi1 + this.phi1 - phi;\n if (Math.abs(rh) > EPS10) {\n p.x = rh * Math.sin(E = lam * Math.cos(phi) / rh);\n p.y = this.cphi1 - rh * Math.cos(E);\n } else {\n p.x = p.y = 0;\n }\n\n p.x = this.a * p.x + (this.x0 || 0);\n p.y = this.a * p.y + (this.y0 || 0);\n return p;\n }\n\n function s_inv(p) {\n p.x = (p.x - (this.x0 || 0)) / this.a;\n p.y = (p.y - (this.y0 || 0)) / this.a;\n\n var lam, phi;\n var rh = hypot(p.x, p.y = this.cphi1 - p.y);\n phi = this.cphi1 + this.phi1 - rh;\n if (Math.abs(phi) > HALF_PI) {\n throw new Error();\n }\n if (Math.abs(Math.abs(phi) - HALF_PI) <= EPS10) {\n lam = 0;\n } else {\n lam = rh * Math.atan2(p.x, p.y) / Math.cos(phi);\n }\n p.x = adjust_lon(lam + (this.long0 || 0));\n p.y = adjust_lat(phi);\n return p;\n }\n\n var names$34 = [\"bonne\", \"Bonne (Werner lat_1=90)\"];\n var bonne = {\n init: init$33,\n names: names$34\n };\n\n var includedProjections = function(proj4){\n proj4.Proj.projections.add(tmerc);\n proj4.Proj.projections.add(etmerc);\n proj4.Proj.projections.add(utm);\n proj4.Proj.projections.add(sterea);\n proj4.Proj.projections.add(stere);\n proj4.Proj.projections.add(somerc);\n proj4.Proj.projections.add(omerc);\n proj4.Proj.projections.add(lcc);\n proj4.Proj.projections.add(krovak);\n proj4.Proj.projections.add(cass);\n proj4.Proj.projections.add(laea);\n proj4.Proj.projections.add(aea);\n proj4.Proj.projections.add(gnom);\n proj4.Proj.projections.add(cea);\n proj4.Proj.projections.add(eqc);\n proj4.Proj.projections.add(poly);\n proj4.Proj.projections.add(nzmg);\n proj4.Proj.projections.add(mill);\n proj4.Proj.projections.add(sinu);\n proj4.Proj.projections.add(moll);\n proj4.Proj.projections.add(eqdc);\n proj4.Proj.projections.add(vandg);\n proj4.Proj.projections.add(aeqd);\n proj4.Proj.projections.add(ortho);\n proj4.Proj.projections.add(qsc);\n proj4.Proj.projections.add(robin);\n proj4.Proj.projections.add(geocent);\n proj4.Proj.projections.add(tpers);\n proj4.Proj.projections.add(geos);\n proj4.Proj.projections.add(eqearth);\n proj4.Proj.projections.add(bonne);\n };\n\n proj4$1.defaultDatum = 'WGS84'; //default datum\n proj4$1.Proj = Projection;\n proj4$1.WGS84 = new proj4$1.Proj('WGS84');\n proj4$1.Point = Point;\n proj4$1.toPoint = toPoint;\n proj4$1.defs = defs;\n proj4$1.nadgrid = nadgrid;\n proj4$1.transform = transform;\n proj4$1.mgrs = mgrs;\n proj4$1.version = '2.15.0';\n includedProjections(proj4$1);\n\n return proj4$1;\n\n})));\n", "let _uid = 0;\n\nexport function getUniqueDomId() {\n return `${++_uid}_${Date.now()}`;\n}", "/**\n * @param { Object } style \n * @param style.geometryType\n * @param style.color\n * @param style.fill\n * \n * @returns { ol.style.Style | null } style \n */\nexport function createSelectedStyle({\n geometryType,\n color = 'rgb(255,255,0)',\n fill = true,\n} = {}) {\n switch(geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color, width: 4 })\n });\n\n case 'Point':\n case 'MultiPoint':\n return new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: fill && new ol.style.Fill({ color }),\n stroke: !fill && new ol.style.Stroke({ color, width: 4 }),\n }),\n zIndex: Infinity,\n });\n\n case 'MultiPolygon':\n case 'Polygon':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([...ol.color.asArray(color)].splice(0, 3).concat(.25)) }) // force rgba color transparency (alpha = .25)\n });\n\n default:\n console.warn('invalid geometry type', geometryType);\n return null;\n\n }\n}", "import { GEOMETRY_FIELDS } from 'g3w-constants';\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nexport function getAlphanumericPropertiesFromFeature(properties = []) {\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(p => !GEOMETRY_FIELDS.includes(p));\n}", "/*!\n localForage -- Offline Storage, Improved\n Version 1.10.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb || !idb.open) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\n // Safari 10.1 shipped with fetch, we can use that to detect it.\n // Note: this creates issues with `window.fetch` polyfills and\n // overrides; see:\n // https://github.com/localForage/localForage/issues/856\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n var db = openreq.result;\n db.onversionchange = function (e) {\n // Triggered when the database is modified (e.g. adding an objectStore) or\n // deleted (even when initiated by other sessions in different tabs).\n // Closing the connection here prevents those operations from being blocked.\n // If the database is accessed again later by this instance, the connection\n // will be reopened or the database recreated as needed.\n e.target.close();\n };\n resolve(db);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback returns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openKeyCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openKeyCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(req.error);\n };\n\n req.onblocked = function () {\n // Closing all open connections in onversionchange handler should prevent this situation, but if\n // we do get here, it just means the request remains pending - eventually it will succeed or error\n console.warn('dropInstance blocked for database \"' + options.name + '\" until all open connections are closed');\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n", "/**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nimport G3WObject from 'g3w-object';\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nconst PLUGINS = {};\n\nexport default Object.assign(new G3WObject, { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin(plugin) { PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin; },\n },\n /** @returns Plugin instance */\n getPlugin(name) {\n return PLUGINS[name];\n },\n});", "/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nexport function normalizeEpsg(epsg) {\n if ('number' === typeof epsg) {\n return `EPSG:${epsg}`;\n }\n epsg = epsg.replace(/[^\\d\\.\\-]/g, \"\");\n if ('' !== epsg) {\n return `EPSG:${parseInt(epsg)}`;\n }\n}", "/**\n * @file\n *\n * @since 3.11.0\n */\nimport { normalizeEpsg } from 'utils/normalizeEpsg';\nimport proj4 from 'proj4/dist/proj4-src';\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projection.js@v3.10.1\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projections.js@v3.10.1\n */\nexport default {\n\n get(crs = {}) {\n let p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n const proj = {\n code: crs.epsg,\n extent: crs.extent,\n axisOrientation: crs.axisinverted ? 'neu' : 'enu',\n units: crs.geographic ? 'degrees' : 'm'\n };\n p = new ol.proj.Projection(proj);\n p.getAxisOrientation = () => proj.axisOrientation;\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\n\n /**\n * Check and register epsg\n * \n * @param epsg : \"EPSG:\" Ex. \"EPSG:4326\"\n * \n * @returns { Promise }\n * \n * @since v3.8\n */\n async registerProjection(epsg) {\n let p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n const { result, data } = await (await fetch(`/crs/${epsg.split(':')[1]}/`)).json();\n if (result) {\n data.epsg = normalizeEpsg(data.epsg);\n p = this.get(data);\n ol.proj.proj4.register(proj4);\n return p;\n }\n }\n\n return p;\n }\n};", "import { INCHES_PER_UNIT, DOTS_PER_INCH } from 'g3w-constants';\n\nexport function getScaleFromResolution(resolution, units = 'm') {\n return Math.round(resolution * INCHES_PER_UNIT[units] * DOTS_PER_INCH);\n}", "import { INCHES_PER_UNIT, DOTS_PER_INCH } from 'g3w-constants';\n\nexport function getResolutionFromScale(scale, units = 'm') {\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / (((scale >= 1.0) ? (1.0 / scale) : scale) * INCHES_PER_UNIT[units] * DOTS_PER_INCH);\n}", "import { FILTER_EXPRESSION_OPERATORS } from 'g3w-constants';\n\nconst operators = Object.entries(FILTER_EXPRESSION_OPERATORS);\n\nexport function createFilterFromString({ filter = '' }) {\n filter = operators\n .reduce((acc, [_, op]) => acc\n .replace(new RegExp(`\\\\s+${op}\\\\s+`, 'g'), `${op}`) // remove all blank space between operators\n .replace(new RegExp(`'${op}`, 'g'), `${op}`) // leading single quote\n .replace(new RegExp(`${op}'`, 'g'), `${op}`) // trailing single quote\n , filter)\n .replace(/'$/g, '')\n .replace(/\"/g, '');\n filter = operators\n .reduce((acc, [k, op]) => acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? `|${k},` : `|${k}|`), filter)\n // encode value\n .split('|')\n .map((v, i) => (0 === (i+1) % 3) ? encodeURIComponent(v) : v)\n .join('|');\n\n return filter;\n}", "/**\n * Migrate your consumer code away from jQuery promises.\n * Covert a jQuery promise into an ES6 Promise\n * \n * @param promise jquery promise\n */\nexport function promisify(promise) {\n if (promise instanceof Promise) {\n return promise;\n }\n if (!promise || !promise.then) {\n console.trace(promise);\n return Promise.reject('not a promise');\n }\n return new Promise((resolve, reject) => {\n promise.then(resolve).fail(reject);\n });\n}\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Convert ES6 Promise into jQuery\n * \n * @param promise async function or ES6 promise \n */\nexport function $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(d => d.reject('not a promise')).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(async d => {\n try { d.resolve(await (promise instanceof Promise ? promise : promise())); }\n catch (e) { console.trace(e); d.reject(e); }\n }).promise();\n}", "/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n", "\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n", "/**\n * @file ORIGINAL SOURCE: src/app/core/g3w-component.js@v3.10.2\n * @since 3.11.0\n */\n\nimport G3WObject from 'g3w-object';\nimport { noop } from 'utils/noop';\nimport { $promisify } from 'utils/promisify';\nimport GUI from 'services/gui';\n\n/** @deprecated */\nimport _cloneDeep from 'lodash.clonedeep';\nimport deprecate from 'util-deprecate';\n\nfunction merge(destination, source) {\n for (let key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n destination[key] = source[key];\n }\n }\n}\n\n/**\n * Component class\n * \n * ORIGINAL SOURCE src/app/gui/component/component.js@v3.9.3\n * \n * @param { Object} opts\n * @param { number } opts.id \n * @param { string } opts.title\n * @param { boolean } opts.visible\n * @param { boolean } opts.open\n * @param { boolean } opts.resizable\n * @param { null | unknown } opts.info\n * @param { boolean } opts.loading\n * @param { boolean } opts.disabled\n * @param { boolean } opts.closewhenshowviewportcontent\n * @param opts.events\n * @param opts.internalComponent since 3.10.0\n * @param opts.service since 3.10.0\n */\nexport default class Component extends G3WObject {\n\n constructor(opts = {}) {\n\n // BACKCOMP v3.x\n if (opts.iconConfig) {\n console.warn('[G3W-CLIENT] iconConfig is deprecated');\n console.trace();\n opts.iconColor = opts.iconConfig.color;\n opts.icon = opts.iconConfig.icon;\n delete opts.iconConfig;\n }\n\n // TODO: check why `GUI.getFontClass` is undefined\n opts.icon = GUI.getFontClass(opts.icon) || opts.icon;\n\n opts.open = opts.open ?? false;\n opts.mobile = opts.mobile ?? true;\n opts.collapsible = opts.collapsible ?? true;\n\n super({\n setters: {\n\n setOpen(bool) {\n this.state.open = bool;\n if (this._setOpen) {\n this._setOpen(bool);\n }\n },\n\n setVisible(bool) {\n this.state.visible = bool;\n if (this._setVisible) {\n this._setVisible(bool);\n }\n },\n\n setLoading(bool = false) {\n this.state.loading = bool;\n },\n\n setDisabled(bool = false) {\n this.state.disabled = bool;\n },\n\n reload() {\n console.warn('[G3W-CLIENT] reloading of components will be discontinued, please update your code as soon as possible', this.getId())\n if (this._reload) {\n this._reload();\n }\n },\n }\n\n });\n\n this._firstLayout = true;\n\n /** internal VUE component */\n this.internalComponent = opts.internalComponent ?? null;\n\n /** @type { Array } */\n this._components = [];\n\n /** @type { string } */\n this.id = opts.id ?? Math.random() * 1000;\n\n /** @type { string } */\n this.title = opts.title ?? '';\n\n this.state = {\n sizes: { width: 0, height:0 },\n info: opts.info ?? null,\n open: opts.open ?? false,\n visible: opts.visible ?? true,\n loading: opts.loading ?? false,\n disabled: opts.disabled ?? false,\n resizable: opts.resizable ?? false,\n closewhenshowviewportcontent: opts.closewhenshowviewportcontent ?? true,\n };\n\n this.setService(opts.service || this);\n\n if (opts.internalComponent) {\n this.setInternalComponent(opts.internalComponent);\n }\n\n merge(this, opts);\n\n // add events options\n this.events = opts.events ?? {};\n\n if (this.events.open) {\n const { when = \"after\", cb = () => {} } = this.events.open;\n this[`on${when}`]('setOpen', bool => cb(bool));\n }\n\n if (opts.vueComponentObject) {\n this.init(opts);\n }\n }\n\n /**\n * @param { Object } opts\n * @param { Array } opts.components\n * @param { Object } opts.service\n * @param { Function } opts.service.init\n * @param opts.vueComponentObject\n * @param opts.template\n * @param opts.propsData\n */\n init(opts = {}) {\n this.vueComponent = _cloneDeep(opts.vueComponentObject);\n this._components = opts.components || [];\n\n this.setService(opts.service || this._service || noop);\n\n if (this._service.init && this.init !== this._service.init) {\n this._service.init(opts);\n }\n\n if (opts.template) {\n this.vueComponent.template = opts.template;\n }\n\n this.setInternalComponent = function() {\n this.internalComponent = new (Vue.extend(this.vueComponent))({\n service: this._service,\n template: opts.template,\n propsData: opts.propsData\n });\n this.internalComponent.state = this.getService().state;\n };\n\n this.setInternalComponent();\n\n return this;\n }\n\n getId() {\n return this.id;\n }\n\n setId(id) {\n this.id = id;\n }\n\n getOpen() {\n return this.state.open;\n }\n\n getVisible() {\n return this.state.visible;\n }\n\n getTitle() {\n return this.state.title;\n }\n\n setTitle(title) {\n this.state.title = title;\n }\n\n getService() {\n return this._service;\n }\n\n setService(service) {\n this._service = service;\n }\n\n addComponent(Component) {\n this._components.push(Component);\n }\n\n removeComponent(Component) {\n this._components.find((c, i) => {\n if (c === Component) {\n this.splice(i, 1);\n return true;\n }\n })\n }\n\n getInternalComponent() {\n return this.internalComponent;\n }\n\n setInternalComponent(internalComponent, options={}) {\n this.internalComponent = undefined === internalComponent && this.internalComponentClass ? new this.internalComponentClass : internalComponent;\n (options.events || [])\n .forEach(e => this.internalComponent.$on(e.name, data => e.handler && e.handler(data) || this[`set${e.name[0].toUpperCase()}${e.name.slice(1)}`](data)));\n if (this._service && this._service.state) {\n this.internalComponent.state = this._service.state;\n }\n }\n\n /**\n * @param { Element | 'string' } parent DOM element\n * @param { boolean } append\n * \n * @returns jquery promise\n * \n * @fires internalComponent~ready\n * @fires mount event\n */\n mount(parent, append) {\n return $promisify(new Promise((resolve) => {\n if (!this.internalComponent) {\n this.setInternalComponent();\n }\n\n if (append) {\n $(parent).append(this.internalComponent.$mount().$el);\n }\n\n if (!append){\n this.internalComponent.$mount(parent);\n }\n\n this.internalComponent.$nextTick(() => {\n this.emit('ready');\n resolve(true);\n });\n\n // emit mount event\n this.emit('mount');\n }))\n }\n\n /**\n * @returns jquery promise\n * \n * @fires unmount\n */\n unmount() {\n return $promisify(async () => {\n if (!this.internalComponent) {\n return;\n }\n if (this.state.resizable) {\n this.internalComponent.$off('resize-component', this.internalComponent.layout);\n }\n this.state.open = false;\n this.internalComponent.$destroy(true); // destroy vue component\n $(this.internalComponent.$el).remove(); // remove dom element\n this.internalComponent = null; // set internal componet to null (for GC)\n this.emit('unmount'); // emit unmount event\n })\n }\n\n /**\n * @returns { Element } DOM element\n */\n ismount() {\n return this.internalComponent && this.internalComponent.$el;\n }\n\n /**\n * @param { number } width \n * @param { number } height \n * \n * @listens internalComponent~resize-component\n * @fires internalComponent~resize-component\n * @fires layout\n */\n layout(width, height) {\n if (this.state.resizable && this._firstLayout) {\n this.internalComponent.$on('resize-component', this.internalComponent.layout);\n this._firstLayout = false;\n }\n this.internalComponent.$nextTick(() => { this.internalComponent.$emit('resize-component', { width, height }); });\n this.emit('layout');\n }\n\n}\n\n/**\n * @deprecated since 3.10.0 Will be deleted in 4.x.\n */\nObject.assign(Component.prototype, {\n destroy: noop,\n click: noop,\n show: noop,\n /** used by the following plugins: \"cadastre\", \"iternet\" */\n overwriteServiceMethods: deprecate(function(o) { Object.entries(o).forEach(([n, m]) => this._service[n] = m) }, '[G3W-CLIENT] Component::overwriteServiceMethods(methodsOptions) is deprecated'),\n /** used by the following plugins: \"cadastre\" */\n extendInternalComponent: deprecate(function(o) { this.vueComponent ? Object.entries(o).forEach(([k, v]) => { switch (k) { case 'methods': this.extendInternalComponentMethods(v); break; case 'components': this.extendInternalComponentComponents(v); break; case 'computed': merge(this.vueComponent[k], v); break; case 'data': merge(this.vueComponent[k], v); break; } }): (this.vueComponent = o); }, '[G3W-CLIENT] Component::extendInternalComponent(internalComponentOptions) is deprecated'),\n});", "/**\n * @file ORIGINAL SOURCE: src/app/core/g3w-panel.js@v3.10.2\n * @since 3.11.0\n */\n\nimport GUI from 'services/gui';\nimport G3WObject from 'g3w-object';\nimport { $promisify } from 'utils/promisify';\n\n/**\n * ORIGINAL SOURCE: src/app/gui/panel.js@v3.9.3 \n */\nexport default class Panel extends G3WObject {\n\n constructor (opts = {}) {\n super();\n\n this.id = opts.id || null;\n\n this.title = opts.title || '';\n\n this.service = opts.service;\n\n if (opts.vueComponentObject) {\n this.internalPanel = new (Vue.extend(opts.vueComponentObject))({ service: this.service });\n } else {\n this.internalPanel = opts.panel || opts.internalPanel || null; \n }\n\n if (true === opts.show && this.internalPanel) {\n this.show();\n }\n }\n\n getId() {\n return this.id;\n }\n\n getTitle() {\n return this.title;\n }\n\n getService() {\n return this.service;\n }\n\n setService(service) {\n this.service = service;\n }\n\n getInternalPanel() {\n return this.internalPanel;\n }\n\n setInternalPanel(internalPanel) {\n this.internalPanel = internalPanel;\n }\n\n show() {\n GUI.showPanel(this);\n }\n\n close() {\n GUI.closePanel();\n }\n\n mount(parent) {\n const panel = this.internalPanel;\n const vueComp = panel.$mount();\n $(parent).append(vueComp.$el);\n vueComp.$nextTick(() => {\n if (panel.onShow) { panel.onShow();}\n });\n return $promisify(Promise.resolve(true));\n }\n\n unmount() {\n const panel = this.internalPanel;\n panel.$destroy(true);\n $(panel.$el).remove();\n if (panel.onClose) { panel.onClose();}\n this.internalComponent = null;\n if (this.service && this.service.clear) {\n this.service.clear();\n }\n return $promisify(Promise.resolve());\n }\n\n}", "/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nexport function groupBy(array, keyFn) {\n return array.reduce((result, item) => {\n const key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}", "export const XHR = {\n\n /**\n *\n * @param url\n * @param params\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();) * @return {Promise}\n */\n async get({ url, params = {}, signal } = {}) {\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n const response = await (await fetch(url + (params ? '?' : '') + params, { signal })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch(e) {\n return response;\n }\n },\n\n /**\n * @since 3.11.0\n * @param url\n * @param data\n * @param formdata\n * @param contentType\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();)\n * @return {Promise}\n */\n async put({ url, data, formdata = false, contentType, signal } = {}) {\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(([key, value]) => formdata.append(key, value));\n } else if (!contentType) {\n formdata = new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString();\n } else {\n formdata = 'string' === typeof data ? data : JSON.stringify(data || {});\n }\n\n const response = await (await fetch(url, {\n method: 'PUT',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal,\n })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch(e) {\n return response;\n }\n },\n\n /**\n *\n * @param url\n * @param data\n * @param formdata\n * @param contentType\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();)\n * @return {Promise}\n */\n async post({ url, data, formdata = false, contentType, signal } = {}) {\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(([key, value]) => formdata.append(key, value));\n } else if (!contentType) {\n formdata = new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString();\n } else {\n formdata = 'string' === typeof data ? data : JSON.stringify(data || {});\n }\n\n const response = await (await fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal,\n })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch(e) {\n return response;\n }\n },\n\n};", "function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var defineProperty = require(\"./defineProperty.js\");\nfunction _objectSpread(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? Object(arguments[r]) : {},\n o = Object.keys(t);\n \"function\" == typeof Object.getOwnPropertySymbols && o.push.apply(o, Object.getOwnPropertySymbols(t).filter(function (e) {\n return Object.getOwnPropertyDescriptor(t, e).enumerable;\n })), o.forEach(function (r) {\n defineProperty(e, r, t[r]);\n });\n }\n return e;\n}\nmodule.exports = _objectSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar _typeof = _interopDefault(require('@babel/runtime/helpers/typeof'));\nvar _objectSpread = _interopDefault(require('@babel/runtime/helpers/objectSpread'));\nvar _classCallCheck = _interopDefault(require('@babel/runtime/helpers/classCallCheck'));\nvar _createClass = _interopDefault(require('@babel/runtime/helpers/createClass'));\nvar _possibleConstructorReturn = _interopDefault(require('@babel/runtime/helpers/possibleConstructorReturn'));\nvar _getPrototypeOf = _interopDefault(require('@babel/runtime/helpers/getPrototypeOf'));\nvar _assertThisInitialized = _interopDefault(require('@babel/runtime/helpers/assertThisInitialized'));\nvar _inherits = _interopDefault(require('@babel/runtime/helpers/inherits'));\nvar _toConsumableArray = _interopDefault(require('@babel/runtime/helpers/toConsumableArray'));\nvar _slicedToArray = _interopDefault(require('@babel/runtime/helpers/slicedToArray'));\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n var _console;\n\n /* eslint no-console: 0 */\n if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args));\n }\n};\n\nvar Logger =\n/*#__PURE__*/\nfunction () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter =\n/*#__PURE__*/\nfunction () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\n// http://lea.verou.me/2016/12/resolve-promises-externally-with-this-one-weird-trick/\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n /* eslint prefer-template: 0 */\n\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n } // Fallback to default values\n\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n /* eslint no-restricted-syntax: 0 */\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n /* eslint no-useless-escape: 0 */\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n/* eslint-disable */\n\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\n/* eslint-enable */\n\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\n\nvar ResourceStore =\n/*#__PURE__*/\nfunction (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n EventEmitter.call(_assertThisInitialized(_this)); // <=IE10 fix (unable to call parent constructor)\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return getPath(this.data, path);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS; // COMPATIBILITY: remove extend in v2.1.0\n\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator =\n/*#__PURE__*/\nfunction (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n EventEmitter.call(_assertThisInitialized(_this)); // <=IE10 fix (unable to call parent constructor)\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n /* eslint prefer-rest-params: 0 */\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {}; // non valid keys handling\n\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)]; // separators\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator; // get namespace(s)\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1]; // return key on CIMode\n\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n } // resolve from store\n\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays; // object\n\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n } // if we got a separator we loop over children - else we just return object as is\n // as having it set to false means no hierarchy so no lookup for nested values\n\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy$$1 = resTypeIsArray ? [] : {}; // apply child translation on a copy\n\n /* eslint no-restricted-syntax: 0 */\n\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy$$1[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy$$1[m] === deepKey) copy$$1[m] = res[m]; // if nothing found use orginal value as fallback\n }\n }\n\n res = copy$$1;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n // array special treatment\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options);\n } else {\n // string, empty or null\n var usedDefault = false;\n var usedKey = false; // fallback value\n\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n\n if (options.count !== undefined) {\n var suffix = this.pluralResolver.getSuffix(lng, options.count);\n res = options[\"defaultValue\".concat(suffix)];\n }\n\n if (!res) res = options.defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n } // save missing\n\n\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n } // extend\n\n\n res = this.extendTranslation(res, keys, options, resolved); // append namespace if still key\n\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key); // parseMissingKeyHandler\n\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n } // return\n\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n // i18next.parsing\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n })); // interpolate\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options); // nesting\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n return _this3.translate.apply(_this3, arguments);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n } // post process\n\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey; // plain key\n\n var exactUsedKey; // key with context / plural\n\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys]; // forEach possible key\n\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for namespace \\\"\").concat(usedNS, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace was not yet loaded\"), 'This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count); // fallback for plural if context not found\n\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix); // get key for context if needed\n\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context)); // get key for plural if needed\n\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n } // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n\n\n var possibleKey;\n /* eslint no-cond-assign: 0 */\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil =\n/*#__PURE__*/\nfunction () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase(); // if lenght 2 guess it's a country\n\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || []; // asume we have an object defining fallbacks\n\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn(\"rejecting non-whitelisted language code: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\n/* eslint-disable */\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n === 1 ? 0 : n === 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver =\n/*#__PURE__*/\nfunction () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n var rule = this.getRule(code);\n if (!rule) return ret;\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n\n ret.push(\"\".concat(key).concat(suffix));\n });\n return ret;\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n // if (rule.numbers.length === 1) return ''; // only singular\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx]; // special treatment for lngs only having singular and plural\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n }; // COMPATIBILITY JSON\n // v1\n\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (\n /* v2 */\n this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (\n /* v3 - gettext index */\n this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator =\n/*#__PURE__*/\nfunction () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n /* eslint no-param-reassign: 0 */\n\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000; // the regexp\n\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n // the regexp\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n return getPathWithDefaults(data, defaultData, key);\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng);\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n replaces = 0; // unescape if has unescapePrefix/Suffix\n\n /* eslint no-cond-assign: 0 */\n\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n str = str.replace(match[0], regexSafe(value));\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0; // regular escape on demand\n\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var _temp = missingInterpolationHandler(str, match, options);\n\n value = typeof _temp === 'string' ? _temp : '';\n } else {\n this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n delete clonedOptions.defaultValue; // assert we do not get a endless loop on interpolating defaultValue again and again\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error(\"failed parsing options string in nesting for key \".concat(key), e);\n } // assert we do not get a endless loop on interpolating defaultValue again and again\n\n\n delete clonedOptions.defaultValue;\n return key;\n } // regular escape on demand\n\n\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions); // is only the nesting key (key1 = '$(key2)') return the value without stringify\n\n if (value && match[0] === str && typeof value !== 'string') return value; // no string to include or empty\n\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n } // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector =\n/*#__PURE__*/\nfunction (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n EventEmitter.call(_assertThisInitialized(_this)); // <=IE10 fix (unable to call parent constructor)\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n } // set loaded\n\n\n this.state[name] = err ? -1 : 2; // consolidated loading done in this run - only emit once for a loaded namespace\n\n var loaded = {}; // callback if ready\n\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n // only do once per loaded -> this.emit('loaded', q.loaded);\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n /* eslint no-param-reassign: 0 */\n\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n }); // emit consolidated loaded event\n\n this.emit('loaded', loaded); // remove done load requests\n\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data\n /* = retryFlag */\n && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n /* eslint consistent-return: 0 */\n\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n\n return null; // pendings will trigger callback\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n lng = _name$split4[0],\n ns = _name$split4[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" for namespace \\\"\").concat(namespace, \"\\\" as the namespace was not yet loaded\"), 'This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null\n /* unused callback */\n , _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n } // write to store to avoid resending\n\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n // string or array of namespaces\n whitelist: false,\n // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all',\n // | currentOnly | languageOnly\n preload: false,\n // array with preload languages\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n // allow bundling certain languages that are not remotely fetched\n saveMissing: false,\n // enable to send missing values\n updateMissing: false,\n // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth)\n saveMissingTo: 'fallback',\n // 'current' || 'all'\n saveMissingPlurals: true,\n // will save all forms not only singular key\n missingKeyHandler: false,\n // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n missingInterpolationHandler: false,\n // function(str, match)\n postProcess: false,\n // string or array of postProcessor names\n postProcessPassResolved: false,\n // pass resolved object into 'options.i18nResolved' for postprocessor\n returnNull: true,\n // allows null value as valid translation\n returnEmptyString: true,\n // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false,\n // or string to join array\n returnedObjectHandler: false,\n // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false,\n // function(key) parsed a key that was not found in t() before returning\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n maxReplaces: 1000 // max replaces to prevent endless loop\n\n }\n };\n}\n/* eslint no-param-reassign: 0 */\n\nfunction transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS]; // extend whitelist with cimode\n\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n =\n/*#__PURE__*/\nfunction (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n EventEmitter.call(_assertThisInitialized(_this)); // <=IE10 fix (unable to call parent constructor)\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n // https://github.com/i18next/i18next/issues/879\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n } // init services\n\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options); // pipe events from backendConnector\n\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options); // pipe events from translator\n\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n } // append api\n\n\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var deferred = defer();\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n\n _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t); // not rejecting on err (as err is only a loading translation failed warning)\n\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n /* eslint consistent-return: 0 */\n\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback(); // avoid loading resources for cimode\n\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n // at least load fallbacks in this case\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve(); // not rejecting on err (as err is only a loading translation failed warning)\n\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(l) {\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1]; // we're in cimode so this shall pass\n\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n }; // loaded -> SUCCESS\n\n\n if (this.hasResourceBundle(lng, ns)) return true; // were not loading at all -> SEMI SUCCESS\n\n if (!this.services.backendConnector.backend) return true; // failed loading ns - but at least fallback is not pending -> SEMI SUCCESS\n\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n }); // Exit early if all given languages are already preloaded\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n /* eslint class-methods-use-this: 0 */\n\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options; // sync options\n\n return clone;\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nmodule.exports = i18next;\n", "import ApplicationState from 'store/application';\n\nexport const i18next = require('i18next');\n\nexport const getAppLanguage = () => window.initConfig.user.i18n || \"en\";\n/* function to translate */\nexport const t = text => i18next.t(text);\n\n /* function to translate plugins */\nexport const tPlugin = text => i18next.t(`plugins.${text}`);\n\nexport const addI18n = i18nObject => {\n for (const lang in i18nObject) {\n for (const key in i18nObject[lang]) {\n i18next.addResource(lang, 'translation', key, i18nObject[lang][key])\n }\n }\n};\n\nexport const addI18nPlugin = ({ name, config }) => {\n for (const lang in config) {\n if (ApplicationState.i18n.plugins[lang]) {\n ApplicationState.i18n.plugins[lang].plugins[name] = config[lang]\n }\n }\n for (const lang in ApplicationState.i18n.plugins) {\n for (const key in ApplicationState.i18n.plugins[lang]) {\n i18next.addResource(lang, 'translation', key, ApplicationState.i18n.plugins[lang][key])\n }\n }\n};\n\nexport default {\n getAppLanguage,\n t,\n tPlugin,\n addI18n,\n addI18nPlugin,\n};\n", "/**\n * @file\n * @since v3.6\n */\nimport { G3W_FID, QUERY_POINT_TOLERANCE } from 'g3w-constants';\nimport ApplicationState from 'store/application'\nimport GUI from 'services/gui';\n\nimport { groupBy } from 'utils/groupBy';\nimport { getMapLayersByFilter } from 'utils/getMapLayersByFilter';\nimport { XHR } from 'utils/XHR';\nimport { $promisify, promisify } from 'utils/promisify';\nimport { t } from 'g3w-i18n';\n\nconst handleQueryPromises = async (promises = []) => {\n const responses = await Promise.allSettled(promises);\n // at least one response\n if (responses.some(r => 'fulfilled' === r.status)) {\n return responses.filter(r => 'fulfilled' === r.status).map(r => r.value);\n }\n // show all errors\n return Promise.reject(responses.filter(r => 'rejected' === r.status).map(r => r.reason));\n}\n\nexport default {\n\n /**\n * @param { string } contextAndMethod function name (eg. \"query:coordinates\", \"query:bbox\", \"query:polygon\")\n * @param options\n * \n * @returns {Promise}\n */\n async getData(contextAndMethod, options = {}) {\n const { inputs = {}, outputs = {} } = options;\n const promise = this[contextAndMethod](inputs);\n if (outputs) {\n GUI.outputDataPlace(promise, outputs);\n }\n return await (await promise);\n },\n\n /**\n * @param {{ coordinates: unknown, layerIds: unknown[], multilayers: boolean, query_point_tolerance: number, feature_count: number }}\n */\n async 'query:coordinates'({\n coordinates,\n layerIds = [], // see: `QueryResultsService::addLayerFeaturesToResultsAction()`\n multilayers = false,\n query_point_tolerance = QUERY_POINT_TOLERANCE,\n /** @since 3.8.0 **/\n addExternal = true,\n feature_count\n } = {}) {\n\n const external = GUI.getService('catalog').state.external.vector.some(l => l.selected);\n const layers = getMapLayersByFilter({\n QUERYABLE: true,\n SELECTED_OR_ALL: (0 === layerIds.length),\n VISIBLE: true,\n IDS: layerIds.length ? layerIds.map(id => id) : undefined,\n });\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n coordinates,\n type: 'coordinates',\n external: {\n add: (!external || layerIds.length > 0)\n ? (1 === layers.length && layers[0].isSelected() ? false : addExternal) // avoid querying a temporary layer (external layer) when another layer is selected\n : addExternal, // an external layer is selected\n filter: {\n SELECTED: external\n }\n }\n },\n data: ((!external || layerIds.length > 0) && await promisify(this.getQueryLayersPromisesByCoordinates(layers, {\n multilayers,\n feature_count,\n query_point_tolerance,\n coordinates\n })) || []).flatMap(({ data = [] }) => data),\n \n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n\n },\n\n /**\n * @param bbox\n * @param feature_count\n * @param multilayers\n * @param condition\n * @param filterConfig\n * @param addExternal\n * @param layersFilterObject\n */\n async 'query:bbox'({\n bbox,\n feature_count = ApplicationState.project.state.feature_count || 5,\n filterConfig = {},\n multilayers = false,\n condition = { filtrable: { ows: 'WFS' } },\n /** @since 3.8.0 **/\n excludeSelected = null,\n /** @since 3.8.0 **/\n addExternal = true,\n layersFilterObject = { SELECTED_OR_ALL: true, FILTERABLE: true, VISIBLE: true }\n } = {}) {\n\n const external = GUI.getService('catalog').state.external.vector.some(l => l.selected);\n const selected = external || (('boolean' == typeof excludeSelected) ? excludeSelected : false);\n\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n bbox,\n type: 'bbox',\n filterConfig,\n external: {\n add: addExternal,\n filter: {\n SELECTED: selected\n }\n },\n },\n data: (!external && await this.getQueryLayersPromisesByGeometry(\n // layers\n getMapLayersByFilter(layersFilterObject, condition),\n // options\n {\n geometry: ol.geom.Polygon.fromExtent(bbox),\n feature_count,\n filterConfig,\n multilayers,\n projection: GUI.getService('map').getMap().getView().getProjection(),\n }\n ) || []).flatMap(({ data = [] }) => data),\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n\n },\n\n /**\n * @param {{ feature: unknown, feature_count: unknown, filterConfig: unknown, multilayers: boolean, condition: boolean, excludeLayers: unknown[] }}\n */\n async 'query:polygon'({\n feature,\n feature_count = ApplicationState.project.state.feature_count || 5,\n filterConfig = {},\n multilayers = false,\n condition = { filtrable: { ows: 'WFS' } },\n /** @since 3.8.0 */\n layerName = '',\n /** @since 3.8.0 */\n excludeSelected = null,\n /** @since 3.8.0 **/\n external = {\n add: true,\n filter: {\n SELECTED : false\n }\n },\n /**@since 3.9.0**/\n type = 'polygon'\n } = {}) {\n const geometry = feature.getGeometry();\n\n try {\n return {\n result: true,\n type: 'ows',\n error: !geometry,\n query: {\n fid: GUI.getService('catalog').state.external.vector.some(l => l.selected) ? feature.getId() : feature.get(G3W_FID),\n geometry,\n layerName,\n type,\n filterConfig,\n external\n },\n usermessage: !geometry && {\n type: 'warning',\n message: `${layerName} - ${t('sdk.mapcontrols.querybypolygon.no_geometry')}`,\n messagetext: true,\n autoclose: false\n },\n data: (await this.getQueryLayersPromisesByGeometry(\n // layers\n getMapLayersByFilter({\n ...(\n \"boolean\" === typeof excludeSelected\n ? { SELECTED: !excludeSelected }\n : { SELECTED_OR_ALL: true }\n ),\n FILTERABLE: true,\n VISIBLE: true\n }, condition),\n // options\n {\n geometry,\n multilayers,\n feature_count,\n filterConfig,\n projection: ApplicationState.project.getProjection()\n }\n ) || []).flatMap(({ data = [] }) => data),\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n },\n\n /**\n * Method to search features\n * \n * @param options.layer\n * @param options.filter\n * @param options.raw\n * @param options.queryUrl\n * @param options.feature_count\n * @param options.formatter\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n async 'search:features'(options = {\n layer,\n filter,\n raw: false,\n queryUrl,\n feature_count,\n formatter: 1,\n ordering,\n autofilter: 0,\n //@since 3.11.0 pagination\n page,\n page_sizes,\n }) {\n const { layer, ...params } = options;\n params.filter = [].concat(params.filter); // check if filter is an array\n params.page_size = (params.page_sizes || [])[0]; //get page size\n //@since 3.11.0 count features returned by\n const counts = [];\n const page_sizes = []; //set pages based on count feature returned by server\n return {\n data: (await Promise.allSettled(\n [].concat(layer).map((l, i) => l.searchFeatures({ ...params, filter: params.filter[i] }))\n ))\n .filter(d => 'fulfilled' === d.status)\n .map(({ value } = {}) => {\n //@since 3.11.0 In case autofilter set\n if (1 === params.autofilter) {\n (value.data || [])\n .forEach(({ layer, filtertoken }) => {\n //in the case of filtertoken response attribute set, need to set it to layer\n if (filtertoken) {\n layer.state.selection.active = layer.state.filter.active = true;\n layer.setFilterToken(filtertoken); }\n })\n }\n\n if (params.page_sizes) {\n //get max number of elements per page\n const max = Math.max(...(Array.isArray(params.page_sizes)? params.page_sizes : [params.page_sizes]));\n //Check if count (total number of elements of search is more o less than max)\n page_sizes.push(max <= value.count ? params.page_sizes : [...params.page_sizes.filter(p => p < value.count), value.count]);\n //add a count element on counts array\n counts.push(value.count);\n }\n if (params.raw) { return { data: value }; }\n if (Array.isArray(value.data) && value.data.length > 0) { return value.data[0]; }\n }),\n query: {\n type: 'search',\n search: params.filter, //filter search (array of filter)\n autofilter: !!params.autofilter, //@since 3.11.0 set Boolean\n //@since 3.11.0 pagination\n pagination: params.page_size && {\n pages: params.page && counts.map(count => Math.round(count / params.page_size)), //set number of pages\n current: params.page && counts.map(() => params.page), //current page\n page_sizes, //Array contains a number of features that want get with pagination\n counts,\n //Object contains info for do another request by another part of code\n getData: {\n params: params.filter.map(filter => ({ ...params, filter })),\n method: 'searchFeatures',\n layers: layer\n }\n },\n },\n type: 'api',\n };\n },\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n async 'search:fids'({\n layer,\n formatter = 0,\n fids = [],\n } = {}) {\n let features = []; \n try {\n // convert API response to Open Layer Features\n features = ((layer && await layer.getFeatureByFids({ fids, formatter })) || []).map(f => {\n const properties = undefined !== f.properties ? f.properties : {}\n properties[G3W_FID] = f.id;\n const olFeat = new ol.Feature(f.geometry && new ol.geom[f.geometry.type](f.geometry.coordinates));\n olFeat.setProperties(properties);\n olFeat.setId(f.id);\n return olFeat;\n });\n } catch(e) {\n console.warn(e);\n }\n return {\n data: [{\n layer,\n features\n }],\n query: { type: 'search' },\n };\n },\n\n /**\n * Search service function to load many layers with each one with its fids\n * \n * @param options.layers - Array of layers that we want serach fids features\n * @param options.fids - Array of array of fids\n * @param options.formatter - how we want visualize\n */\n async 'search:layersfids'({\n layers = [],\n fids = [],\n formatter = 0,\n } = {}) {\n let data = [];\n try {\n data = (await Promise.all(\n layers.map((layer, i) => this['search:fids']({ layer, fids: fids[i], formatter }))\n )).map(response => response.data);\n } catch(e) {\n console.warn(e);\n }\n return {\n data,\n query: { type: 'search' }\n };\n },\n\n /**\n * POST only: accepts\n * \n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.qgis_layer_id layer id owner of the form data\n * @param params.layer_id layer owner of the data\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n async 'expression:expression'(params = {}) {\n try {\n const response = await XHR.post({\n url: `${ApplicationState.project.getUrl('vector_data')}${params.layer_id}/`,\n contentType: 'application/json',\n data: JSON.stringify(params),\n });\n\n return response.result ? (response.vector.data.features || []) : Promise.reject(JSON.stringify(response.error));\n } catch(e) {\n console.warn(e);\n return Promise.reject(e);\n }\n },\n\n /**\n * POST only method to return QGIS Expressions evaluated in Project an optional Layer/Form context\n *\n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.layer_id\n * @param params.qgis_layer_id\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n async 'expression:expression_eval'(params = {}) {\n try {\n const {result, value, error } = await XHR.post({\n url: `/api/expression_eval/${ApplicationState.project.getId()}/`,\n contentType: 'application/json',\n data: JSON.stringify(params),\n });\n return result ? value : Promise.reject(JSON.stringify(error));\n } catch(e) {\n console.warn(e);\n return Promise.reject(e);\n }\n\n },\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n async 'proxy:wms'({ url, method='GET', params={}, headers={} } = {}) {\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(p => url.searchParams.set(p, params[p]));\n url = url.toString();\n }\n try {\n return {\n response: await XHR.post({\n data: JSON.stringify({ url, params, headers, method }),\n contentType: 'application/json',\n url: `${window.initConfig.proxyurl}`\n }),\n data: JSON.stringify({ url, params, headers, method }),\n };\n } catch(e) {\n console.warn(e);\n }\n },\n\n /**\n * Generic proxy data function\n */\n 'proxy:data'(params = {}) {},\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * @param layers \n * @param { Object } opts\n * @param opts.coordinates\n * @param opts.feature_count\n * @param opts.query_point_tolerance\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.reproject\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByCoordinates(layers, {\n coordinates,\n feature_count = 10,\n query_point_tolerance = QUERY_POINT_TOLERANCE,\n multilayers = false,\n reproject = true,\n } = {}) {\n // skip when no features\n if (0 === layers.length) {\n return $promisify(Promise.resolve(layers));\n }\n\n const map = GUI.getService('map').getMap();\n const size = map.getSize();\n const mapProjection = map.getView().getProjection();\n const resolution = map.getView().getResolution();\n\n return $promisify(async () => await handleQueryPromises(Object.values(\n multilayers\n ? groupBy(layers, l => `${l.getInfoFormat()}:${l.getInfoUrl()}:${l.getMultiLayerId()}`)\n : layers\n ).map(layers => promisify(\n [].concat(layers)[0].query(\n multilayers\n ? { feature_count, coordinates, query_point_tolerance, mapProjection, size, resolution, reproject, layers }\n : { feature_count, coordinates, query_point_tolerance, mapProjection, size, resolution }\n )\n )\n )));\n\n },\n\n /**\n * @param layers\n * @param { Object } opts\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.bbox\n * @param opts.geometry\n * @param opts.projection\n * @param opts.feature_count\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n async getQueryLayersPromisesByGeometry(layers,\n {\n geometry,\n projection,\n filterConfig = {},\n multilayers = false,\n feature_count = 10\n } = {}\n ) {\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n const mapCrs = projection.getCode();\n\n return await handleQueryPromises(Object.values(\n multilayers\n ? groupBy(layers, l => `${l.getMultiLayerId()}_${l.getProjection().getCode()}`)\n : layers\n ).map(layers => {\n const layer = [].concat(layers)[0];\n const crs = layer.getProjection().getCode();\n const filter = {\n config: filterConfig,\n type: 'geometry',\n // Convert filter geometry from map to layer CRS\n value: mapCrs === crs ? geometry : geometry.clone().transform(mapCrs, crs),\n };\n return promisify(layer.query(\n multilayers\n ? { filter, feature_count, layers }\n : { filter, feature_count, filterConfig }\n ))\n }));\n },\n\n};\n\n", "/**\n * @file\n * @since v3.6\n */\n\nimport G3WObject from 'g3w-object';\nimport GUI from 'services/gui';\nimport DataRouterService from 'services/data';\nimport ApplicationState from 'store/application'\nimport PluginsRegistry from 'store/plugins';\nimport Projections from 'store/projections';\nimport { normalizeEpsg } from 'utils/normalizeEpsg';\nimport { getUniqueDomId } from 'utils/getUniqueDomId';\n\n/**\n * @param epsg: Number Code of epsg Ex.4326\n * \n * @returns String Normalize epsg: From number ex: 4326 to 'EPSG:4326'\n * \n * @since 3.9.1\n */\nasync function _getEpsgFromParam(epsg) {\n epsg = normalizeEpsg(epsg)\n await Projections.registerProjection(epsg);\n return epsg;\n}\n\n/**\n * @example template.html\n * \n * ```html\n * \n * \n * \n * \n * Test Iframe\n * \n * \n * \n * \n * \n * \n * ```\n */\nclass IframePluginService {\n\n constructor() {\n this.pendingactions = {};\n this.getMessage = this.getMessage.bind(this);\n this.eventResponseServiceHandler = this.eventResponseServiceHandler.bind(this);\n }\n\n /**\n * @param { Object } opts\n * @param opts.project current project sends by application service\n */\n async init({\n project,\n } = {}) {\n\n await GUI.isReady();\n\n this.services = {\n app: new AppService(),\n editing: new EditingService(),\n };\n\n // get layer attributes from project layers state\n const layers = project.state.layers.map(l => ({ id: l.id, name: l.name }));\n\n // initialize all services\n const serviceNames = Object.keys(this.services);\n\n for (let i = 0; i < serviceNames.length; i++) {\n const service = this.services[serviceNames[i]];\n // set common layer attribute service just one time\n if (undefined === service.getLayers()) {\n service.setLayers(layers);\n } \n await service.init();\n service.on('response', this.eventResponseServiceHandler);\n }\n\n // Send post-message is ready\n this.postMessage({\n id: null,\n action: 'app:ready',\n response: { result: true, data: { layers } },\n });\n\n window.addEventListener('message', this.getMessage, false);\n }\n\n // set eventResponse handler to alla services\n eventResponseServiceHandler({ action, response }) {\n this.postMessage({ id: null, action, response })\n }\n\n /**\n * Outputplace iframe get by DataRouteService\n * \n * @param dataPromise\n * @param options\n * \n * @returns { Promise }\n */\n async outputDataPlace(dataPromise, options = {}) {\n let outputData;\n const { action = 'app:results' } = options;\n let { result, data = [] } = await dataPromise;\n const parser = new ol.format.GeoJSON();\n try {\n outputData = data.map(({ layer, features }) => ({ [layer.getId()]: { features: parser.writeFeatures(features) } }));\n } catch(e) {\n console.warn(e);\n result = false;\n outputData = e;\n }\n\n this.postMessage({\n id: null,\n action,\n response: { result, data: outputData }\n })\n }\n\n /**\n * post a message to parent\n */\n postMessage(message = {}) {\n if (window.parent) { window.parent.postMessage(message, '*') }\n }\n\n async stopPendingActions() {\n const promises = [];\n Object\n .keys(this.pendingactions)\n .forEach(id => {\n promises.push(this.services[this.pendingactions[id].context].stop());\n delete this.pendingactions[id];\n });\n return Promise.allSettled(promises)\n };\n\n /**\n * handle all messages from the window\n */\n async getMessage(evt) {\n if (evt && evt.data) {\n const {\n id = getUniqueDomId(),\n single = true,\n action,\n data: params\n } = evt.data;\n const [ context, method ] = (action || '').split(':');\n let result = false;\n let data;\n try {\n const is_ready = this.services[context].getReady();\n if (is_ready && single) {\n await this.stopPendingActions();\n }\n if (is_ready) {\n this.pendingactions[id] = { context };\n data = await this.services[context][method](params);\n result = true;\n }\n } catch(e) {\n console.warn(e);\n result = false;\n data = e;\n }\n this.postMessage({\n id,\n action,\n response: { result, data },\n });\n delete this.pendingactions[id];\n }\n }\n\n /**\n * Called when change map or clear\n */\n async clear() {\n const serviceNames = Object.keys(this.services);\n for (let i = 0; i < serviceNames.length; i++) {\n this.services[serviceNames[i]].off('response', this.eventResponseServiceHandler)\n }\n await this.stopPendingActions();\n window.removeEventListener('message', this.getMessage, false);\n }\n\n}\n\n/**\n * ORIGINAL SOURCE: src/app/core/iframe/services/baseservice.js@3.9.0\n */\nclass BaseIframeService extends G3WObject {\n\n constructor() {\n\n super();\n\n /**\n * @type { boolean }\n */\n this.ready = false;\n\n /**\n * Map service\n */\n this.mapService = GUI.getService('map');\n\n /**\n * Current project\n */\n this.project = ApplicationState.project;\n\n /**\n * @type { Array | undefined }\n */\n this.layers = undefined;\n\n // common attributes between plugin service\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n this.pluginName;\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n this.dependencyApi = {};\n\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses\n * \n * @since 3.9.1\n */\n async init({\n layers = {}\n } = {}) {\n this.layers = layers;\n // skip when plugin is not in configuration (ie. added to the application)\n if (!ApplicationState.configurationPlugins.includes(this.pluginName)) {\n return;\n }\n const plugin = PluginsRegistry.getPlugin(this.pluginName);\n if (plugin) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n } else {\n PluginsRegistry\n .onafter('registerPlugin', async plugin => {\n await plugin.isReady();\n if (plugin.getName() === this.pluginName) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n }\n })\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n setDependencyApi(api = {}) {\n this.dependencyApi = api;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n getDependecyApi() {\n return this.dependencyApi;\n }\n\n /**\n * Return a qgs_layer_id array based on passed qgis_layer_id\n * \n * @param { Object } opts\n * @param { string | string[] | null | undefined } opts.qgs_layer_id\n * @param { Array } noValue\n * \n * @returns { string[] } qgs_layer_id\n * \n * @private\n */\n getQgsLayerId({\n qgs_layer_id,\n noValue = this.layers.map(l => l.id),\n }) {\n return qgs_layer_id ? [].concat(qgs_layer_id) : noValue;\n };\n\n /**\n * getFeature from DataProvider\n * \n * @private\n */\n async searchFeature({\n layer,\n feature,\n }) {\n const { data = [] } = await DataRouterService.getData('search:features', {\n inputs: {\n layer,\n filter: [].concat(feature.value).map(v => `${feature.field}|eq|${encodeURIComponent(v)}`).join('|OR,')\n },\n outputs: false\n });\n return data;\n };\n\n /**\n * Search feature(s) by field and value\n * \n * @param { Object } opts\n * @param opts.qgs_layer_id\n * @param opts.feature\n * @param opts.zoom\n * @param opts.highlight\n * \n * @returns { Promise<{ qgs_layer_id: null, features: [], found: boolean }>}\n */\n async findFeaturesWithGeometry({\n feature,\n qgs_layer_id = [],\n zoom = false,\n highlight = false,\n } = {}) {\n const response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n let layersCount = qgs_layer_id.length;\n let i = 0;\n while (!response.found && i < layersCount) {\n const layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n const data = layer && await this.searchFeature({ layer, feature });\n const features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(f => f.getGeometry());\n if (!features || !response.found) {\n throw 'invalid response';\n }\n response.features = features;\n response.qgs_layer_id = qgs_layer_id[i];\n if (zoom) {\n await this.mapService.zoomToFeatures(features, { highlight });\n }\n } catch(e) { i++; console.warn(e);}\n }\n // in case of no response zoom to an initial extent\n if (!response.found) {\n this.zoomToExtent(this.mapService.project.state.initextent)\n }\n return response;\n }\n\n /**\n * Set layer function\n * \n * @param layers\n */\n setLayers(layers = []) {\n this.layers = layers;\n }\n\n getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n setReady(bool = false) {\n this.ready = bool;\n }\n\n getReady() {\n return this.ready;\n }\n\n /**\n * Overwrite single service: Usefult to stop eventually running action\n * \n * @virtual method need to be implemented by subclasses\n * \n * @returns { Promise }\n */\n async stop() {}\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n clear() {}\n\n}\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\nclass AppService extends BaseIframeService {\n\n constructor() {\n super();\n this.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null },\n };\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n init() {\n return new Promise(resolve => {\n this.mapService.once('ready', () => {\n this._map = this.mapService.getMap();\n this._mapCrs = this.mapService.getCrs();\n this.mapControls.screenshot.control = this.mapService.getMapControlByType({ type: 'screenshot' });\n this.setReady(true);\n resolve();\n });\n })\n }\n\n /**\n * @returns { Promise }\n */\n async results({\n capture = true,\n }) {\n GUI.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n }\n\n /**\n * @returns { Promise }\n */\n async screenshot({\n capture = true,\n }) {\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(async() => {\n let response;\n try {\n response = { result: true, data: await this.mapService.createMapImage() };\n } catch(e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n this.emit('response', { response, action: 'app:screenshot' });\n }\n });\n }\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async getcenter(params = {}) {\n const center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(\n center,\n this.mapService.getEpsg(),\n await _getEpsgFromParam(params.epsg)\n );\n }\n return center;\n }\n\n /**\n * Zoom to coordinates\n * \n * @param { Object } params\n * @param { Array } params.coordinates\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async zoomtocoordinates(params = {}) {\n let {\n coordinates = [],\n epsg,\n } = params;\n // skip when coordinates in params are null or are an array with more than item 2\n if (!(coordinates && Array.isArray(coordinates) && 2 === coordinates.length)) {\n return Promise.reject(coordinates);\n }\n if (undefined !== epsg) {\n // normalized psg code\n epsg = await _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n }\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async getextent(params = {}) {\n const extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(\n extent,\n this.mapService.getEpsg(),\n await _getEpsgFromParam(params.epsg)\n );\n }\n return extent;\n }\n\n /**\n * @param { Object } params\n * @param { Array } params.extent\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async zoomtoextent(params = {}) {\n let { extent = [], epsg } = params;\n // skip when an extent is null ora an array with number of ites not equal to 4\n if (!(extent && Array.isArray(extent) && 4 === extent.length)) {\n return Promise.reject(extent);\n }\n /** If epsg is provide, get epsg definition */\n if (undefined !== epsg) {\n epsg = _getEpsgFromParam(epsg);\n extent = ol.proj.transformExtent(extent, epsg, this.mapService.getEpsg());\n } else {\n this.mapService.goToBBox(extent);\n }\n return extent;\n };\n\n /**\n * Zoom to features\n * \n * @param { Object } params\n * @param params.qgs_layer_id\n * @param params.feature\n * @param { boolean } params.highlight \n * \n * @returns { Promise } qgs_layer_id\n */\n async zoomtofeature(params = {}) {\n let {\n qgs_layer_id,\n feature,\n highlight = false,\n } = params;\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id });\n\n const response = await this.findFeaturesWithGeometry({\n qgs_layer_id,\n feature,\n zoom: true,\n highlight,\n });\n\n return response.qgs_layer_id;\n }\n\n}\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\nclass EditingService extends BaseIframeService {\n\n constructor() {\n super();\n\n this.pluginName = 'editing';\n\n this.subscribevents = [];\n \n this.isRunning = false;\n \n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null,\n };\n \n this.config = {\n tools: {\n add: {\n disabled:[\n { id: 'deletefeature' },\n { id: 'copyfeatures' },\n { id: 'editmultiattributes' },\n { id: 'deletePart' },\n { id: 'splitfeature' },\n { id: 'mergefeatures' },\n ]\n },\n update: {\n disabled: [\n { id: 'addfeature' },\n { id: 'copyfeatures' },\n { id: 'deletefeature' },\n { id: 'editmultiattributes' },\n { id: 'deletePart' },\n { id: 'splitfeature' },\n { id: 'mergefeatures' },\n ]\n },\n delete: {\n enabled: [\n { id:'deletefeature', options: { active: true } },\n ]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n this.subscribersHandlers = {\n\n canUndo:({ activeTool, disableToolboxes = [] }) => bool => {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n this.responseObject.qgs_layer_id = null;\n this.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(toolbox => toolbox.setEditing(!bool))\n },\n\n canRedo:() => {},\n\n //run callback\n cancelform:cb => () => { cb() },\n\n addfeature: ({ properties, toolboxes } = {}) => feature => {\n\n Object\n .keys(properties)\n .forEach(p => feature.set(p, properties[p]));\n\n let activeTool;\n const disableToolboxes = [];\n\n toolboxes\n .forEach(t => {\n const tool = t.getToolById('addfeature');\n if (tool.isActive()) {\n tool.setEnabled(false);\n activeTool = tool;\n } else {\n t.setEditing(false);\n disableToolboxes.push(t)\n }\n });\n\n // just one time\n if (this.subscribevents.find(e => 'canUndo' !== e.event)) {\n this.addSubscribeEvents('cancelform', this.addSubscribeEvents('canUndo', { activeTool, disableToolboxes }));\n }\n },\n\n closeeditingpanel: ({ qgs_layer_id }) => () => {\n // response to router service\n this.responseObject.cb({\n qgs_layer_id: this.responseObject.qgs_layer_id,\n error: this.responseObject.error,\n });\n // stop action\n this.stopAction({ qgs_layer_id });\n },\n\n };\n\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n async startAction({\n toolboxes,\n resolve,\n reject,\n }) {\n\n this.responseObject.cb = reject;\n\n // set same mode autosave\n this.dependencyApi.setSaveConfig({\n cb: {\n // called when commit changes are done successuffly\n done: toolbox => {\n //set toolbox id\n this.responseObject.cb = resolve;\n this.responseObject.qgs_layer_id = toolbox.getId();\n this.responseObject.error = null;\n // close panel that fire closeediting panel event\n this.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: (toolbox, error) => {\n this.responseObject.cb = reject;\n this.responseObject.qgs_layer_id = toolbox.getId();\n this.responseObject.error = error;\n },\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes });\n\n this.isRunning = true;\n }\n\n /**\n * run after each action\n */\n async stopAction(opts = {}) {\n if (opts.qgs_layer_id) {\n await this.stopEditing(opts.qgs_layer_id);\n }\n }\n\n /**\n * add subscribe refenrence\n */\n addSubscribeEvents(event, options = {}) {\n const handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event, handler });\n return handler;\n };\n\n /**\n * Reset subscriber editing plugin events\n */\n resetSubscribeEvents() {\n this.subscribevents.forEach(d => { this.dependencyApi.unsubscribe(d.event, d.handler); });\n };\n\n /**\n * Called whe we want to add a feature\n * \n * @param { Object } config\n * @param config.qgs_layer_id\n * @param config.properties\n * \n * @returns { Promise }\n */\n add(config = {}) {\n return new Promise(async (resolve, reject) => {\n // skip when ..\n if (this.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n const { qgs_layer_id: configQglLayerId, ...data } = config;\n const { properties } = data;\n\n const qgs_layer_id = this.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: this.dependencyApi.getEditableLayersId(),\n });\n\n // call method common\n await this.startAction({ toolboxes: qgs_layer_id, resolve, reject });\n\n // return all toolboxes\n const toolboxes = (\n await this.startEditing(qgs_layer_id, {\n tools: this.config.tools.add,\n startstopediting: false,\n action : 'add',\n selected: 1 === qgs_layer_id.length,\n })\n )\n .filter(p => 'fulfilled' === p.status)\n .map(p => p.value);\n\n /** @FIXME add description */\n if (!GUI.isSidebarVisible()) {\n GUI.showSidebar();\n }\n\n /** @FIXME add description */\n if (1 === toolboxes.length && toolboxes[0]) {\n toolboxes[0].setActiveTool(toolboxes[0].getToolById('addfeature'));\n }\n\n // in case of no feature add avent subscribe\n this.addSubscribeEvents('addfeature', { properties, toolboxes });\n this.addSubscribeEvents('closeeditingpanel', { qgs_layer_id })\n });\n }\n\n /**\n * Called when we want to update a know feature field\n * \n * @param config\n * \n * @returns { Promise }\n */\n async update(config = {}) {\n return new Promise(async (resolve, reject) => {\n // skip when ..\n if (this.isRunning) {\n return reject();\n }\n\n const { qgs_layer_id: configQglLayerId, ...data } = config;\n const { feature } = data;\n const qgs_layer_id = this.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: this.dependencyApi.getEditableLayersId()\n });\n\n const response = await this.findFeaturesWithGeometry({\n qgs_layer_id,\n feature,\n zoom: true,\n highlight: true,\n selected: 1 === qgs_layer_id.length // set selected toolbox\n });\n\n // skip when ..\n if (!response.found) {\n return reject();\n }\n\n await this.startAction({ toolboxes: [response.qgs_layer_id], resolve, reject });\n\n // return all toolboxes\n await this.startEditing([response.qgs_layer_id], {\n feature,\n tools: this.config.tools.update,\n startstopediting: false,\n action: 'update',\n });\n\n if (!GUI.isSidebarVisible()) {\n GUI.showSidebar();\n }\n\n this.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n }\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n delete() {}\n\n /**\n * Called when we want to start editing\n * \n * @param { Array } qgs_layer_id\n * @param { Object } options\n * \n * @returns { Promise< unknown | void > }\n */\n async startEditing(qgs_layer_id = [], options = {}) {\n const { action = 'add', feature } = options;\n const filter = {};\n options.filter = filter;\n switch (action) {\n case 'add': filter.nofeatures = true; break;\n case 'update': filter.field = `${feature.field}|eq|${feature.value}`; break;\n }\n const promises = [];\n qgs_layer_id.forEach(id => { promises.push(this.dependencyApi.startEditing(id, options)) });\n return await Promise.allSettled(promises);\n }\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n async stopEditing(qgs_layer_id) {\n const promises = [];\n qgs_layer_id.forEach(id => { promises.push(this.dependencyApi.stopEditing(id)); });\n await Promise.allSettled(promises);\n this.clear();\n }\n\n stop() {\n return new Promise(resolve => {\n this.dependencyApi.hidePanel();\n GUI.hideSidebar();\n this.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n clear() {\n this.dependencyApi.resetDefault();\n this.isRunning = false;\n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null,\n };\n this.resetSubscribeEvents();\n this.emit('clear');\n }\n\n}\n\nexport default new IframePluginService();", "export function toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1)\n}", "import ApplicationState from 'store/application';\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nexport function getListableProjects() {\n window.initConfig.projects\n return window.initConfig.projects.filter(p => {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (\n p.id === ApplicationState.project.getId() ||\n (window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject)\n ) {\n return false;\n }\n return p;\n }).sort((a, b) => (a.title || '').localeCompare(b.title));\n}", "/**\n * @param gid\n * \n * @returns {string}\n */\nexport function getProjectUrl(gid) {\n const project = window.initConfig.projects.find(p => gid === p.gid);\n try {\n return `${(new URL(window.initConfig.urls.baseurl))}${project.url}`;\n } catch(e) {\n console.warn(e);\n return `${location.origin}${window.initConfig.urls.baseurl}${project.url}`;\n }\n}", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n import ApplicationState from \"store/application\";\n\n const __vue_script__ = {\n name: \"SidebarItem\",\n data() {\n const { component } = this.$options;\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component,\n active: false,\n title: component.title || '',\n open: !!component.state.open,\n icon: component.icon,\n iconColor: component.iconColor,\n collapsible: false !== component.collapsible,\n actions: component.actions,\n sidebar : ApplicationState.gui.sidebar\n };\n },\n methods: {\n triggerAction(action, component) {\n action.fnc(component);\n },\n },\n\n mounted() {\n const opts = this.$options.opts || {};\n const sidebar = document.getElementById('g3w-sidebarcomponents');\n\n // append to `g3w-sidebarcomponents`\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n }\n \n // append to `g3w-sidebarcomponents` (by position)\n else {\n Array.from(sidebar.children).forEach((child, i) => {\n if (i === opts.position || child.id === opts.position) {\n child.insertAdjacentElement((!!opts.before || undefined === opts.before) ? 'beforebegin' : 'afterend', this.$el);\n }\n });\n }\n\n this.component.mount(this.$refs['component-placeholder']);\n\n // set component click handler\n this.component.click = ({ open = false } = {}) => {\n if (open) {\n ApplicationState.sidebar.components.forEach(comp => {\n if (comp !== this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n const node = this.component.getInternalComponent().$el;\n //@since 3.11.0 Need to add check of sidebar components, in case, for example, close\n // contents element and some sidebar component is related to it's close, for example, qplotly\n //a toggle menu open of
        \n if (node.classList) {\n node.classList.toggle('menu-open', open);\n }\n // toggle active of
      • element\n node.parentNode.classList.toggle('active', open);\n\n this.component.setOpen(open);\n\n };\n },\n\n }\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.component.state.visible),expression:\"component.state.visible\"},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.component.state.disabled),expression:\"component.state.disabled\"}],staticClass:\"treeview sidebaritem\",class:{'active': _vm.open },attrs:{\"id\":_vm.component.id}},[_c('bar-loader',{attrs:{\"loading\":_vm.component.state.loading}}),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebar.open ? '' : _vm.title),expression:\"sidebar.open ? '' : title\",arg:\"right\",modifiers:{\"create\":true}}],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"current-tooltip\":_vm.sidebar.open ? '' : _vm.title}},[_c('div',[(!_vm.sidebar.open)?_c('span',[_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })})]):_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticClass:\"treeview-label\"})]),_vm._v(\" \"),_c('div',[(_vm.info.state)?_c('span',{class:_vm.info.class,staticStyle:{\"position\":\"absolute\",\"right\":\"5px\",\"font-weight\":\"bold\"},style:(_vm.info.style),attrs:{\"title\":_vm.info.tooltip}},[_vm._v(_vm._s(_vm.info.state))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.actions),function(action){return _c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(action.tooltip),expression:\"action.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],key:action.id,staticClass:\"action skin-tooltip-left\",class:action.class,staticStyle:{\"font-weight\":\"bold\",\"padding\":\"3px\"},style:(action.style),on:{\"click\":function($event){$event.stopPropagation();return _vm.triggerAction(action, _vm.component.internalComponent)}}})})],2),_vm._v(\" \"),(_vm.collapsible)?_c('i',{staticClass:\"pull-right\",class:_vm.$fa('angle-left')}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"component-placeholder\"})],1)}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"SidebarItem.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * @TODO remove \"Vue.extend\" from module export\n */\nconst __vue_script__ = Vue.extend({\n\n /** @since 3.8.6 */\n name: 'form-header',\n\n props: {\n headers: {\n type: Array,\n default: []\n },\n currentid: {\n type: String\n },\n update: {\n type: Boolean\n },\n valid: {\n type: Boolean\n }\n },\n methods: {\n click(id) {\n /**\n * @deprecated since 3.6.2\n * This was used when form headers has more than one (case relation)\n */\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_header box-header with-border\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('section',{staticClass:\"g3wform_header_content\"},_vm._l((_vm.headers),function(header){return _c('span',{key:header.id,staticClass:\"title\",class:[{item_selected: _vm.currentid === header.id && _vm.headers.length > 1},[_vm.headers.length > 1 ? 'tabs' : 'one' ]],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},style:({fontSize: _vm.isMobile() && '1em !important'}),on:{\"click\":function($event){$event.stopPropagation();return _vm.click(header.id)}}},[(header.icon)?_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_c('i',{class:header.icon})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:(header.title),expression:\"header.title\",arg:\"pre\"}],staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(header.name))]),_vm._v(\" \"),_c(header.component,{tag:\"component\",attrs:{\"valid\":_vm.valid,\"update\":_vm.update}})],1)}),0)])}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FormHeader.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * @TODO remove \"Vue.extend\" from module export\n */\nconst __vue_script__ = Vue.extend({\n\n /** @since 3.8.6 */\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: () => {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data() {\n /**\n * need toget a deep copy of buttons\n * @type {T[]}\n */\n this.originalbuttons = this.state.buttons.map(button => ({\n ...button\n }));\n return {\n id: \"footer\",\n active: true,\n show: true,\n }\n },\n computed: {\n enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields): (function() { return this.state.fields})();\n },\n btnEnabled(button) {\n const { enabled = true, type } = button;\n return enabled && (type !== 'save' || (type === 'save' && this.enableSave));\n },\n isValid() {\n return this.state.valid;\n },\n },\n watch: {\n 'state.component'(component) {\n this.show = this.isRootComponent(component)\n },\n 'state.update': {\n immediate: true,\n handler(value) {\n this.state.buttons.find((button, index) => {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n this.state.buttons.splice(index,1, {\n ...button,\n ...button.eventButtons.update[value]\n })\n } else {\n this.state.buttons.splice(index,1, this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated() {\n this.active = true;\n },\n deactivated() {\n this.active = false;\n }\n});\n\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group g3wform_footer\"},[(_vm.show)?[_vm._t(\"default\",function(){return [_c('div',{staticStyle:{\"margin\":\"3px\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n * \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}]}),_vm._v(\" \"),(_vm.state.footer.message)?_c('div',{style:([_vm.state.footer.style])},[_vm._v(\"\\n \"+_vm._s(_vm.state.footer.message)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.state.buttons),function(button){return _c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.btnEnabled(button)),expression:\"!btnEnabled(button)\"},{name:\"t\",rawName:\"v-t\",value:(button.title),expression:\"button.title\"}],key:button.id,staticClass:\"btn\",class:[button.class],attrs:{\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.exec(button.cbk)}}})})]})]:[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"prevet\",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();return _vm.backToRoot.apply(null, arguments)}}})]],2)}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FormFooter.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport HeaderFormComponent from 'components/FormHeader.vue';\nimport G3wFormFooter from 'components/FormFooter.vue';\n\nconst __vue_script__ = {\n\n /** @since 3.8.6 */\n name: 'g3w-form',\n\n data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n }\n },\n components: {\n g3wformheader: HeaderFormComponent,\n G3wFormFooter\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent({ id, disabled = false }) {\n this.$options.service.disableComponent({\n id,\n disabled\n });\n },\n resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc)\n },\n switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n // set layout\n reloadLayout() {\n const height = $(this.$el).height();\n if (!height) { return };\n const footerDOM = $(this.$refs.g3w_form_footer.$el);\n const bodyFromDOM = $(this.$refs.g3wform_body);\n const footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n const bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n },\n },\n async updated() {\n await this.$nextTick();\n if (this.switchcomponent) { setTimeout(() => this.switchcomponent = false, 0) }\n },\n created() {\n this.$options.service.getEventBus().$on('set-main-component', () => {\n this.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', ({id, valid}) => {\n this.$options.service.setValidComponent({ id, valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted() {\n // check if is valid form (it used by footer component)\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_content\",staticStyle:{\"position\":\"relative\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}}),_vm._v(\" \"),_c('g3wformheader',{ref:\"g3wformheader\",attrs:{\"currentid\":_vm.state.currentheaderid,\"headers\":_vm.state.headers,\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"resize-form\":_vm.resizeForm,\"clickheader\":_vm.switchComponent}}),_vm._v(\" \"),_c('div',{ref:\"g3wform_body\",staticClass:\"g3wform_body\"},[_vm._l((_vm.body.components.before),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})}),_vm._v(\" \"),_c('keep-alive',[_c(_vm.state.component,{tag:\"component\",attrs:{\"handleRelation\":_vm.handleRelation,\"state\":_vm.state},on:{\"hook:activated\":_vm.reloadLayout,\"addtovalidate\":_vm.addToValidate,\"removetovalidate\":_vm.removeToValidate,\"changeinput\":_vm.changeInput}})],1),_vm._v(\" \"),_vm._l((_vm.body.components.after),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})})],2),_vm._v(\" \"),_c('g3w-form-footer',{ref:\"g3w_form_footer\",attrs:{\"isRootComponent\":_vm.isRootComponent,\"backToRoot\":_vm.backToRoot,\"state\":_vm.state}})],1)}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"Form.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "import ApplicationState from 'store/application';\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nexport function getCatalogLayerById(id) {\n return Object.values(ApplicationState.catalog).map(s => s.getLayerById(id)).find(l => l);\n}", "/**\n * @file\n * @since v3.7\n */\n\nimport { getCatalogLayerById } from 'utils/getCatalogLayerById';\n\nexport default {\n methods: {\n async autocompleteRequest({ layerId, field, value } = {}) {\n let data = [];\n try {\n data = await getCatalogLayerById(layerId).getFilterData({\n suggest: `${field}|${value}`,\n unique: field\n })\n } catch(e) {\n console.warn(e);\n }\n return data.map(value => ({ id: value, text: value }))\n }\n }\n};", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst __vue_script__ = {\n name: \"field\",\n props: ['state']\n}\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.state.label)?_c('div',{staticClass:\"col-sm-6 field_label\"},[_vm._t(\"label\",function(){return [_vm._v(_vm._s(_vm.state.label))]})],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"field_value\",class:[_vm.state.label ? 'col-sm-6' : null ]},[_vm._t(\"field\",function(){return [_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})]})],2)])}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-6e3a094b_0\", { source: \".field[data-v-6e3a094b]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6e3a094b]{position:relative}.field div[data-v-6e3a094b]{padding-left:3px}.field_value button[data-v-6e3a094b]{margin-right:5px}.field_value[data-v-6e3a094b]{padding-left:0!important;padding-right:8px;text-align:right}\", map: undefined, media: undefined })\n\n }\n /* scoped */\n const __vue_scope_id__ = \"data-v-6e3a094b\"\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"Field.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (true) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n function __vue_create_injector__() {\n const styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {})\n const isOldIE =\n typeof navigator !== 'undefined' &&\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase())\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return // SSR styles are present.\n\n const group = isOldIE ? css.media || 'default' : id\n const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined })\n\n if (!style.ids.includes(id)) {\n let code = css.source\n let index = style.ids.length\n\n style.ids.push(id)\n\n if (true && css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n code +=\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\n ' */'\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']')\n }\n\n if (!style.element) {\n const head = document.head || document.getElementsByTagName('head')[0]\n const el = style.element = document.createElement('style')\n el.type = 'text/css'\n\n if (css.media) el.setAttribute('media', css.media)\n if (isOldIE) {\n el.setAttribute('data-group', group)\n el.setAttribute('data-next-index', '0')\n }\n\n head.appendChild(el)\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'))\n style.element.setAttribute('data-next-index', index + 1)\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code)\n style.element.styleSheet.cssText = style.parts\n .filter(Boolean)\n .join('\\n')\n } else {\n const textNode = document.createTextNode(code)\n const nodes = style.element.childNodes\n if (nodes[index]) style.element.removeChild(nodes[index])\n if (nodes.length) style.element.insertBefore(textNode, nodes[index])\n else style.element.appendChild(textNode)\n }\n }\n }\n }\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n __vue_create_injector__,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n\nimport Field from 'components/Field.vue';\n\nconst __vue_script__ = {\n\n /** @since 3.8.6 */\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field\n },\n\n created() {},\n\n};\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-18457c68_0\", { source: \".field_text_table[data-v-18457c68]{background-color:transparent!important}.field_text_table .field_label[data-v-18457c68]{font-weight:700}\", map: undefined, media: undefined })\n\n }\n /* scoped */\n const __vue_scope_id__ = \"data-v-18457c68\"\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FieldText.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (true) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n function __vue_create_injector__() {\n const styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {})\n const isOldIE =\n typeof navigator !== 'undefined' &&\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase())\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return // SSR styles are present.\n\n const group = isOldIE ? css.media || 'default' : id\n const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined })\n\n if (!style.ids.includes(id)) {\n let code = css.source\n let index = style.ids.length\n\n style.ids.push(id)\n\n if (true && css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n code +=\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\n ' */'\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']')\n }\n\n if (!style.element) {\n const head = document.head || document.getElementsByTagName('head')[0]\n const el = style.element = document.createElement('style')\n el.type = 'text/css'\n\n if (css.media) el.setAttribute('media', css.media)\n if (isOldIE) {\n el.setAttribute('data-group', group)\n el.setAttribute('data-next-index', '0')\n }\n\n head.appendChild(el)\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'))\n style.element.setAttribute('data-next-index', index + 1)\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code)\n style.element.styleSheet.cssText = style.parts\n .filter(Boolean)\n .join('\\n')\n } else {\n const textNode = document.createTextNode(code)\n const nodes = style.element.childNodes\n if (nodes[index]) style.element.removeChild(nodes[index])\n if (nodes.length) style.element.insertBefore(textNode, nodes[index])\n else style.element.appendChild(textNode)\n }\n }\n }\n }\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n __vue_create_injector__,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Field from 'components/Field.vue';\n\nconst __vue_script__ = {\n\n /** @since 3.8.6 */\n name: \"field-link\",\n\n props: ['state'],\n data() {\n return {\n value: null\n }\n },\n components: {\n Field\n },\n methods: {\n openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created() {\n this.value = this.state.value && typeof this.state.value === 'object' ? this.state.value.value : this.state.value;\n }\n};\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.link_button'),expression:\"'info.link_button'\"}],staticClass:\"btn skin-button field_link\",attrs:{\"slot\":\"field\",\"title\":_vm.value},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLink(_vm.value)}},slot:\"field\"})])}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-145d6e0c_0\", { source: \".field_link[data-v-145d6e0c]{max-width:100%}\", map: undefined, media: undefined })\n\n }\n /* scoped */\n const __vue_scope_id__ = \"data-v-145d6e0c\"\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FieldLink.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (true) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n function __vue_create_injector__() {\n const styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {})\n const isOldIE =\n typeof navigator !== 'undefined' &&\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase())\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return // SSR styles are present.\n\n const group = isOldIE ? css.media || 'default' : id\n const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined })\n\n if (!style.ids.includes(id)) {\n let code = css.source\n let index = style.ids.length\n\n style.ids.push(id)\n\n if (true && css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n code +=\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\n ' */'\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']')\n }\n\n if (!style.element) {\n const head = document.head || document.getElementsByTagName('head')[0]\n const el = style.element = document.createElement('style')\n el.type = 'text/css'\n\n if (css.media) el.setAttribute('media', css.media)\n if (isOldIE) {\n el.setAttribute('data-group', group)\n el.setAttribute('data-next-index', '0')\n }\n\n head.appendChild(el)\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'))\n style.element.setAttribute('data-next-index', index + 1)\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code)\n style.element.styleSheet.cssText = style.parts\n .filter(Boolean)\n .join('\\n')\n } else {\n const textNode = document.createTextNode(code)\n const nodes = style.element.childNodes\n if (nodes[index]) style.element.removeChild(nodes[index])\n if (nodes.length) style.element.insertBefore(textNode, nodes[index])\n else style.element.appendChild(textNode)\n }\n }\n }\n }\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n __vue_create_injector__,\n undefined,\n undefined\n )\n\n export default __vue_component__", "//\n//\n//\n//\n//\n//\n\nvar script = {\n name: 'teleport',\n props: {\n to: {\n type: String,\n required: true,\n },\n where: {\n type: String,\n default: 'after',\n },\n disabled: Boolean,\n },\n data: function data() {\n return {\n nodes: [],\n waiting: false,\n observer: null,\n parent: null,\n };\n },\n watch: {\n to: 'maybeMove',\n where: 'maybeMove',\n disabled: function disabled(value) {\n var this$1 = this;\n\n if (value) {\n this.disable();\n // Ensure all event done.\n this.$nextTick(function () {\n this$1.teardownObserver();\n });\n } else {\n this.bootObserver();\n this.move();\n }\n },\n },\n mounted: function mounted() {\n // Store a reference to the nodes\n this.nodes = Array.from(this.$el.childNodes);\n\n if (!this.disabled) {\n this.bootObserver();\n }\n\n // Move slot content to target\n this.maybeMove();\n },\n beforeDestroy: function beforeDestroy() {\n // Fix nodes reference\n this.nodes = this.getComponentChildrenNode();\n\n // Move back\n this.disable();\n\n // Stop observing\n this.teardownObserver();\n },\n computed: {\n classes: function classes() {\n if (this.disabled) {\n return ['teleporter'];\n }\n\n return ['teleporter', 'hidden'];\n },\n },\n methods: {\n maybeMove: function maybeMove() {\n if (!this.disabled) {\n this.move();\n }\n },\n move: function move() {\n this.waiting = false;\n\n this.parent = document.querySelector(this.to);\n\n if (!this.parent) {\n this.disable();\n\n this.waiting = true;\n\n return;\n }\n\n if (this.where === 'before') {\n this.parent.prepend(this.getFragment());\n } else {\n this.parent.appendChild(this.getFragment());\n }\n },\n disable: function disable() {\n this.$el.appendChild(this.getFragment());\n this.parent = null;\n },\n // Using a fragment is faster because it'll trigger only a single reflow\n // See https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment\n getFragment: function getFragment() {\n var fragment = document.createDocumentFragment();\n\n this.nodes.forEach(function (node) { return fragment.appendChild(node); });\n\n return fragment;\n },\n onMutations: function onMutations(mutations) {\n var this$1 = this;\n\n // Makes sure the move operation is only done once\n var shouldMove = false;\n\n for (var i = 0; i < mutations.length; i++) {\n var mutation = mutations[i];\n var filteredAddedNodes = Array.from(mutation.addedNodes).filter(function (node) { return !this$1.nodes.includes(node); });\n\n if (Array.from(mutation.removedNodes).includes(this.parent)) {\n this.disable();\n this.waiting = !this.disabled;\n } else if (this.waiting && filteredAddedNodes.length > 0) {\n shouldMove = true;\n }\n }\n\n if (shouldMove) {\n this.move();\n }\n },\n bootObserver: function bootObserver() {\n var this$1 = this;\n\n if (this.observer) {\n return;\n }\n\n this.observer = new MutationObserver(function (mutations) { return this$1.onMutations(mutations); });\n\n this.observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: false,\n characterData: false,\n });\n\n if (this.childObserver) {\n return;\n }\n // watch childNodes change\n this.childObserver = new MutationObserver(function (mutations) {\n var childChangeRecord = mutations.find(function (i) { return i.target === this$1.$el; });\n if (childChangeRecord) {\n // Remove old nodes before update position.\n this$1.nodes.forEach(function (node) { return node.parentNode && node.parentNode.removeChild(node); });\n this$1.nodes = this$1.getComponentChildrenNode();\n this$1.maybeMove();\n }\n });\n\n this.childObserver.observe(this.$el, {\n childList: true,\n subtree: false,\n attributes: false,\n characterData: false,\n });\n },\n teardownObserver: function teardownObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n if (this.childObserver) {\n this.childObserver.disconnect();\n this.childObserver = null;\n }\n },\n getComponentChildrenNode: function getComponentChildrenNode() {\n return this.$vnode.componentOptions.children\n .map(function (i) { return i.elm; })\n .filter(function (i) { return i; });\n },\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return function (id, style) { return addStyle(id, style); };\r\n}\r\nvar HEAD;\r\nvar styles = {};\r\nfunction addStyle(id, css) {\r\n var group = isOldIE ? css.media || 'default' : id;\r\n var style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n var code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n { style.element.setAttribute('media', css.media); }\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n var index = style.ids.size - 1;\r\n var textNode = document.createTextNode(code);\r\n var nodes = style.element.childNodes;\r\n if (nodes[index])\r\n { style.element.removeChild(nodes[index]); }\r\n if (nodes.length)\r\n { style.element.insertBefore(textNode, nodes[index]); }\r\n else\r\n { style.element.appendChild(textNode); }\r\n }\r\n }\r\n}\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { class: _vm.classes }, [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n\n /* style */\n var __vue_inject_styles__ = function (inject) {\n if (!inject) { return }\n inject(\"data-v-50f4b45b_0\", { source: \".hidden[data-v-50f4b45b] {\\n visibility: hidden;\\n display: none;\\n}\\n\\n/*# sourceMappingURL=Teleport.vue.map */\", map: {\"version\":3,\"sources\":[\"/home/shodan/Projects/vue2-teleport/src/Teleport.vue\",\"Teleport.vue\"],\"names\":[],\"mappings\":\"AA2LA;EACA,kBAAA;EACA,aAAA;AC1LA;;AAEA,uCAAuC\",\"file\":\"Teleport.vue\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\",\".hidden {\\n visibility: hidden;\\n display: none;\\n}\\n\\n/*# sourceMappingURL=Teleport.vue.map */\"]}, media: undefined });\n\n };\n /* scoped */\n var __vue_scope_id__ = \"data-v-50f4b45b\";\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n createInjector,\n undefined,\n undefined\n );\n\n// Taken from https://vuejs.org/v2/cookbook/packaging-sfc-for-npm.html\n\n// Declare install function executed by Vue.use()\nfunction install (Vue) {\n if (install.installed) { return; }\n\n install.installed = true;\n Vue.component('Teleport', __vue_component__);\n}\n\n// Create module definition for Vue.use()\nvar plugin = {\n install: install,\n};\n\n// Auto-install when vue is found (eg. in browser via \n * \n * ```\n */\nclass IframePluginService {\n\n constructor() {\n this.pendingactions = {};\n this.getMessage = this.getMessage.bind(this);\n this.eventResponseServiceHandler = this.eventResponseServiceHandler.bind(this);\n }\n\n /**\n * @param { Object } opts\n * @param opts.project current project sends by application service\n */\n async init({\n project,\n } = {}) {\n\n await GUI.isReady();\n\n this.services = {\n app: new AppService(),\n editing: new EditingService(),\n };\n\n // get layer attributes from project layers state\n const layers = project.state.layers.map(l => ({ id: l.id, name: l.name }));\n\n // initialize all services\n const serviceNames = Object.keys(this.services);\n\n for (let i = 0; i < serviceNames.length; i++) {\n const service = this.services[serviceNames[i]];\n // set common layer attribute service just one time\n if (undefined === service.getLayers()) {\n service.setLayers(layers);\n } \n await service.init();\n service.on('response', this.eventResponseServiceHandler);\n }\n\n // Send post-message is ready\n this.postMessage({\n id: null,\n action: 'app:ready',\n response: { result: true, data: { layers } },\n });\n\n window.addEventListener('message', this.getMessage, false);\n }\n\n // set eventResponse handler to alla services\n eventResponseServiceHandler({ action, response }) {\n this.postMessage({ id: null, action, response })\n }\n\n /**\n * Outputplace iframe get by DataRouteService\n * \n * @param dataPromise\n * @param options\n * \n * @returns { Promise }\n */\n async outputDataPlace(dataPromise, options = {}) {\n let outputData;\n const { action = 'app:results' } = options;\n let { result, data = [] } = await dataPromise;\n const parser = new ol.format.GeoJSON();\n try {\n outputData = data.map(({ layer, features }) => ({ [layer.getId()]: { features: parser.writeFeatures(features) } }));\n } catch(e) {\n console.warn(e);\n result = false;\n outputData = e;\n }\n\n this.postMessage({\n id: null,\n action,\n response: { result, data: outputData }\n })\n }\n\n /**\n * post a message to parent\n */\n postMessage(message = {}) {\n if (window.parent) { window.parent.postMessage(message, '*') }\n }\n\n async stopPendingActions() {\n const promises = [];\n Object\n .keys(this.pendingactions)\n .forEach(id => {\n promises.push(this.services[this.pendingactions[id].context].stop());\n delete this.pendingactions[id];\n });\n return Promise.allSettled(promises)\n };\n\n /**\n * handle all messages from the window\n */\n async getMessage(evt) {\n if (evt && evt.data) {\n const {\n id = getUniqueDomId(),\n single = true,\n action,\n data: params\n } = evt.data;\n const [ context, method ] = (action || '').split(':');\n let result = false;\n let data;\n try {\n const is_ready = this.services[context].getReady();\n if (is_ready && single) {\n await this.stopPendingActions();\n }\n if (is_ready) {\n this.pendingactions[id] = { context };\n data = await this.services[context][method](params);\n result = true;\n }\n } catch(e) {\n console.warn(e);\n result = false;\n data = e;\n }\n this.postMessage({\n id,\n action,\n response: { result, data },\n });\n delete this.pendingactions[id];\n }\n }\n\n /**\n * Called when change map or clear\n */\n async clear() {\n const serviceNames = Object.keys(this.services);\n for (let i = 0; i < serviceNames.length; i++) {\n this.services[serviceNames[i]].off('response', this.eventResponseServiceHandler)\n }\n await this.stopPendingActions();\n window.removeEventListener('message', this.getMessage, false);\n }\n\n}\n\n/**\n * ORIGINAL SOURCE: src/app/core/iframe/services/baseservice.js@3.9.0\n */\nclass BaseIframeService extends G3WObject {\n\n constructor() {\n\n super();\n\n /**\n * @type { boolean }\n */\n this.ready = false;\n\n /**\n * Map service\n */\n this.mapService = GUI.getService('map');\n\n /**\n * Current project\n */\n this.project = ApplicationState.project;\n\n /**\n * @type { Array | undefined }\n */\n this.layers = undefined;\n\n // common attributes between plugin service\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n this.pluginName;\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n this.dependencyApi = {};\n\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses\n * \n * @since 3.9.1\n */\n async init({\n layers = {}\n } = {}) {\n this.layers = layers;\n // skip when plugin is not in configuration (ie. added to the application)\n if (!ApplicationState.configurationPlugins.includes(this.pluginName)) {\n return;\n }\n const plugin = PluginsRegistry.getPlugin(this.pluginName);\n if (plugin) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n } else {\n PluginsRegistry\n .onafter('registerPlugin', async plugin => {\n await plugin.isReady();\n if (plugin.getName() === this.pluginName) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n }\n })\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n setDependencyApi(api = {}) {\n this.dependencyApi = api;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n getDependecyApi() {\n return this.dependencyApi;\n }\n\n /**\n * Return a qgs_layer_id array based on passed qgis_layer_id\n * \n * @param { Object } opts\n * @param { string | string[] | null | undefined } opts.qgs_layer_id\n * @param { Array } noValue\n * \n * @returns { string[] } qgs_layer_id\n * \n * @private\n */\n getQgsLayerId({\n qgs_layer_id,\n noValue = this.layers.map(l => l.id),\n }) {\n return qgs_layer_id ? [].concat(qgs_layer_id) : noValue;\n };\n\n /**\n * getFeature from DataProvider\n * \n * @private\n */\n async searchFeature({\n layer,\n feature,\n }) {\n const { data = [] } = await DataRouterService.getData('search:features', {\n inputs: {\n layer,\n filter: [].concat(feature.value).map(v => `${feature.field}|eq|${encodeURIComponent(v)}`).join('|OR,')\n },\n outputs: false\n });\n return data;\n };\n\n /**\n * Search feature(s) by field and value\n * \n * @param { Object } opts\n * @param opts.qgs_layer_id\n * @param opts.feature\n * @param opts.zoom\n * @param opts.highlight\n * \n * @returns { Promise<{ qgs_layer_id: null, features: [], found: boolean }>}\n */\n async findFeaturesWithGeometry({\n feature,\n qgs_layer_id = [],\n zoom = false,\n highlight = false,\n } = {}) {\n const response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n let layersCount = qgs_layer_id.length;\n let i = 0;\n while (!response.found && i < layersCount) {\n const layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n const data = layer && await this.searchFeature({ layer, feature });\n const features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(f => f.getGeometry());\n if (!features || !response.found) {\n throw 'invalid response';\n }\n response.features = features;\n response.qgs_layer_id = qgs_layer_id[i];\n if (zoom) {\n await this.mapService.zoomToFeatures(features, { highlight });\n }\n } catch(e) { i++; console.warn(e);}\n }\n // in case of no response zoom to an initial extent\n if (!response.found) {\n this.zoomToExtent(this.mapService.project.state.initextent)\n }\n return response;\n }\n\n /**\n * Set layer function\n * \n * @param layers\n */\n setLayers(layers = []) {\n this.layers = layers;\n }\n\n getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n setReady(bool = false) {\n this.ready = bool;\n }\n\n getReady() {\n return this.ready;\n }\n\n /**\n * Overwrite single service: Usefult to stop eventually running action\n * \n * @virtual method need to be implemented by subclasses\n * \n * @returns { Promise }\n */\n async stop() {}\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n clear() {}\n\n}\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\nclass AppService extends BaseIframeService {\n\n constructor() {\n super();\n this.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null },\n };\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n init() {\n return new Promise(resolve => {\n this.mapService.once('ready', () => {\n this._map = this.mapService.getMap();\n this._mapCrs = this.mapService.getCrs();\n this.mapControls.screenshot.control = this.mapService.getMapControlByType({ type: 'screenshot' });\n this.setReady(true);\n resolve();\n });\n })\n }\n\n /**\n * @returns { Promise }\n */\n async results({\n capture = true,\n }) {\n GUI.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n }\n\n /**\n * @returns { Promise }\n */\n async screenshot({\n capture = true,\n }) {\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(async() => {\n let response;\n try {\n response = { result: true, data: await this.mapService.createMapImage() };\n } catch(e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n this.emit('response', { response, action: 'app:screenshot' });\n }\n });\n }\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async getcenter(params = {}) {\n const center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(\n center,\n this.mapService.getEpsg(),\n await _getEpsgFromParam(params.epsg)\n );\n }\n return center;\n }\n\n /**\n * Zoom to coordinates\n * \n * @param { Object } params\n * @param { Array } params.coordinates\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async zoomtocoordinates(params = {}) {\n let {\n coordinates = [],\n epsg,\n } = params;\n // skip when coordinates in params are null or are an array with more than item 2\n if (!(coordinates && Array.isArray(coordinates) && 2 === coordinates.length)) {\n return Promise.reject(coordinates);\n }\n if (undefined !== epsg) {\n // normalized psg code\n epsg = await _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n }\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async getextent(params = {}) {\n const extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(\n extent,\n this.mapService.getEpsg(),\n await _getEpsgFromParam(params.epsg)\n );\n }\n return extent;\n }\n\n /**\n * @param { Object } params\n * @param { Array } params.extent\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n async zoomtoextent(params = {}) {\n let { extent = [], epsg } = params;\n // skip when an extent is null ora an array with number of ites not equal to 4\n if (!(extent && Array.isArray(extent) && 4 === extent.length)) {\n return Promise.reject(extent);\n }\n /** If epsg is provide, get epsg definition */\n if (undefined !== epsg) {\n epsg = _getEpsgFromParam(epsg);\n extent = ol.proj.transformExtent(extent, epsg, this.mapService.getEpsg());\n } else {\n this.mapService.goToBBox(extent);\n }\n return extent;\n };\n\n /**\n * Zoom to features\n * \n * @param { Object } params\n * @param params.qgs_layer_id\n * @param params.feature\n * @param { boolean } params.highlight \n * \n * @returns { Promise } qgs_layer_id\n */\n async zoomtofeature(params = {}) {\n let {\n qgs_layer_id,\n feature,\n highlight = false,\n } = params;\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id });\n\n const response = await this.findFeaturesWithGeometry({\n qgs_layer_id,\n feature,\n zoom: true,\n highlight,\n });\n\n return response.qgs_layer_id;\n }\n\n}\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\nclass EditingService extends BaseIframeService {\n\n constructor() {\n super();\n\n this.pluginName = 'editing';\n\n this.subscribevents = [];\n \n this.isRunning = false;\n \n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null,\n };\n \n this.config = {\n tools: {\n add: {\n disabled:[\n { id: 'deletefeature' },\n { id: 'copyfeatures' },\n { id: 'editmultiattributes' },\n { id: 'deletePart' },\n { id: 'splitfeature' },\n { id: 'mergefeatures' },\n ]\n },\n update: {\n disabled: [\n { id: 'addfeature' },\n { id: 'copyfeatures' },\n { id: 'deletefeature' },\n { id: 'editmultiattributes' },\n { id: 'deletePart' },\n { id: 'splitfeature' },\n { id: 'mergefeatures' },\n ]\n },\n delete: {\n enabled: [\n { id:'deletefeature', options: { active: true } },\n ]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n this.subscribersHandlers = {\n\n canUndo:({ activeTool, disableToolboxes = [] }) => bool => {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n this.responseObject.qgs_layer_id = null;\n this.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(toolbox => toolbox.setEditing(!bool))\n },\n\n canRedo:() => {},\n\n //run callback\n cancelform:cb => () => { cb() },\n\n addfeature: ({ properties, toolboxes } = {}) => feature => {\n\n Object\n .keys(properties)\n .forEach(p => feature.set(p, properties[p]));\n\n let activeTool;\n const disableToolboxes = [];\n\n toolboxes\n .forEach(t => {\n const tool = t.getToolById('addfeature');\n if (tool.isActive()) {\n tool.setEnabled(false);\n activeTool = tool;\n } else {\n t.setEditing(false);\n disableToolboxes.push(t)\n }\n });\n\n // just one time\n if (this.subscribevents.find(e => 'canUndo' !== e.event)) {\n this.addSubscribeEvents('cancelform', this.addSubscribeEvents('canUndo', { activeTool, disableToolboxes }));\n }\n },\n\n closeeditingpanel: ({ qgs_layer_id }) => () => {\n // response to router service\n this.responseObject.cb({\n qgs_layer_id: this.responseObject.qgs_layer_id,\n error: this.responseObject.error,\n });\n // stop action\n this.stopAction({ qgs_layer_id });\n },\n\n };\n\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n async startAction({\n toolboxes,\n resolve,\n reject,\n }) {\n\n this.responseObject.cb = reject;\n\n // set same mode autosave\n this.dependencyApi.setSaveConfig({\n cb: {\n // called when commit changes are done successuffly\n done: toolbox => {\n //set toolbox id\n this.responseObject.cb = resolve;\n this.responseObject.qgs_layer_id = toolbox.getId();\n this.responseObject.error = null;\n // close panel that fire closeediting panel event\n this.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: (toolbox, error) => {\n this.responseObject.cb = reject;\n this.responseObject.qgs_layer_id = toolbox.getId();\n this.responseObject.error = error;\n },\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes });\n\n this.isRunning = true;\n }\n\n /**\n * run after each action\n */\n async stopAction(opts = {}) {\n if (opts.qgs_layer_id) {\n await this.stopEditing(opts.qgs_layer_id);\n }\n }\n\n /**\n * add subscribe refenrence\n */\n addSubscribeEvents(event, options = {}) {\n const handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event, handler });\n return handler;\n };\n\n /**\n * Reset subscriber editing plugin events\n */\n resetSubscribeEvents() {\n this.subscribevents.forEach(d => { this.dependencyApi.unsubscribe(d.event, d.handler); });\n };\n\n /**\n * Called whe we want to add a feature\n * \n * @param { Object } config\n * @param config.qgs_layer_id\n * @param config.properties\n * \n * @returns { Promise }\n */\n add(config = {}) {\n return new Promise(async (resolve, reject) => {\n // skip when ..\n if (this.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n const { qgs_layer_id: configQglLayerId, ...data } = config;\n const { properties } = data;\n\n const qgs_layer_id = this.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: this.dependencyApi.getEditableLayersId(),\n });\n\n // call method common\n await this.startAction({ toolboxes: qgs_layer_id, resolve, reject });\n\n // return all toolboxes\n const toolboxes = (\n await this.startEditing(qgs_layer_id, {\n tools: this.config.tools.add,\n startstopediting: false,\n action : 'add',\n selected: 1 === qgs_layer_id.length,\n })\n )\n .filter(p => 'fulfilled' === p.status)\n .map(p => p.value);\n\n /** @FIXME add description */\n if (!GUI.isSidebarVisible()) {\n GUI.showSidebar();\n }\n\n /** @FIXME add description */\n if (1 === toolboxes.length && toolboxes[0]) {\n toolboxes[0].setActiveTool(toolboxes[0].getToolById('addfeature'));\n }\n\n // in case of no feature add avent subscribe\n this.addSubscribeEvents('addfeature', { properties, toolboxes });\n this.addSubscribeEvents('closeeditingpanel', { qgs_layer_id })\n });\n }\n\n /**\n * Called when we want to update a know feature field\n * \n * @param config\n * \n * @returns { Promise }\n */\n async update(config = {}) {\n return new Promise(async (resolve, reject) => {\n // skip when ..\n if (this.isRunning) {\n return reject();\n }\n\n const { qgs_layer_id: configQglLayerId, ...data } = config;\n const { feature } = data;\n const qgs_layer_id = this.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: this.dependencyApi.getEditableLayersId()\n });\n\n const response = await this.findFeaturesWithGeometry({\n qgs_layer_id,\n feature,\n zoom: true,\n highlight: true,\n selected: 1 === qgs_layer_id.length // set selected toolbox\n });\n\n // skip when ..\n if (!response.found) {\n return reject();\n }\n\n await this.startAction({ toolboxes: [response.qgs_layer_id], resolve, reject });\n\n // return all toolboxes\n await this.startEditing([response.qgs_layer_id], {\n feature,\n tools: this.config.tools.update,\n startstopediting: false,\n action: 'update',\n });\n\n if (!GUI.isSidebarVisible()) {\n GUI.showSidebar();\n }\n\n this.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n }\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n delete() {}\n\n /**\n * Called when we want to start editing\n * \n * @param { Array } qgs_layer_id\n * @param { Object } options\n * \n * @returns { Promise< unknown | void > }\n */\n async startEditing(qgs_layer_id = [], options = {}) {\n const { action = 'add', feature } = options;\n const filter = {};\n options.filter = filter;\n switch (action) {\n case 'add': filter.nofeatures = true; break;\n case 'update': filter.field = `${feature.field}|eq|${feature.value}`; break;\n }\n const promises = [];\n qgs_layer_id.forEach(id => { promises.push(this.dependencyApi.startEditing(id, options)) });\n return await Promise.allSettled(promises);\n }\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n async stopEditing(qgs_layer_id) {\n const promises = [];\n qgs_layer_id.forEach(id => { promises.push(this.dependencyApi.stopEditing(id)); });\n await Promise.allSettled(promises);\n this.clear();\n }\n\n stop() {\n return new Promise(resolve => {\n this.dependencyApi.hidePanel();\n GUI.hideSidebar();\n this.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n clear() {\n this.dependencyApi.resetDefault();\n this.isRunning = false;\n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null,\n };\n this.resetSubscribeEvents();\n this.emit('clear');\n }\n\n}\n\nexport default new IframePluginService();", "export function toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1)\n}", "import ApplicationState from 'store/application';\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nexport function getListableProjects() {\n window.initConfig.projects\n return window.initConfig.projects.filter(p => {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (\n p.id === ApplicationState.project.getId() ||\n (window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject)\n ) {\n return false;\n }\n return p;\n }).sort((a, b) => (a.title || '').localeCompare(b.title));\n}", "/**\n * @param gid\n * \n * @returns {string}\n */\nexport function getProjectUrl(gid) {\n const project = window.initConfig.projects.find(p => gid === p.gid);\n try {\n return `${(new URL(window.initConfig.urls.baseurl))}${project.url}`;\n } catch(e) {\n console.warn(e);\n return `${location.origin}${window.initConfig.urls.baseurl}${project.url}`;\n }\n}", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n import ApplicationState from \"store/application\";\n\n const __vue_script__ = {\n name: \"SidebarItem\",\n data() {\n const { component } = this.$options;\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component,\n active: false,\n title: component.title || '',\n open: !!component.state.open,\n icon: component.icon,\n iconColor: component.iconColor,\n collapsible: false !== component.collapsible,\n actions: component.actions,\n sidebar : ApplicationState.gui.sidebar\n };\n },\n methods: {\n triggerAction(action, component) {\n action.fnc(component);\n },\n },\n\n mounted() {\n const opts = this.$options.opts || {};\n const sidebar = document.getElementById('g3w-sidebarcomponents');\n\n // append to `g3w-sidebarcomponents`\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n }\n \n // append to `g3w-sidebarcomponents` (by position)\n else {\n Array.from(sidebar.children).forEach((child, i) => {\n if (i === opts.position || child.id === opts.position) {\n child.insertAdjacentElement((!!opts.before || undefined === opts.before) ? 'beforebegin' : 'afterend', this.$el);\n }\n });\n }\n\n this.component.mount(this.$refs['component-placeholder']);\n\n // set component click handler\n this.component.click = ({ open = false } = {}) => {\n if (open) {\n ApplicationState.sidebar.components.forEach(comp => {\n if (comp !== this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n const node = this.component.getInternalComponent().$el;\n //@since 3.11.0 Need to add check of sidebar components, in case, for example, close\n // contents element and some sidebar component is related to it's close, for example, qplotly\n //a toggle menu open of
          \n if (node.classList) {\n node.classList.toggle('menu-open', open);\n }\n // toggle active of
        • element\n node.parentNode.classList.toggle('active', open);\n\n this.component.setOpen(open);\n\n };\n },\n\n }\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.component.state.visible),expression:\"component.state.visible\"},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.component.state.disabled),expression:\"component.state.disabled\"}],staticClass:\"treeview sidebaritem\",class:{'active': _vm.open },attrs:{\"id\":_vm.component.id}},[_c('bar-loader',{attrs:{\"loading\":_vm.component.state.loading}}),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebar.open ? '' : _vm.title),expression:\"sidebar.open ? '' : title\",arg:\"right\",modifiers:{\"create\":true}}],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"current-tooltip\":_vm.sidebar.open ? '' : _vm.title}},[_c('div',[(!_vm.sidebar.open)?_c('span',[_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })})]):_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticClass:\"treeview-label\"})]),_vm._v(\" \"),_c('div',[(_vm.info.state)?_c('span',{class:_vm.info.class,staticStyle:{\"position\":\"absolute\",\"right\":\"5px\",\"font-weight\":\"bold\"},style:(_vm.info.style),attrs:{\"title\":_vm.info.tooltip}},[_vm._v(_vm._s(_vm.info.state))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.actions),function(action){return _c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(action.tooltip),expression:\"action.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],key:action.id,staticClass:\"action skin-tooltip-left\",class:action.class,staticStyle:{\"font-weight\":\"bold\",\"padding\":\"3px\"},style:(action.style),on:{\"click\":function($event){$event.stopPropagation();return _vm.triggerAction(action, _vm.component.internalComponent)}}})})],2),_vm._v(\" \"),(_vm.collapsible)?_c('i',{staticClass:\"pull-right\",class:_vm.$fa('angle-left')}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"component-placeholder\"})],1)}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"SidebarItem.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * @TODO remove \"Vue.extend\" from module export\n */\nconst __vue_script__ = Vue.extend({\n\n /** @since 3.8.6 */\n name: 'form-header',\n\n props: {\n headers: {\n type: Array,\n default: []\n },\n currentid: {\n type: String\n },\n update: {\n type: Boolean\n },\n valid: {\n type: Boolean\n }\n },\n methods: {\n click(id) {\n /**\n * @deprecated since 3.6.2\n * This was used when form headers has more than one (case relation)\n */\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_header box-header with-border\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('section',{staticClass:\"g3wform_header_content\"},_vm._l((_vm.headers),function(header){return _c('span',{key:header.id,staticClass:\"title\",class:[{item_selected: _vm.currentid === header.id && _vm.headers.length > 1},[_vm.headers.length > 1 ? 'tabs' : 'one' ]],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},style:({fontSize: _vm.isMobile() && '1em !important'}),on:{\"click\":function($event){$event.stopPropagation();return _vm.click(header.id)}}},[(header.icon)?_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_c('i',{class:header.icon})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:(header.title),expression:\"header.title\",arg:\"pre\"}],staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(header.name))]),_vm._v(\" \"),_c(header.component,{tag:\"component\",attrs:{\"valid\":_vm.valid,\"update\":_vm.update}})],1)}),0)])}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FormHeader.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * @TODO remove \"Vue.extend\" from module export\n */\nconst __vue_script__ = Vue.extend({\n\n /** @since 3.8.6 */\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: () => {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data() {\n /**\n * need toget a deep copy of buttons\n * @type {T[]}\n */\n this.originalbuttons = this.state.buttons.map(button => ({\n ...button\n }));\n return {\n id: \"footer\",\n active: true,\n show: true,\n }\n },\n computed: {\n enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields): (function() { return this.state.fields})();\n },\n btnEnabled(button) {\n const { enabled = true, type } = button;\n return enabled && (type !== 'save' || (type === 'save' && this.enableSave));\n },\n isValid() {\n return this.state.valid;\n },\n },\n watch: {\n 'state.component'(component) {\n this.show = this.isRootComponent(component)\n },\n 'state.update': {\n immediate: true,\n handler(value) {\n this.state.buttons.find((button, index) => {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n this.state.buttons.splice(index,1, {\n ...button,\n ...button.eventButtons.update[value]\n })\n } else {\n this.state.buttons.splice(index,1, this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated() {\n this.active = true;\n },\n deactivated() {\n this.active = false;\n }\n});\n\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group g3wform_footer\"},[(_vm.show)?[_vm._t(\"default\",function(){return [_c('div',{staticStyle:{\"margin\":\"3px\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n * \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}]}),_vm._v(\" \"),(_vm.state.footer.message)?_c('div',{style:([_vm.state.footer.style])},[_vm._v(\"\\n \"+_vm._s(_vm.state.footer.message)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.state.buttons),function(button){return _c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.btnEnabled(button)),expression:\"!btnEnabled(button)\"},{name:\"t\",rawName:\"v-t\",value:(button.title),expression:\"button.title\"}],key:button.id,staticClass:\"btn\",class:[button.class],attrs:{\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.exec(button.cbk)}}})})]})]:[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"prevet\",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();return _vm.backToRoot.apply(null, arguments)}}})]],2)}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FormFooter.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport HeaderFormComponent from 'components/FormHeader.vue';\nimport G3wFormFooter from 'components/FormFooter.vue';\n\nconst __vue_script__ = {\n\n /** @since 3.8.6 */\n name: 'g3w-form',\n\n data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n }\n },\n components: {\n g3wformheader: HeaderFormComponent,\n G3wFormFooter\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent({ id, disabled = false }) {\n this.$options.service.disableComponent({\n id,\n disabled\n });\n },\n resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc)\n },\n switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n // set layout\n reloadLayout() {\n const height = $(this.$el).height();\n if (!height) { return };\n const footerDOM = $(this.$refs.g3w_form_footer.$el);\n const bodyFromDOM = $(this.$refs.g3wform_body);\n const footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n const bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n },\n },\n async updated() {\n await this.$nextTick();\n if (this.switchcomponent) { setTimeout(() => this.switchcomponent = false, 0) }\n },\n created() {\n this.$options.service.getEventBus().$on('set-main-component', () => {\n this.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', ({id, valid}) => {\n this.$options.service.setValidComponent({ id, valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted() {\n // check if is valid form (it used by footer component)\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_content\",staticStyle:{\"position\":\"relative\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}}),_vm._v(\" \"),_c('g3wformheader',{ref:\"g3wformheader\",attrs:{\"currentid\":_vm.state.currentheaderid,\"headers\":_vm.state.headers,\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"resize-form\":_vm.resizeForm,\"clickheader\":_vm.switchComponent}}),_vm._v(\" \"),_c('div',{ref:\"g3wform_body\",staticClass:\"g3wform_body\"},[_vm._l((_vm.body.components.before),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})}),_vm._v(\" \"),_c('keep-alive',[_c(_vm.state.component,{tag:\"component\",attrs:{\"handleRelation\":_vm.handleRelation,\"state\":_vm.state},on:{\"hook:activated\":_vm.reloadLayout,\"addtovalidate\":_vm.addToValidate,\"removetovalidate\":_vm.removeToValidate,\"changeinput\":_vm.changeInput}})],1),_vm._v(\" \"),_vm._l((_vm.body.components.after),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})})],2),_vm._v(\" \"),_c('g3w-form-footer',{ref:\"g3w_form_footer\",attrs:{\"isRootComponent\":_vm.isRootComponent,\"backToRoot\":_vm.backToRoot,\"state\":_vm.state}})],1)}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = undefined\n /* scoped */\n const __vue_scope_id__ = undefined\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"Form.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (false) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n )\n\n export default __vue_component__", "import ApplicationState from 'store/application';\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nexport function getCatalogLayerById(id) {\n return Object.values(ApplicationState.catalog).map(s => s.getLayerById(id)).find(l => l);\n}", "/**\n * @file\n * @since v3.7\n */\n\nimport { getCatalogLayerById } from 'utils/getCatalogLayerById';\n\nexport default {\n methods: {\n async autocompleteRequest({ layerId, field, value } = {}) {\n let data = [];\n try {\n data = await getCatalogLayerById(layerId).getFilterData({\n suggest: `${field}|${value}`,\n unique: field\n })\n } catch(e) {\n console.warn(e);\n }\n return data.map(value => ({ id: value, text: value }))\n }\n }\n};", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nconst __vue_script__ = {\n name: \"field\",\n props: ['state']\n}\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.state.label)?_c('div',{staticClass:\"col-sm-6 field_label\"},[_vm._t(\"label\",function(){return [_vm._v(_vm._s(_vm.state.label))]})],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"field_value\",class:[_vm.state.label ? 'col-sm-6' : null ]},[_vm._t(\"field\",function(){return [_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})]})],2)])}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-6e3a094b_0\", { source: \".field[data-v-6e3a094b]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6e3a094b]{position:relative}.field div[data-v-6e3a094b]{padding-left:3px}.field_value button[data-v-6e3a094b]{margin-right:5px}.field_value[data-v-6e3a094b]{padding-left:0!important;padding-right:8px;text-align:right}\", map: undefined, media: undefined })\n\n }\n /* scoped */\n const __vue_scope_id__ = \"data-v-6e3a094b\"\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"Field.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (true) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n function __vue_create_injector__() {\n const styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {})\n const isOldIE =\n typeof navigator !== 'undefined' &&\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase())\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return // SSR styles are present.\n\n const group = isOldIE ? css.media || 'default' : id\n const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined })\n\n if (!style.ids.includes(id)) {\n let code = css.source\n let index = style.ids.length\n\n style.ids.push(id)\n\n if (true && css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n code +=\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\n ' */'\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']')\n }\n\n if (!style.element) {\n const head = document.head || document.getElementsByTagName('head')[0]\n const el = style.element = document.createElement('style')\n el.type = 'text/css'\n\n if (css.media) el.setAttribute('media', css.media)\n if (isOldIE) {\n el.setAttribute('data-group', group)\n el.setAttribute('data-next-index', '0')\n }\n\n head.appendChild(el)\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'))\n style.element.setAttribute('data-next-index', index + 1)\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code)\n style.element.styleSheet.cssText = style.parts\n .filter(Boolean)\n .join('\\n')\n } else {\n const textNode = document.createTextNode(code)\n const nodes = style.element.childNodes\n if (nodes[index]) style.element.removeChild(nodes[index])\n if (nodes.length) style.element.insertBefore(textNode, nodes[index])\n else style.element.appendChild(textNode)\n }\n }\n }\n }\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n __vue_create_injector__,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n\nimport Field from 'components/Field.vue';\n\nconst __vue_script__ = {\n\n /** @since 3.8.6 */\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field\n },\n\n created() {},\n\n};\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-18457c68_0\", { source: \".field_text_table[data-v-18457c68]{background-color:transparent!important}.field_text_table .field_label[data-v-18457c68]{font-weight:700}\", map: undefined, media: undefined })\n\n }\n /* scoped */\n const __vue_scope_id__ = \"data-v-18457c68\"\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FieldText.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (true) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n function __vue_create_injector__() {\n const styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {})\n const isOldIE =\n typeof navigator !== 'undefined' &&\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase())\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return // SSR styles are present.\n\n const group = isOldIE ? css.media || 'default' : id\n const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined })\n\n if (!style.ids.includes(id)) {\n let code = css.source\n let index = style.ids.length\n\n style.ids.push(id)\n\n if (true && css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n code +=\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\n ' */'\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']')\n }\n\n if (!style.element) {\n const head = document.head || document.getElementsByTagName('head')[0]\n const el = style.element = document.createElement('style')\n el.type = 'text/css'\n\n if (css.media) el.setAttribute('media', css.media)\n if (isOldIE) {\n el.setAttribute('data-group', group)\n el.setAttribute('data-next-index', '0')\n }\n\n head.appendChild(el)\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'))\n style.element.setAttribute('data-next-index', index + 1)\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code)\n style.element.styleSheet.cssText = style.parts\n .filter(Boolean)\n .join('\\n')\n } else {\n const textNode = document.createTextNode(code)\n const nodes = style.element.childNodes\n if (nodes[index]) style.element.removeChild(nodes[index])\n if (nodes.length) style.element.insertBefore(textNode, nodes[index])\n else style.element.appendChild(textNode)\n }\n }\n }\n }\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n __vue_create_injector__,\n undefined,\n undefined\n )\n\n export default __vue_component__", "/* script */\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport Field from 'components/Field.vue';\n\nconst __vue_script__ = {\n\n /** @since 3.8.6 */\n name: \"field-link\",\n\n props: ['state'],\n data() {\n return {\n value: null\n }\n },\n components: {\n Field\n },\n methods: {\n openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created() {\n this.value = this.state.value && typeof this.state.value === 'object' ? this.state.value.value : this.state.value;\n }\n};\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.link_button'),expression:\"'info.link_button'\"}],staticClass:\"btn skin-button field_link\",attrs:{\"slot\":\"field\",\"title\":_vm.value},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLink(_vm.value)}},slot:\"field\"})])}\nvar __vue_staticRenderFns__ = []\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-145d6e0c_0\", { source: \".field_link[data-v-145d6e0c]{max-width:100%}\", map: undefined, media: undefined })\n\n }\n /* scoped */\n const __vue_scope_id__ = \"data-v-145d6e0c\"\n /* module identifier */\n const __vue_module_identifier__ = undefined\n /* functional template */\n const __vue_is_functional_template__ = false\n /* component normalizer */\n function __vue_normalize__(\n template, style, script,\n scope, functional, moduleIdentifier, shadowMode,\n createInjector, createInjectorSSR, createInjectorShadow\n ) {\n const component = (typeof script === 'function' ? script.options : script) || {}\n\n // For security concerns, we use only base name in production mode.\n component.__file = \"FieldLink.vue\"\n\n if (!component.render) {\n component.render = template.render\n component.staticRenderFns = template.staticRenderFns\n component._compiled = true\n\n if (functional) component.functional = true\n }\n\n component._scopeId = scope\n\n if (true) {\n let hook\n if (false) {\n // In SSR.\n hook = function(context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context))\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n component._ssrRegister = hook\n }\n else if (style) {\n hook = shadowMode \n ? function(context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot))\n }\n : function(context) {\n style.call(this, createInjector(context))\n }\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n const originalRender = component.render\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n const existing = component.beforeCreate\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n }\n\n return component\n }\n /* style inject */\n function __vue_create_injector__() {\n const styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {})\n const isOldIE =\n typeof navigator !== 'undefined' &&\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase())\n\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return // SSR styles are present.\n\n const group = isOldIE ? css.media || 'default' : id\n const style = styles[group] || (styles[group] = { ids: [], parts: [], element: undefined })\n\n if (!style.ids.includes(id)) {\n let code = css.source\n let index = style.ids.length\n\n style.ids.push(id)\n\n if (true && css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n code +=\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\n ' */'\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']')\n }\n\n if (!style.element) {\n const head = document.head || document.getElementsByTagName('head')[0]\n const el = style.element = document.createElement('style')\n el.type = 'text/css'\n\n if (css.media) el.setAttribute('media', css.media)\n if (isOldIE) {\n el.setAttribute('data-group', group)\n el.setAttribute('data-next-index', '0')\n }\n\n head.appendChild(el)\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'))\n style.element.setAttribute('data-next-index', index + 1)\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code)\n style.element.styleSheet.cssText = style.parts\n .filter(Boolean)\n .join('\\n')\n } else {\n const textNode = document.createTextNode(code)\n const nodes = style.element.childNodes\n if (nodes[index]) style.element.removeChild(nodes[index])\n if (nodes.length) style.element.insertBefore(textNode, nodes[index])\n else style.element.appendChild(textNode)\n }\n }\n }\n }\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/__vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n __vue_create_injector__,\n undefined,\n undefined\n )\n\n export default __vue_component__", "//\n//\n//\n//\n//\n//\n\nvar script = {\n name: 'teleport',\n props: {\n to: {\n type: String,\n required: true,\n },\n where: {\n type: String,\n default: 'after',\n },\n disabled: Boolean,\n },\n data: function data() {\n return {\n nodes: [],\n waiting: false,\n observer: null,\n parent: null,\n };\n },\n watch: {\n to: 'maybeMove',\n where: 'maybeMove',\n disabled: function disabled(value) {\n var this$1 = this;\n\n if (value) {\n this.disable();\n // Ensure all event done.\n this.$nextTick(function () {\n this$1.teardownObserver();\n });\n } else {\n this.bootObserver();\n this.move();\n }\n },\n },\n mounted: function mounted() {\n // Store a reference to the nodes\n this.nodes = Array.from(this.$el.childNodes);\n\n if (!this.disabled) {\n this.bootObserver();\n }\n\n // Move slot content to target\n this.maybeMove();\n },\n beforeDestroy: function beforeDestroy() {\n // Fix nodes reference\n this.nodes = this.getComponentChildrenNode();\n\n // Move back\n this.disable();\n\n // Stop observing\n this.teardownObserver();\n },\n computed: {\n classes: function classes() {\n if (this.disabled) {\n return ['teleporter'];\n }\n\n return ['teleporter', 'hidden'];\n },\n },\n methods: {\n maybeMove: function maybeMove() {\n if (!this.disabled) {\n this.move();\n }\n },\n move: function move() {\n this.waiting = false;\n\n this.parent = document.querySelector(this.to);\n\n if (!this.parent) {\n this.disable();\n\n this.waiting = true;\n\n return;\n }\n\n if (this.where === 'before') {\n this.parent.prepend(this.getFragment());\n } else {\n this.parent.appendChild(this.getFragment());\n }\n },\n disable: function disable() {\n this.$el.appendChild(this.getFragment());\n this.parent = null;\n },\n // Using a fragment is faster because it'll trigger only a single reflow\n // See https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment\n getFragment: function getFragment() {\n var fragment = document.createDocumentFragment();\n\n this.nodes.forEach(function (node) { return fragment.appendChild(node); });\n\n return fragment;\n },\n onMutations: function onMutations(mutations) {\n var this$1 = this;\n\n // Makes sure the move operation is only done once\n var shouldMove = false;\n\n for (var i = 0; i < mutations.length; i++) {\n var mutation = mutations[i];\n var filteredAddedNodes = Array.from(mutation.addedNodes).filter(function (node) { return !this$1.nodes.includes(node); });\n\n if (Array.from(mutation.removedNodes).includes(this.parent)) {\n this.disable();\n this.waiting = !this.disabled;\n } else if (this.waiting && filteredAddedNodes.length > 0) {\n shouldMove = true;\n }\n }\n\n if (shouldMove) {\n this.move();\n }\n },\n bootObserver: function bootObserver() {\n var this$1 = this;\n\n if (this.observer) {\n return;\n }\n\n this.observer = new MutationObserver(function (mutations) { return this$1.onMutations(mutations); });\n\n this.observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: false,\n characterData: false,\n });\n\n if (this.childObserver) {\n return;\n }\n // watch childNodes change\n this.childObserver = new MutationObserver(function (mutations) {\n var childChangeRecord = mutations.find(function (i) { return i.target === this$1.$el; });\n if (childChangeRecord) {\n // Remove old nodes before update position.\n this$1.nodes.forEach(function (node) { return node.parentNode && node.parentNode.removeChild(node); });\n this$1.nodes = this$1.getComponentChildrenNode();\n this$1.maybeMove();\n }\n });\n\n this.childObserver.observe(this.$el, {\n childList: true,\n subtree: false,\n attributes: false,\n characterData: false,\n });\n },\n teardownObserver: function teardownObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n if (this.childObserver) {\n this.childObserver.disconnect();\n this.childObserver = null;\n }\n },\n getComponentChildrenNode: function getComponentChildrenNode() {\n return this.$vnode.componentOptions.children\n .map(function (i) { return i.elm; })\n .filter(function (i) { return i; });\n },\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return function (id, style) { return addStyle(id, style); };\r\n}\r\nvar HEAD;\r\nvar styles = {};\r\nfunction addStyle(id, css) {\r\n var group = isOldIE ? css.media || 'default' : id;\r\n var style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n var code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n { style.element.setAttribute('media', css.media); }\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n var index = style.ids.size - 1;\r\n var textNode = document.createTextNode(code);\r\n var nodes = style.element.childNodes;\r\n if (nodes[index])\r\n { style.element.removeChild(nodes[index]); }\r\n if (nodes.length)\r\n { style.element.insertBefore(textNode, nodes[index]); }\r\n else\r\n { style.element.appendChild(textNode); }\r\n }\r\n }\r\n}\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\"div\", { class: _vm.classes }, [_vm._t(\"default\")], 2)\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n\n /* style */\n var __vue_inject_styles__ = function (inject) {\n if (!inject) { return }\n inject(\"data-v-50f4b45b_0\", { source: \".hidden[data-v-50f4b45b] {\\n visibility: hidden;\\n display: none;\\n}\\n\\n/*# sourceMappingURL=Teleport.vue.map */\", map: {\"version\":3,\"sources\":[\"/home/shodan/Projects/vue2-teleport/src/Teleport.vue\",\"Teleport.vue\"],\"names\":[],\"mappings\":\"AA2LA;EACA,kBAAA;EACA,aAAA;AC1LA;;AAEA,uCAAuC\",\"file\":\"Teleport.vue\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\",\".hidden {\\n visibility: hidden;\\n display: none;\\n}\\n\\n/*# sourceMappingURL=Teleport.vue.map */\"]}, media: undefined });\n\n };\n /* scoped */\n var __vue_scope_id__ = \"data-v-50f4b45b\";\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n createInjector,\n undefined,\n undefined\n );\n\n// Taken from https://vuejs.org/v2/cookbook/packaging-sfc-for-npm.html\n\n// Declare install function executed by Vue.use()\nfunction install (Vue) {\n if (install.installed) { return; }\n\n install.installed = true;\n Vue.component('Teleport', __vue_component__);\n}\n\n// Create module definition for Vue.use()\nvar plugin = {\n install: install,\n};\n\n// Auto-install when vue is found (eg. in browser via